summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-14ProcessManager: Keep /proc/all open to reduce CPU impact of ProcessManager.Andreas Kling
2019-05-14GEventLoop: Rename s_event_fd => s_windowserver_fd.Andreas Kling
2019-05-14malloc: Make it possible to recycle big allocation blocks as well.Andreas Kling
This patch makes us recycle up to 8 blocks of 4KB size. This should probably be extended to handle other sizes.
2019-05-14LibCore: Avoid a big malloc in CIODevice's internal buffering.Andreas Kling
This heap allocation was totally avoidable and can be replaced by a stack buffer instead. Dodges a bunch of mmap() traffic.
2019-05-14Kernel: Make allocate_kernel_region() commit the region automatically.Andreas Kling
This means that kernel regions will eagerly get physical pages allocated. It would be nice to zero-fill these on demand instead, but that would require a bunch of MemoryManager changes.
2019-05-14AK: InlineLRUCache was always filling up one short of capacity.Andreas Kling
2019-05-14Kernel: Signal stacks are lazily allocated so don't crash in getter.Andreas Kling
2019-05-14Kernel: Allocate kernel signal stacks using the region allocator as well.Andreas Kling
2019-05-14Kernel: Allocate kernel stacks for threads using the region allocator.Andreas Kling
This patch moves away from using kmalloc memory for thread kernel stacks. This reduces pressure on kmalloc (16 KB per thread adds up fast) and prevents kernel stack overflow from scribbling all over random unrelated kernel memory.
2019-05-14Kernel: Have Lock dump backtrace on lock-while-interrupts-disabled error.Andreas Kling
2019-05-13WindowServer+LibGUI: Handle mouse wheel deltas in the mouse event stream.Andreas Kling
The wheel events will end up in GWidget::mousewheel_event(GMouseEvent&) on the client-side. This patch also implements basic wheel scrolling in GScrollableWidget via this mechanism. :^)
2019-05-13Kernel: Add support for the PS/2 mouse wheel if detected.Andreas Kling
2019-05-13Fix "make clean" not deleting app binaries.Andreas Kling
2019-05-13Feature/pidof (#31)GuillaumeGas
* Added killall command * Fixed feedbacks of awesomekling * Implemented pidof program and helper to parse arguments called ArgsParser. * Fixed feedbacks in pidof implem. Fixes #26
2019-05-13RetroFetch: Add a silly neofetch-like program.Andreas Kling
The idea is to print out various system info suitable for screenshots. :^)
2019-05-13LibC+Shell: Make system() actually work.Andreas Kling
system() will now fork off a child process and execute the command via /bin/sh -c. There are probably some things to fix here, but it's a start.
2019-05-13WindowServer: Don't add maximize button to non-resizable windows.Andreas Kling
The minimize button can stay though, since it doesn't change the window size, just the visibility. :^)
2019-05-13WindowServer: Make the ordering in the window switcher a bit more sane.Andreas Kling
2019-05-12WindowServer: Rearrange minimize/maximize/close buttons (in that order.)Andreas Kling
2019-05-12WindowServer: Add a maximize/unmaximize button to windows.Andreas Kling
2019-05-12Change String&& arguments to const String& in a couple of places.Andreas Kling
String&& is more nuisance than anything, and the codegen improvement is basically negligible since the underlying type is already retainable.
2019-05-12WindowServer: Show downscaled window thumbnails in the window switcher.Andreas Kling
2019-05-11Painter: Always optimize with -O3.Andreas Kling
Use a GCC #pragma to always optimize the Painter code with -O3. This code is performance critical and hotter than anything else in the system, and this helps quite a bit. The 2x, 3x and 4x upscaling fast paths benefit greatly from this.
2019-05-11Painter: Simplify the draw_scaled_bitmap() fast path for integer scale.Andreas Kling
Iterate over the source image instead of the destination image, and blow it up pixel by pixel. This code will only run for upscaling so we don't need to worry about anything else.
2019-05-11Painter: Fix typo in 4x scaling fast path.Andreas Kling
2019-05-11Painter: Add a fast path for draw_scaled_bitmap() with integer scale.Andreas Kling
When both the x and y scale factors are integers, we can avoid a whole bunch of the pixel lookups in the source image. This makes 2x scaling a 320x200 bitmap another ~25% faster. :^)
2019-05-11Painter: Templatize the inner loop of draw_scaled_bitmap().Andreas Kling
Use templates to specialize draw_scaled_bitmap() so we don't have to blend() for source without alpha, and also inline the GraphicsBitmap::get_pixel() logic so we don't have to branch on the bitmap format on every iteration. This is another ~30% speedup on top of the previous changes. :^)
2019-05-11StylePainter: Remove some unused variables.Andreas Kling
2019-05-11Fix some more victims of the new default layout spacing.Andreas Kling
2019-05-11Painter: Improve draw_scaled_bitmap() performance.Andreas Kling
- Removed extra bounds checking. - Converted it to use integer math for the scale factors. - Using blend() for everything. Patch contributed by "pd"
2019-05-11VisualBuilder: Tweak margins in properties window.Andreas Kling
2019-05-11FileManager: Tweak layout spacing (new default looks weird here.)Andreas Kling
This app needs a layout rethink, but for now I'm just fixing breakage.
2019-05-11Terminal: Give the terminal widget a sunken container look.Andreas Kling
This blends perfectly with the new window frames. :^)
2019-05-11WindowServer: Improve window frames by giving them a raised frame look. :^)Andreas Kling
2019-05-11GTableView: Update content size immediately on column show/hide.Andreas Kling
2019-05-11GTableView: Don't include hidden columns in content width.Andreas Kling
2019-05-11IRCClient: Tweak appearance.Andreas Kling
2019-05-10ProcessManager: Tweak appearance (spacing, margins..)Andreas Kling
2019-05-10GLayout: Default to 4 pixels of spacing().Andreas Kling
2019-05-10GToolBar: Make the framed appearance optional.Andreas Kling
2019-05-10LibGUI+WindowServer: Improve checkmark appearance.Andreas Kling
2019-05-10GDialog: If no parent window is provided, center dialog on screen.Andreas Kling
2019-05-10About: Center the window on screen and make it non-resizable.Andreas Kling
2019-05-10GTableView: Headers were not usable when the view was scrolled.Andreas Kling
2019-05-10GTableView: Make it possible to hide/show columns from a context menu.Andreas Kling
Show a context menu when right clicking the headers of a GTableView, and allow the user to hide/show individual columns.
2019-05-10LibCore: Using printf() inside CIODevices will now call CIODevice::printf().Andreas Kling
Well this was confusing. Obviously this code should never be calling outside to ::printf() anyway, so just use dbgprintf() instead.
2019-05-10IPv4: Default initialize IPv4Address to 0.0.0.0.Andreas Kling
IPv4Address() didn't initialize which made for some confusing debugging.
2019-05-10Shell: Add "umask" builtin for reading/writing the shell's umask.Andreas Kling
2019-05-10LibC: Oops, I forgot to commit sys/uio.{cpp,h} yesterday.Andreas Kling
2019-05-10Kernel: Add a writev() syscall for writing multiple buffers in one go.Andreas Kling
We then use this immediately in the WindowServer/LibGUI communication in order to send both message + optional "extra data" with a single syscall.