Mitchell Hashimoto
8c3559ecff
terminal: move tmux control mode parsing out to dedicated file
2024-07-12 09:49:59 -07:00
Mitchell Hashimoto
1ea25c5c64
terminal: tmux parsing handles begin/end blocks
2024-07-11 20:53:50 -07:00
Mitchell Hashimoto
f4db5009d6
terminal: dcs state cleanup in deinit
2024-07-11 19:09:55 -07:00
Mitchell Hashimoto
88d055452b
terminal: tmux enter/exit
2024-07-11 19:02:33 -07:00
Mitchell Hashimoto
ff43609097
terminal: boilerplate for tmux control mode parsing
2024-07-11 18:58:25 -07:00
Mitchell Hashimoto
f375bf009c
terminal: all DCS events can produce a command
2024-07-11 18:53:42 -07:00
Mitchell Hashimoto
01e1538ad3
terminal: dcs put can return a command
2024-07-11 18:42:22 -07:00
Mitchell Hashimoto
38d33a761b
terminal: test DCS to make sure we don't regress
2024-07-11 18:34:05 -07:00
Mitchell Hashimoto
c28470e98a
terminal: DCS parses params correctly
2024-07-11 18:29:14 -07:00
Alexey Shekhirin
447c324c4d
docs(surface): keyCallback
return value is self-descriptive
2024-07-11 20:24:09 +01:00
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