summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibVT
AgeCommit message (Collapse)Author
2022-09-05LibVT: Handle non file urls in on hover tooltipsnetworkException
Previously we would simply compute the basename of the hovered url's path and display it as the resource that will be opened. This patch adds a fallback for non file urls to simply show the full url, making http urls show up properly.
2022-08-31LibVT: Accept supported drag enter eventsKarol Kosek
2022-07-14LibVT: Remove Vector<Kernel::KString> title stackLiav A
When using the kernel console, there's no such concept of title at all. Also, this makes vim to crash the kernel due to dereferencing a null pointer, so let's remove this as this is clearly not needed when using the kernel virtual console.
2022-07-14LibVT: Show application display name when hovered over, if availableWuzado
Fixes #14416.
2022-07-12Everywhere: Replace single-char StringView op. arguments with charssin-ack
This prevents us from needing a sv suffix, and potentially reduces the need to run generic code for a single character (as contains, starts_with, ends_with etc. for a char will be just a length and equality check). No functional changes.
2022-07-12Everywhere: Add sv suffix to strings relying on StringView(char const*)sin-ack
Each of these strings would previously rely on StringView's char const* constructor overload, which would call __builtin_strlen on the string. Since we now have operator ""sv, we can replace these with much simpler versions. This opens the door to being able to remove StringView(char const*). No functional changes.
2022-06-22LibVT+Kernel: Separate the caret shapes and its steadinessMichał Lach
Currently CursorStyle enum handles both the styles and the steadiness or blinking of the terminal caret, which doubles the amount of its entries. This commit changes CursorStyle to CursorShape and moves the blinking option to a seperate boolean value.
2022-04-09LibGfx: Move other font-related files to LibGfx/Font/Simon Wanner
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-03-25LibVT: Fix tooltip condition, properly reset when tooltip not availableBen Wiederhake
2022-03-20LIbVT: Fix copy paste regression I introduced in #13102Brian Gianforcaro
I accidentally inverted this behavior in commit 2042d909972 Previously it read: ```cpp constexpr bool is_untouched() const { return !(flags & Touched); } ```
2022-03-18LibVT/Kernel: Make VT::Attribute::Flags enum class, use AK EnumBitsBrian Gianforcaro
Noticed the TODO in `Attribute.h` and realized we have as solution to this problem already. :^)
2022-03-13Libraries: Use default constructors/destructors in LibVTLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-03-13LibVT: Use coarse scrolling animation in TerminalWidgetMacDue
The smooth scrolling looks slightly off in the terminal as the scrollbar animation lasts longer than the actual scroll. This behaviour is also consistent with other terminal emulators.
2022-02-28LibVT: Fix crash from integer overflow in text wrappingMacDue
Fixes #12786
2022-02-17LibVT: Properly populate context menu with open actionsnetworkException
We would previously overwrite m_hovered_href with tooltip texts instead of leaving it as an url as was expected by the context menu event handler.
2022-02-16LibCore+Everywhere: Return ErrorOr from ConfigFile factory methodsSam Atkins
I've attempted to handle the errors gracefully where it was clear how to do so, and simple, but a lot of this was just adding `release_value_but_fixme_should_propagate_errors()` in places.
2022-02-16Kernel+LibELF+LibVT: Remove unused AK::String header includesIdan Horowitz
2022-02-16LibVT: Use StringBuilder::string_view() instead of to_string()Idan Horowitz
This let's us avoid a heap allocation.
2022-02-16LibVT: Use NNOP<KString> to store window titles in the KernelIdan Horowitz
This will allow us to eventually propagate allocation failure.
2022-02-16LibVT: Use StringBuilder's inline capacity instead of temporary StringsIdan Horowitz
This let's us avoid heap allocations.
2022-02-13LibVT: Fix triple click behaviorbrapru
When triple clicking a line in the terminal the selection will span the whole line. However, after dragging down to lines above/below the selection will stop at the cursor. Instead, the expected functionality of triple clicking and dragging is to select the whole line and any whole lines dragged to after the triple click. Previously, the triple line counter would get reset as soon as the whole line was selected. This patch resets the m_triple_click_timer in the mouse up event, so that the triple click selecting functionality is maintained during the entire click event and terminated when the event is over.
2022-01-20Userland: Add horizontal mouse scroll supportDmitry Petrov
2022-01-15LibVT: Don't clip TerminalWidget's drawing to avoid scrollerMatt Jacobson
The scroller might be hidden or (in theory) non-opaque.
2022-01-15LibVT: Enable caller to control the visibility of the scrollbar widgetBrian Gianforcaro
In preparation for another feature, expose an API so that any users of this widget can control the scrollbar visibility.
2022-01-05Kernel+LibVT: Use MUST + try_prepend / try_appendBrian Gianforcaro
In preparation for making Vector::append + Vector::prepend unavailable during compilation of the Kernel. This specific file is compiled into the Kernel as well as LibVT.
2021-12-30Everywhere: Use 'decrease_slider_by()' method from AbstractSliderElyse
The same idea as 'increase_slider_by()', it helps us to avoid repeating the pattern 'set_value(value() - delta)'.
2021-12-30Everywhere: Use 'increase_slider_by()' method from AbstractSliderElyse
This method help us to avoid repeating the pattern 'set_value(value() + delta)'.
2021-12-29LibVT: Always clear "stomp" state when changing the cursor positionDaniel Bertalan
This fixes a bug, where we mistakenly put a character in the next row if the cursor was told to move to the rightmost column when it was already there.
2021-12-28LibVT: Handle window resize after history overflowryanb-dev
Addresses an issue in which a window resize event after history overflow would cause the Terminal to crash due to a failed assertion. The problematic assertion was removed and the logic updated to support inserting lines even when the start of the history is at an offset (due to an overflow). Resolves #10987
2021-12-25LibVT: Don't leave 50ms auto-scroll timer running at all timesAndreas Kling
This timer was causing wake-ups every 50ms in all terminals, just to right back to sleep unless we were in the middle of an auto-scroll.
2021-12-16Terminal: Fix broken selection after dbl/trp clickryanb-dev
This commit resets the terminal triple click timer when appropriate.
2021-12-05LibVT: Cast unused smart-pointer return value to voidSam Atkins
2021-11-21LibGUI+Everywhere: Make sync requests to Clipboard server more obviousBen Wiederhake
2021-11-21LibVT: Make paste access to Clipboard atomicBen Wiederhake
This avoids data race issues and saves a synchronous request to ClipboardServer.
2021-11-13LibVT: Show action of double click in tooltipDavid Lindbom
When hovering an item in Terminal we now show what application will handle it, e.g "Open app-catdog.png in ImageViewer". If the file is its own handler, i.e an executable, it will show "Execute myscript.sh"
2021-11-11Everywhere: Pass AK::ReadonlyBytes by valueAndreas Kling
2021-11-11Everywhere: Pass AK::StringView by valueAndreas Kling
2021-11-08LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file()Andreas Kling
This was used in a lot of places, so this patch makes liberal use of ErrorOr<T>::release_value_but_fixme_should_propagate_errors().
2021-11-02Libraries: Fix visibility of Object-derivative constructorsBen Wiederhake
Derivatives of Core::Object should be constructed through ClassName::construct(), to avoid handling ref-counted objects with refcount zero. Fixing the visibility means that misuses like this are more difficult.
2021-10-27Everywhere: Rename left/right-click to primary/secondaryFiliph Sandström
This resolves #10641.
2021-10-06LibVT: Add missing headersBen Wiederhake
2021-10-02LibVT: Implement G0..G3 and VT100 translation tableJelle Raaijmakers
2021-10-02LibVT: Implement support for Cursor Keys Mode (DECCKM)Jelle Raaijmakers
2021-10-02LibVT: Add stubs for DECPNM, DECPAMJelle Raaijmakers
Still not implemented, but provides easier to grasp FIXMEs.
2021-09-19LibVT: Add movemouse support for triple clickbrapru
When moving the mouse after a triple click, the selected buffer does not maintain the whole line selection. This patch will allow triple click highlighting to hold the whole line selection.
2021-09-19LibVT: Keep track of the buffer postiion on mousedown eventsbrapru
2021-09-16LibVT: Use default instead of an empty constructor/destructorBrian Gianforcaro
Default implementations allow for more optimizations. See: https://pvs-studio.com/en/docs/warnings/v832/
2021-09-02LibVT: Execute DragOperation after resetting active hyperlinkMusab Kılıç
2021-08-26Terminal+LibVT: Use LibConfig instead of Core::ConfigFileAndreas Kling