Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-04-26 | LibGUI: Track double-clicking per individual mouse button. | Andreas Kling | |
Clicking two separate buttons in quick succession shouldn't be interpreted as a double click. | |||
2019-04-26 | sh: Add a simple "export" command for setting environment variables. | Andreas Kling | |
2019-04-26 | LibC: Add execvpe() and make execvp()'ed children inherit environment. | Andreas Kling | |
2019-04-26 | LibCore: Make it possible to create a CFile for an existing file descriptor. | Andreas Kling | |
2019-04-26 | Userland: Add a simple /bin/tr program. | Andreas Kling | |
2019-04-26 | Userland: Add a simple /bin/sort program. | Andreas Kling | |
2019-04-26 | Userland: Add a simple /bin/head program. | Andreas Kling | |
2019-04-26 | LibC: Update stdio stream error state in more places. | Andreas Kling | |
2019-04-25 | Kernel: Don't count kfree(nullptr) as a call to kfree(). | Andreas Kling | |
This was causing the kmalloc/kfree call delta to accumulate errors. | |||
2019-04-25 | sh: Make "cd" jump to the home directory. And also let's set $HOME. | Andreas Kling | |
Nobody else is setting $HOME right now, so we might as well do it here. This should eventually be done by some sort of "login" program. | |||
2019-04-25 | sh: Support erasing a whole word with WERASE (^W). | Andreas Kling | |
2019-04-25 | GTextEditor: Add very basic automatic indentation. | Andreas Kling | |
This is off by default, but enabled by TextEditor. It simply inserts the same number of leading spaces as the previous line when hitting Enter. :^) | |||
2019-04-25 | GTableView: Double-click should only activate/edit valid indices. | Andreas Kling | |
2019-04-25 | GTextEditor: Double-clicking on a word should select that word. | Andreas Kling | |
2019-04-25 | Kernel: Add a write cache to DiskBackedFS. | Andreas Kling | |
This way you can spam small write()s on a file without the kernel writing to disk every single time. Flushes are included in the FS::sync() operation and will get triggered regularly by syncd. :^) | |||
2019-04-25 | Ext2FS: Reduce debug spam in block allocation. | Andreas Kling | |
2019-04-25 | WindowServer: Ignore title change notifications for non-normal windows. | Andreas Kling | |
2019-04-25 | sh: Add support for redirecting stdin and stdout with < and >. | Andreas Kling | |
This is certainly about time. The kernel has had all the necessary support in place for months, and I just kept postponing working on the shell. :^) | |||
2019-04-25 | cat: Just use fd 0 when no arguments are passed. | Andreas Kling | |
I'm not sure why it seemed necessary at some point to open /dev/stdin rather than simply using the already-open fd 0. | |||
2019-04-25 | Kernel: Dump stack trace when kmalloc() fails. | Andreas Kling | |
2019-04-25 | sh: Refactor command parsing into a separate class. | Andreas Kling | |
2019-04-25 | sh: Add basic command piping support. | Andreas Kling | |
2019-04-25 | fgrep: Don't repeat old incoming data if fgets() failed. | Andreas Kling | |
2019-04-25 | Kernel: Make it possible to look up FIFO's by ID. | Andreas Kling | |
This will be useful when implementing the /proc/PID/fd/N links where N is a file descriptor referring to a FIFO. | |||
2019-04-25 | Userland: Add a simple /bin/echo program. | Andreas Kling | |
2019-04-25 | GTextEditor: Improve cursor positioning accuracy when using a mouse. | Andreas Kling | |
Put the cursor on the left or right side of a glyph when clicking it based on distance to middle of glyphs. This is such an obvious change that makes a small but noticeable difference in feel. :^) | |||
2019-04-25 | GTextEditor: Go a little past the cursor for Home/End scroll-into-view. | Andreas Kling | |
When jumping to the start of a line, or to the end of a line, scrolling two pixels past the end yields a pleasant effect. | |||
2019-04-25 | GTextEditor: Always call did_change() before set_cursor(). | Andreas Kling | |
This is not very obvious and I need to come up with a better design, but for now just make sure to call did_change() before calling set_cursor(). This is needed because set_cursor() will try to scroll the cursor into view, and for right-aligned text, did_change() may change the content rect which needs to be reflected by the time we call scroll_cursor_into_view(). | |||
2019-04-25 | GTextEditor: Account for the GFrame border in the painting code. | Andreas Kling | |
We were forgetting to translate the painter by the frame_thickness(). With this fixed, we can also do proper vertical centering of lines for single-line editors, and things suddenly look nicer than ever! :^) | |||
2019-04-25 | GScrollableWidget: The visible_content_rect() should be max content_size(). | Andreas Kling | |
When computing the visible content rect, constrain the result to the content size. The content shouldn't feel responsible for painting anything outside. | |||
2019-04-24 | SharedGraphics: Add is_right_text_alignment(TextAlignment) helper. | Andreas Kling | |
This seems a tad bit more future-proof than manually checking all the valid right-side TextAlignment values in clients. | |||
2019-04-24 | GTextEditor: Expand the content "to-fill" for right aligned text. | Andreas Kling | |
When using a right-side text alignment, hook the resize event to make sure that the content width is at least frame_inner_rect().width() wide. This allows us to use content_width() as the anchor point for right aligned text, rather than using the frame inner rect, which was clearly wrong in the overflow case. | |||
2019-04-24 | GTextEditor: Make the line_widget_rect() span the widget horizontally. | Andreas Kling | |
2019-04-24 | GTextEditor: Turn off the ruler by default. | Andreas Kling | |
You're usually not gonna want the ruler. TextEditor can enable it manually. | |||
2019-04-24 | GTextEditor: Fix line_content_rect() behavior with custom alignments. | Andreas Kling | |
2019-04-24 | GTextEditor: Add support for different text alignments. | Andreas Kling | |
Currently only CenterLeft and CenterRight are supported, but it would be very straightforward to add other alignments as well. | |||
2019-04-24 | Allow passing extra args to qemu via a SERENITY_EXTRA_QEMU_ARGS env var. | Andreas Kling | |
2019-04-24 | Taskbar: Clicking a window button now toggles minimized state. | Andreas Kling | |
2019-04-24 | Kernel: Add a comment block about the Device class. | Andreas Kling | |
2019-04-24 | Taskbar: Forgot to add WindowIdentifier.h. | Andreas Kling | |
2019-04-24 | Kernel: Simplify Device::open(). | Andreas Kling | |
2019-04-24 | Build: Let's skip the --gc-sections linker option for now. | Andreas Kling | |
2019-04-23 | WindowServer+TaskBar: Add a taskbar window button popup menu. | Andreas Kling | |
This patch only hooks up the minimize and unminimize actions. | |||
2019-04-23 | Kernel: Process destruction should destroy all child threads. | Andreas Kling | |
We were only destroying the main thread when a process died, leaving any secondary threads around. They couldn't run, but because they were still in the global thread list, strange things could happen since they had some now-stale pointers to their old process. | |||
2019-04-23 | WindowServer: Add some padding to the window switcher items. | Andreas Kling | |
2019-04-23 | Put assertions behind a DEBUG flag to make it easy to build without them. | Andreas Kling | |
2019-04-23 | Build: Pass --gc-sections to the linker in all builds. | Andreas Kling | |
This removes unused sections from the output and reduces the binary size of everything we compile. | |||
2019-04-23 | Kernel: Make the right shift key work. | Andreas Kling | |
I never realized the right shift key wasn't hooked up since my left pinky always hovers over the left shift key, ready to rock. | |||
2019-04-23 | WindowServer: Remove debug spam about activating non-normal windows. | Andreas Kling | |
2019-04-23 | LibGUI: Don't bother setting a title on tooltip windows. | Andreas Kling | |