4468 Commits

Author SHA1 Message Date
Tim Culverhouse
76df732169 gtk: add unfocused_widget when split created from menu
When a split is created from a menu action, the focus is lost before the
split is made which prevents the surface from having the
unfocused_widget. Move the logic to add the unfocused_widget to the
overlay to an exported function which is called when the split is
created.
2024-07-11 10:29:40 -05:00
Tim Culverhouse
fc3d885022 gtk: remove unused css class on GtkNotebook 2024-07-11 08:34:51 -05:00
Tim Culverhouse
11c2ae1007 gtk: use GtkDrawingArea to dim unfocused split
Refactor the GTK unfocused split code to use a GtkDrawingArea widget to
dim the unfocused split. The GtkDrawingArea is added to the overlay and
a CSS style is used to give it a background color and opacity. This
aligns with the macOS design of drawing on top of the surface. In GTK,
we don't need to actually draw a rectangle because we can apply CSS
directly to the widget.
2024-07-11 08:28:47 -05:00
Tim Culverhouse
f04fe01ac6 gtk: improve readability of runtime css fmt 2024-07-10 14:17:58 -05:00
Tim Culverhouse
d1d3de758c gtk: prevent CSS collision on notebook stack
Add a class to the GtkNotebook which holds our tabs so we can more
precisely set the background color of just this `stack`. A collision was
occurring with the menu widgets, which are also a `stack`.
2024-07-10 13:56:03 -05:00
Tim Culverhouse
6c40cd963d gtk: implement unfocused-split opacity and fill
For a long time, us GTK users have been subject to lesser UX by not
knowing which split was focused. Improve the GTK UX by implementing both
unfocused-split-opacity and unfocused-split-fill. This is implemented by
setting the background-color of the notebook stack, and conditionally
applying a new css class "unfocused-split" to the unfocused split.
2024-07-10 12:56:09 -05:00
Mitchell Hashimoto
53fbed492b apprt/gtk: ellipsize URLs in middle to show end 2024-07-09 09:26:07 -07:00
Mitchell Hashimoto
205bbc35f0 Merge pull request #1929 from qwerasd205/reflow-fix
Reflow rework, various fixes
2024-07-09 09:08:45 -07:00
Mitchell Hashimoto
54034468b7 terminal: remove errdefer deleted call for refcountedset 2024-07-09 09:07:28 -07:00
Mitchell Hashimoto
0acdea646b Merge pull request #1923 from antonk52/docs/window-decoration
docs: warn about `window-decoration` disables tabs functionality
2024-07-09 08:34:34 -07:00
Jon Parise
91b56e2494 config: document true/false for shell-integration-features 2024-07-09 10:52:20 -04:00
Jon Parise
9de940cbbf cli: boolean value support for packed structs
Allow standalone boolean values like "true" and "false" to turn on or
off all of the struct's fields.
2024-07-09 09:08:27 -04:00
Anton Kastritskii
d97910a4e8 docs: fix typo 2024-07-09 10:51:51 +01:00
Qwerasd
8589f2c0fb terminal/PageList: rework reflow logic to fix issues
Reflow logic now lives inside of ReflowCursor. This fixes multiple
issues with the previous implementation, and is more straightforward
in how it works. The old impl resulted in fragmentation of pages,
leading to unbounded memory growth when resizing repeatedly.

Also improves the preserved_cursor logic in `resizeCols`.
2024-07-08 22:35:15 -04:00
Qwerasd
10dbca9464 terminal/PageList: fix some incorrect test expectations 2024-07-08 22:29:55 -04:00
Qwerasd
be99e50c50 terminal/PageList: add method for logging debug diagrams 2024-07-08 22:28:16 -04:00
Qwerasd
6f1a2d1e8e terminal/Screen: fix trailing blank cell handling for wrapped rows in dumpString 2024-07-08 22:26:36 -04:00
Qwerasd
730185b212 terminal: spacer heads and tails should be codepoint 0, not ' ' 2024-07-08 22:25:39 -04:00
Qwerasd
0cee115ba3 terminal/page: use addWithIdContext when cloning hyperlink data 2024-07-08 22:22:18 -04:00
Qwerasd
29e6dcdee5 terminal/page: add methods to get hyperlink and grapheme map capacities 2024-07-08 22:20:31 -04:00
Qwerasd
11c8bdc00e BitmapAllocator: slightly improve findFreeChunks mask calculation 2024-07-08 22:17:56 -04:00
Qwerasd
94f50be0fe Disable mouse scroll logging since it floods logs when trackpad scrolling 2024-07-08 22:16:13 -04:00
Qwerasd
a9aef11b4b RefCountedSet: add some missing context delete callbacks 2024-07-08 22:15:31 -04:00
Mitchell Hashimoto
31d5384920 macOS select output is cmd+tripleclick not control anymore
Fixes #1920

Ctrl interferes with context menus.
2024-07-07 14:01:20 -07:00
Mitchell Hashimoto
2ecb8e4c94 Merge pull request #1928 from ghostty-org/osc8
OSC8 Hyperlink Support
2024-07-07 13:58:45 -07:00
Mitchell Hashimoto
a32007bfeb core: when mouse reporting, clear link state 2024-07-07 12:26:40 -07:00
Mitchell Hashimoto
f1561a4cae apprt/gtk: committed the forever status bar again 2024-07-07 12:25:08 -07:00
Mitchell Hashimoto
b7699b9af9 apprt/gtk: add all event handlers to the overlay so both receive 2024-07-07 12:17:40 -07:00
Mitchell Hashimoto
45d0653f46 apprt/gtk: add deinit for url widget 2024-07-07 09:48:39 -07:00
Mitchell Hashimoto
10a3214cb4 apprt/gtk: forgot to remove debug code to hide overlay 2024-07-07 09:39:41 -07:00
Mitchell Hashimoto
f9e5d9c10b apprt/gtk: move url hover bar when its under the mouse 2024-07-07 09:37:43 -07:00
Mitchell Hashimoto
c9accc52e2 core: show URL even for non-OSC8 hyperlnks 2024-07-06 21:36:28 -07:00
Mitchell Hashimoto
ecdb0a74b0 apprt/gtk: style the overlay 2024-07-06 15:09:59 -07:00
Mitchell Hashimoto
8858c2ba4e apprt/gtk: convert surface to overlay so we can support the url overlay 2024-07-06 15:01:18 -07:00
Okan Esen
9eacf6c27d document unfocused split option only working on macOS 2024-07-06 22:48:53 +02:00
Mitchell Hashimoto
36648ae397 apprt: stubs for mouseOverLink 2024-07-06 10:29:23 -07:00
Mitchell Hashimoto
8ecc84b943 core: helper to get osc8 URI 2024-07-06 10:27:21 -07:00
Mitchell Hashimoto
cb790b8e39 macos: show URL on OSC8 hover 2024-07-06 10:25:12 -07:00
Mitchell Hashimoto
4a861a8c8f terminal: hyperlink capacity adjustment needs to call safe variant 2024-07-06 08:47:22 -07:00
Anton Kastritskii
3f85ad6892 docs: specify that window-decoration disables tabs on macos only 2024-07-06 13:42:24 +01:00
Mitchell Hashimoto
d79bbaac68 terminal: adjustCapacity handles hyperlink state 2024-07-05 21:44:30 -07:00
Mitchell Hashimoto
251ec0c9f3 terminal: on print, adjust page size if we need to grow for hyperlinks 2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
a6051b931e terminal: disable zombie styles integrity check 2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
4f099af76f terminal: set hyperlink state on clone 2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
cdb838ea85 terminal: pause integrity checks on resize for hyperlink set 2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
eed9c23acd terminal: RefCountedSet checks for existence prior to cap check 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
c51682a5c2 renderer: match no-ID OSC8 in contiguous chunks 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
b0f99307d3 terminal: pause integrity checks in clone row until done 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
e8a8b189ba core: when over a link we must set the whole screen dirty on move 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
ff9ab70091 terminal: end hyperlink state when switching screens 2024-07-05 21:40:39 -07:00