Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-05-27 | LibVT: Move most of key press handling logic into VT::Terminal | Sergey Bugaev | |
This will let us share it between the userspace (TerminalWidget) and the Kernel. | |||
2020-05-26 | AK: Rename FileSystemPath -> LexicalPath | Sergey Bugaev | |
And move canonicalized_path() to a static method on LexicalPath. This is to make it clear that FileSystemPath/canonicalized_path() only perform *lexical* canonicalization. | |||
2020-05-18 | LibVT: Pass the handler name to Launcher::open_url to control what gets launched | Nicholas Hollett | |
Now we can pick which application gets opened in the context menu for URLs in the Terminal \o/ | |||
2020-05-17 | LibVT: TerminalWidget now opts into emoji input by default :^) | Andreas Kling | |
2020-05-17 | LibVT: Handle keydown events with multi-byte text correctly | Andreas Kling | |
TerminalWidget can now handle keydown events that contain multi-byte UTF-8 sequences. :^) | |||
2020-05-17 | LibVT: Make TerminalWidget::selected_text() produce UTF-8 strings :^) | Andreas Kling | |
2020-05-17 | LibVT: Store all-ASCII terminal lines as 8-bit characters | Andreas Kling | |
To conserve memory, we now use byte storage for terminal lines until we encounter a non-ASCII codepoint. At that point, we transparently switch to UTF-32 storage for that one line. | |||
2020-05-16 | LibVT: Don't try to set the window title to invalid UTF-8 text | Andreas Kling | |
2020-05-16 | LibVT: Add incremental UTF-8 parsing to the terminal input handler | Andreas Kling | |
Instead of relying on the GUI code to handle UTF-8, we now process and parse the incoming data into 32-bit codepoints ourselves. This means that you can now show emojis in the terminal and they will only take up one character cell each. :^) | |||
2020-05-16 | LibVT: Tweak input parsing related names | Andreas Kling | |
2020-05-16 | LibVT: Switch VT::Line to being backed by 32-bit codepoints | Andreas Kling | |
This will allow us to have much better Unicode support. It does incur a memory usage regression which we'll have to optimize to cover. | |||
2020-05-15 | LibVT: Move out the Line class from Terminal to its own class | Andreas Kling | |
2020-05-14 | Build: Switch to CMake :^) | Sergey Bugaev | |
Closes https://github.com/SerenityOS/serenity/issues/2080 | |||
2020-05-12 | Terminal: When offering to open a URL, show name + icon for handler app | Andreas Kling | |
Instead of just saying "Open URL" when you right click on a hyperlink in the terminal, we now say something like "Open in Browser". :^) | |||
2020-05-11 | LibVT: Update the terminal buffer based on visible lines | AnotherTest | |
Lines in the history should not be considered for update at all. Fixes #2185 | |||
2020-05-10 | LibVT: Clear the hovered hyperlink after completing a drag | Andreas Kling | |
2020-05-10 | LibVT: Allow dragging hyperlinks :^) | Andreas Kling | |
You can now drag a hyperlink as a text/uri-list. This allows you to drag a file from "ls" output and drop it on a FileManager to copy the file there. Truly futuristic stuff! | |||
2020-05-10 | LibVT: Make selection follow terminal history scrollback :^) | Andreas Kling | |
The buffer positions referred to by a VT::Position now include history scrollback, meaning that a VT::Position with row=0 is at the start of the history. The active terminal buffer keeps moving in VT::Position coordinates whenever we scroll. This allows selection to follow history. It also allows us to click hyperlinks in history. Fixes #957. | |||
2020-05-10 | LibVT: Use the "ActiveLink" theme color for links being clicked | Andreas Kling | |
Okay, links are finally starting to feel visually intuitive. :^) | |||
2020-05-10 | LibVT: Don't commit to opening a hyperlink until mouseup | Andreas Kling | |
It felt too rushed to open links when simply mousedown'ing on them. Improve this by implementing basic "click" semantics instead. This patch also introduces the ability to prevent link opening if you want to force selection instead. Hold shift and we will not open links. | |||
2020-05-10 | LibVT: Open hyperlinks on plain left-click instead of Ctrl+Click | Andreas Kling | |
2020-05-10 | LibVT: Always draw hyperlinks with a dotted underline | Andreas Kling | |
The dotted line is custom painted to put some more distance between the dots than what Painter::draw_line() does. | |||
2020-05-10 | LibVT: Support RGB colors (\x1b[38;2;<r>;<g>;<b>m) | AnotherTest | |
2020-05-09 | LibVT: Snapshot the URL we're opening a context menu for | Andreas Kling | |
Otherwise it may get lost due to a leave event firing in the widget. | |||
2020-05-09 | LibVT: Show the hover hand cursor when hovering over hyperlinks :^) | Andreas Kling | |
2020-05-09 | LibVT: Add "Open URL" and "Copy URL" to TerminalWidget context menu | Andreas Kling | |
These only show up when you right click a hyperlinked character cell. | |||
2020-05-09 | LibVT+Terminal: Support hyperlinks in the terminal :^) | Andreas Kling | |
We now support basic hyperlinking in the terminal with <OSC>;8;;URL<ST> Links are opened via LaunchServer on Ctrl+LeftMouse. | |||
2020-05-09 | LibVT: Make Terminal::Line non-copyable and non-movable | Andreas Kling | |
2020-05-09 | LibVT: Make the Xterm/OSC sequence parsing a bit more robust | Andreas Kling | |
Tolerate sequences ending in both <0x07> (BEL) and <0x1b> <0x5c> (ST). The former is apparently an Xterm extension and the latter is standard. | |||
2020-05-09 | LibVT: Respond to DSR 0 (device status) | Andreas Kling | |
Also emit query responses in a single write() syscall instead of going character-at-a-time. | |||
2020-04-20 | LibVT: Handle ctrl+arrow keys | AnotherTest | |
Prior to this commit, we would treat them the same. | |||
2020-04-11 | LibVT: Shift+Tab should generate ESC[Z | Andreas Kling | |
Fixes #1751. | |||
2020-04-10 | LibVT: Implement Device Status Report (cursor position report) | AnotherTest | |
2020-03-30 | LibVT: Don't scroll-to-bottom when pressing the Logo key | Andreas Kling | |
Let's treat the Logo key like all the other modifiers and not scroll to the bottom of the buffer. | |||
2020-03-08 | Userspace: Add missing #includes now that AK/StdLibExtras.h is smaller | Andreas Kling | |
2020-03-06 | TerminalWidget: Implement ALT selection | rhin123 | |
When holding ALT & selecting text, the terminal now forms a rectangle selection similar to other terminal behaviors. | |||
2020-02-25 | AK: Make Vector use size_t for its size and capacity | Andreas Kling | |
2020-02-23 | LibGUI: Make GUI::Frame have the 2px sunken container look by default | Andreas Kling | |
The overwhelming majority of GUI::Frame users set the same appearance, so let's just make it the default. | |||
2020-02-23 | Userspace: Use Core::Object::add() when building interfaces | Andreas Kling | |
2020-02-16 | LibGUI: Add forwarding header | Andreas Kling | |
This patch adds <LibGUI/Forward.h> and uses it a bunch. It also dragged various header dependency reduction changes into it. | |||
2020-02-15 | LibGfx: Remove Utf8View.h dependency from Font.h | Andreas Kling | |
2020-02-15 | LibGUI: Remove more header dependencies from Widget.h | Andreas Kling | |
2020-02-14 | LibGUI: Port the drag&drop code to Core::MimeData | Andreas Kling | |
2020-02-06 | LibGUI: Remove leading G from filenames | Andreas Kling | |
2020-02-06 | LibCore: Remove leading C from filenames | Andreas Kling | |
2020-02-06 | LibGfx: Unpublish Gfx::Size from the global namespace | Andreas Kling | |
2020-02-06 | LibGfx: Unpublish Gfx::Rect from global namespace | Andreas Kling | |
2020-02-06 | LibGfx: Rename GraphicsBitmap.{cpp,h} => Bitmap.{cpp,h} | Andreas Kling | |
2020-02-06 | LibGfx: Rename from LibDraw :^) | Andreas Kling | |
2020-02-06 | LibDraw: Put all classes in the Gfx namespace | Andreas Kling | |
I started adding things to a Draw namespace, but it somehow felt really wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename the library to LibGfx. :^) |