Commit graph

2591 commits

Author SHA1 Message Date
Robin Burchell a942fa2ed3 Add .travis.yml 2019-05-28 17:04:09 +02:00
Andreas Kling 246dd93fe9 Ports: Add GNU binutils. 2019-05-28 16:26:39 +02:00
Andreas Kling 631894279b LibC: Make dlfcn stubs extern "C" like the outside world expects. 2019-05-28 14:30:55 +02:00
Andreas Kling ab9db3a717 LibC: Move size_t, ptrdiff_t and NULL to stddef.h. #POSIX 2019-05-28 14:29:51 +02:00
Andreas Kling cbd858544d LibC: Move struct timeval to sys/time.h. #POSIX 2019-05-28 13:48:06 +02:00
Andreas Kling 16ea34fc12 Kernel: Remove accidentally committer .orig file. 2019-05-28 13:17:27 +02:00
Andreas Kling 854598bc46 Documentation: Remove some irrelevant things from the coding style.
This was adapted from the WebKit coding style docs, but some parts of it
don't make sense for Serenity.
2019-05-28 11:43:28 +02:00
Andreas Kling fc3732759d Documentation: Import an attempt at describing the project coding style. 2019-05-28 11:40:44 +02:00
Robin Burchell 335d0e52a4 Ports: Replace run_command use in bash with a run_replace_in_file helper
This way, we don't (in the ports themselves) depend on perl as a public
interface, which means if we ever have to, we can port to something else easier.
2019-05-28 11:03:18 +02:00
Robin Burchell 2b1a52745e Ports: Remove MAKEOPTS hacks from bash
This doesn't seem to go wrong anymore.
2019-05-28 11:03:18 +02:00
Robin Burchell 9a284ad3f7 Move everything to a subdirectory
Also don't run cd for the initial git clone (DERP!), and other bash port fixes.
2019-05-28 03:07:18 +02:00
Robin Burchell b12a096437 Add WIP bash port 2019-05-28 02:45:54 +02:00
Robin Burchell 19afcfe03c port_include: Various updates
* Prints what is run, which is useful for trace purposes.
* Fix autotools configure to respect arguments
* Add run_patch for applying patches
2019-05-28 02:45:54 +02:00
Robin Burchell 5c82d14128 Add the start of a simple ports infrastructure 2019-05-28 00:21:14 +02:00
Robin Burchell 9947ee9566 Shell: Allow * and ? wildcard expansion in arguments
Should also presumably allow for escaping and such, but this is a start.
Fixes #112.
2019-05-28 00:17:39 +02:00
Andreas Kling 4040c6137d TextEditor: Fix window title when starting with an empty document. 2019-05-27 23:33:47 +02:00
Andreas Kling ca4d65ba59 LibGUI: Add a GListView widget.
GListView displays a single column of data from a GModel.
2019-05-27 21:44:39 +02:00
Christopher Dumas 77185c1541 fixed ini WM config 2019-05-27 21:40:53 +02:00
Christopher Dumas 3e26faa226 removed extra impl of scaling 2019-05-27 21:40:53 +02:00
Christopher Dumas da9c70598f centered backgrounds are now an option 2019-05-27 21:40:53 +02:00
Christopher Dumas aa50e5bb13 tiled backgrounds no longer has strange off-by-one pixel errors 2019-05-27 21:40:53 +02:00
Christopher Dumas c23882dde1 can now tile background and made sure the IRC choose server popup still works 2019-05-27 21:40:53 +02:00
Christopher Dumas 50154a23cb most apps now begin in the correct directory 2019-05-27 21:40:53 +02:00
Christopher Dumas e3f81bce49 IRC client setttings, Terminal settings, more WM settings 2019-05-27 21:40:53 +02:00
Christopher Dumas 63486b8438 implemented settings for window manager. 2019-05-27 21:40:53 +02:00
Christopher Dumas d4a16d6031 Network stack is now configurable, and resolution is also configurable, but loading cursors causes a page-fault? 2019-05-27 21:40:53 +02:00
Robin Burchell 9d2b08e06e LibCore: Add CDirIterator, and use it in everything rather than readdir 2019-05-27 15:27:23 +02:00
Andreas Kling f352a5094d ls: Fix build and tidy up coding style. 2019-05-27 15:04:23 +02:00
faissaloo f28cc2e2e0 Ls: Cleanup 2019-05-27 14:53:16 +02:00
faissaloo 4c410f3de6 Ls: Support multiple files 2019-05-27 14:53:16 +02:00
faissaloo 776a359a17 Ls: Support single files in long mode 2019-05-27 14:53:16 +02:00
faissaloo fee686e2cd Ls: Refactor long directory listings 2019-05-27 14:53:16 +02:00
faissaloo 07c356ce64 Ls: Add single file support in short mode 2019-05-27 14:53:16 +02:00
Andreas Kling b311257098 Applications: Let's put spaces in app names
"FileManager" => "File Manager"
"FontEditor" => "Font Editor"
"ProcessManager" => "Process Manager"
"TextEditor" => "Text Editor"
2019-05-27 13:52:28 +02:00
Andreas Kling 12120167a9 AK: Add ensure_capacity() for HashMap and HashTable.
These functions make sure that the underlying table can accomodate at least
'capacity' entries before needing a rehash.
2019-05-27 13:07:20 +02:00
Andreas Kling 4fb2e5d8af SharedGraphics: Make Rect::shatter() return a Vector<Rect, 4>.
We know that shatter() will never return more than four rects, so we can
use vector inline capacity to always avoid heap allocation here.
2019-05-27 12:50:18 +02:00
Andreas Kling 3873c51781 LibCore: Add CObject::for_each_child_of_type<T>()
Use this to iterate over all the GRadioButtons in a group.
2019-05-27 04:18:24 +02:00
Andreas Kling 0c85d3dba9 LibCore+LibGUI: Add is<T>(CObject&) and to<T>(CObject&) helpers. 2019-05-27 04:06:01 +02:00
Andreas Kling 723ba91f74 LibGUI: Add GWidget::for_each_child_widget(callback). 2019-05-27 03:52:33 +02:00
Andreas Kling 906fde8f8c LibCore: Add CObject::for_each_child(callback). 2019-05-27 03:52:19 +02:00
Andreas Kling 3654c33c56 GFilePicker: Add a preview pane on the right-hand side for image previews.
Currently the preview pane is always open, but maybe it should be something
you can configure, or something that happens automagically.
2019-05-27 01:55:04 +02:00
Andreas Kling 5ba2dba392 FileSystemPath: Add a has_extension() helper.
This code:

    if (path.string().to_lowercase().ends_with(".foo"))

Can now be written as:

    if (path.has_extension(".foo"))
2019-05-27 01:53:42 +02:00
faissaloo 6ac8aab941 GFilePicker: Return paths as FileSystemPath rather than String 2019-05-26 22:52:09 +02:00
Robin Burchell 9b86eb9fad WSCompositor: Allow a compose to bypass the timer when it first happens
d66fa60fcf introduced the use of a timer
to coalesce screen updates. This is OK, but it does introduce update
latency.

To help mitigate the impact of this, we now have a second (immediate)
timer. When a compose pass is first triggered, the immediate timer will
allow the compose to happen on the next spin of the event loop (so, only
coalescing updates across a single event loop pass). Any updates that
trigger while the delayed timer is running, though, will be delayed to
that (~60fps) timer.

This fixes #103.
2019-05-26 18:22:33 +02:00
Robin Burchell 8df3e2516f CEventLoop: Make it possible to determine running/quit state without using exec()
... by removing a redundant member that nothing uses (running), and
exposing whether or not quit has been requested.
2019-05-26 18:17:40 +02:00
Andreas Kling bb288c1baf IDEDiskDevice: Implement basic DMA writes.
This could share more code with reads, and generally be better. But it works
and it's considerably faster than PIO, so let's use it. :^)
2019-05-26 14:58:21 +02:00
Andreas Kling dd595fe865 Shell: A '>' redirection target should be truncated. 2019-05-26 14:57:12 +02:00
Robin Burchell d66fa60fcf WSCompositor: Use a timer to schedule compose rather than an event
Really poor man's vsync. Still not actual vsync, but at least we won't
constantly spin buffers if we get many dirty rects.
2019-05-26 04:10:05 +02:00
Faissal Bensefia 411cdf067b AK: Implement String::to_int (#99) 2019-05-26 04:08:36 +02:00
Robin Burchell 79dba9a545 WSEventLoop: Don't assert when being told to construct a crazy window type
Seriously non-cool :(
2019-05-26 03:41:53 +02:00