summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-26LibGUI: 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-26sh: Add a simple "export" command for setting environment variables.Andreas Kling
2019-04-26LibC: Add execvpe() and make execvp()'ed children inherit environment.Andreas Kling
2019-04-26LibCore: Make it possible to create a CFile for an existing file descriptor.Andreas Kling
2019-04-26Userland: Add a simple /bin/tr program.Andreas Kling
2019-04-26Userland: Add a simple /bin/sort program.Andreas Kling
2019-04-26Userland: Add a simple /bin/head program.Andreas Kling
2019-04-26LibC: Update stdio stream error state in more places.Andreas Kling
2019-04-25Kernel: 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-25sh: 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-25sh: Support erasing a whole word with WERASE (^W).Andreas Kling
2019-04-25GTextEditor: 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-25GTableView: Double-click should only activate/edit valid indices.Andreas Kling
2019-04-25GTextEditor: Double-clicking on a word should select that word.Andreas Kling
2019-04-25Kernel: 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-25Ext2FS: Reduce debug spam in block allocation.Andreas Kling
2019-04-25WindowServer: Ignore title change notifications for non-normal windows.Andreas Kling
2019-04-25sh: 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-25cat: 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-25Kernel: Dump stack trace when kmalloc() fails.Andreas Kling
2019-04-25sh: Refactor command parsing into a separate class.Andreas Kling
2019-04-25sh: Add basic command piping support.Andreas Kling
2019-04-25fgrep: Don't repeat old incoming data if fgets() failed.Andreas Kling
2019-04-25Kernel: 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-25Userland: Add a simple /bin/echo program.Andreas Kling
2019-04-25GTextEditor: 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-25GTextEditor: 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-25GTextEditor: 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-25GTextEditor: 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-25GScrollableWidget: 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-24SharedGraphics: 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-24GTextEditor: 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-24GTextEditor: Make the line_widget_rect() span the widget horizontally.Andreas Kling
2019-04-24GTextEditor: Turn off the ruler by default.Andreas Kling
You're usually not gonna want the ruler. TextEditor can enable it manually.
2019-04-24GTextEditor: Fix line_content_rect() behavior with custom alignments.Andreas Kling
2019-04-24GTextEditor: 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-24Allow passing extra args to qemu via a SERENITY_EXTRA_QEMU_ARGS env var.Andreas Kling
2019-04-24Taskbar: Clicking a window button now toggles minimized state.Andreas Kling
2019-04-24Kernel: Add a comment block about the Device class.Andreas Kling
2019-04-24Taskbar: Forgot to add WindowIdentifier.h.Andreas Kling
2019-04-24Kernel: Simplify Device::open().Andreas Kling
2019-04-24Build: Let's skip the --gc-sections linker option for now.Andreas Kling
2019-04-23WindowServer+TaskBar: Add a taskbar window button popup menu.Andreas Kling
This patch only hooks up the minimize and unminimize actions.
2019-04-23Kernel: 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-23WindowServer: Add some padding to the window switcher items.Andreas Kling
2019-04-23Put assertions behind a DEBUG flag to make it easy to build without them.Andreas Kling
2019-04-23Build: 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-23Kernel: 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-23WindowServer: Remove debug spam about activating non-normal windows.Andreas Kling
2019-04-23LibGUI: Don't bother setting a title on tooltip windows.Andreas Kling