434 Commits

Author SHA1 Message Date
Mitchell Hashimoto
a75ee29f2d Merge pull request #1981 from injust/adjust-line
Add `adjust_selection` actions for `beginning_of_line` and `end_of_line`
2024-07-22 09:40:45 -07:00
multifred
72c672adb7 Fix multiple deprecated names for zig lib/std 2024-07-22 00:07:17 +02:00
Justin Su
97bd46de7f Add adjust_selection actions for beginning_of_line and end_of_line 2024-07-20 23:06:47 -04:00
Mitchell Hashimoto
a62b76eda3 core: add binding to write screen to file 2024-07-19 20:24:51 -07:00
Mitchell Hashimoto
55657465a7 add write_selection_file
Based on the work by @gigamaax
2024-07-19 20:20:49 -07:00
Mitchell Hashimoto
10198d88dc core: make the write scrollback file logic more generic 2024-07-19 20:16:17 -07:00
Mitchell Hashimoto
e3df08039a some bikeshedding 2024-07-19 20:03:20 -07:00
karei
6fde429728 core: support opening scrollback file in default text editor 2024-07-19 19:56:00 -07:00
Mitchell Hashimoto
72c0f9dd32 adjust selection 2024-07-19 14:20:28 -07:00
Mitchell Hashimoto
72d8af5d0b rename to expand_selection 2024-07-19 14:19:21 -07:00
Cameron Dart
cdeeeb9f88 feat: keybinds for text selection on copy mode 2024-07-19 14:08:52 -07:00
Mitchell Hashimoto
2d7baaa7d7 apprt/gtk: toggle_window_decorations keybinding
Fixes #1943
2024-07-15 21:23:52 -07:00
Mitchell Hashimoto
835d622baa termio: writer => mailbox 2024-07-15 10:23:09 -07:00
Mitchell Hashimoto
001a6d2624 termio: reader => backend 2024-07-15 10:14:14 -07:00
Mitchell Hashimoto
dc6dc1d3d2 termio: remove more state 2024-07-15 10:02:02 -07:00
Mitchell Hashimoto
3625e1e58e termio: take reader as option 2024-07-15 09:55:31 -07:00
Mitchell Hashimoto
a848a53d26 termio: remove a ton of state 2024-07-14 15:10:05 -07:00
Mitchell Hashimoto
af7adedb50 termio: writer abstraction 2024-07-14 14:48:48 -07:00
Mitchell Hashimoto
31144da845 termio: Thread doesn't need to hold termio pointer 2024-07-14 10:27:58 -07:00
Mitchell Hashimoto
49c92fd0e6 termio: rename Exec to Termio throughout 2024-07-13 15:19:37 -07:00
Alexey Shekhirin
447c324c4d docs(surface): keyCallback return value is self-descriptive 2024-07-11 20:24:09 +01:00
Qwerasd
94f50be0fe Disable mouse scroll logging since it floods logs when trackpad scrolling 2024-07-08 22:16:13 -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
a32007bfeb core: when mouse reporting, clear link state 2024-07-07 12:26:40 -07:00
Mitchell Hashimoto
c9accc52e2 core: show URL even for non-OSC8 hyperlnks 2024-07-06 21:36:28 -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
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
925ad5b45c renderer: match multiple lines for osc8 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
f8fe0445a5 core: clicking OSC8 links work 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
3462b0676d core: mouse shift escape applies to all buttons, not just left
Fixes #1905
2024-07-01 18:42:32 -07:00
Mitchell Hashimoto
7fbc73ad37 macos: implement ctrl+command+d for quicklook under cursor 2024-07-01 10:08:38 -07:00
Mitchell Hashimoto
57d71450ab ctrl+click is handled as right-click (with various details)
If mouse capturing is enabled, we encode ctrl+click as ctrl+left-click
and DO NOT handle it as right click.
2024-06-30 19:44:51 -07:00
Mitchell Hashimoto
32588a647f core: on right click, only create selection if point isn't in prev sel 2024-06-30 10:24:53 -07:00
Mitchell Hashimoto
a586eb9889 core: right-click press selects word 2024-06-30 10:22:34 -07:00
Mitchell Hashimoto
03f37087a5 mouse button callbacks returns bool for consumption 2024-06-30 09:42:15 -07:00
Mitchell Hashimoto
26735f0e05 apprt: convert selection info to a single struct and C API 2024-06-29 11:23:14 -05:00
Mitchell Hashimoto
80700d524d macos: add API to get selection top-left for quicklook 2024-06-29 10:42:45 -05:00
Mitchell Hashimoto
4c3fbffa4b macos: return valid selection range 2024-06-29 10:42:45 -05:00
Mitchell Hashimoto
6faeb9ba40 core: mouse pressure state and callbacks 2024-06-29 10:42:45 -05:00
Mitchell Hashimoto
c3f78bc69d core: mouse within top/bottom 1 pixel should scroll selection
Fixes #1892

We previously required a negative y or y beyond the height of the window
but in a full screen scenario neither happen, so we add a one pixel
buffer instead where we still scroll.
2024-06-28 23:45:42 -05:00
Mitchell Hashimoto
c69dc0e0e1 migrate termio.Options.LinuxCgroup to Command 2024-06-08 19:10:19 -07:00
Mitchell Hashimoto
e2772eacec Merge pull request #1846 from kdrag0n/buffered-scrollback-file
scrollback: buffer writes to scrollback file
2024-06-08 14:56:13 -07:00
Mitchell Hashimoto
fb7cbd69c0 core: consider any paste with bracketed paste closer unsafe
Thanks to: https://thejh.net/misc/website-terminal-copy-paste

If a paste has the ending sentinel value for a bracketed paste
("\x1b[201~") then the shell may start processing data faster. We now
consider this unsafe even if the `clipboard-paste-bracketed-safe`
setting is true.
2024-06-08 14:38:49 -07:00
Danny Lin
197b873dee scrollback: buffer writes to scrollback file
Screen.dumpString writes one character at a time, so buffer writes to
the scrollback file to speed it up.
2024-06-07 20:52:08 -07:00
Mitchell Hashimoto
1093ccecb4 xdg-terminal-exec invocations set title based on command
Fixes #1724

See background in #1724. The general idea is that for Ghostty
invocations via xdg-terminal-exec, we set the initial title to the
command automatically so that window managers can modify the styling.

We only do this for xdg-terminal-exec because that protocol/spec is
specifically for the scenario that the terminal is being used to launch
a command from the desktop environment.
2024-06-06 10:01:32 -07:00
Mitchell Hashimoto
dc51b8269c plumb the linux cgroup through to termio 2024-06-04 21:37:34 -07:00
Mitchell Hashimoto
cd7da9eb4b inspector: fix encoding of pty-encoded key event 2024-06-03 18:40:52 -07:00
Mitchell Hashimoto
30c1ab737c core: only hide mouse on key press events
see comment
2024-06-03 15:04:19 -07:00
Mitchell Hashimoto
ac554c74ff core: do not toggle mouse hidden on keyCallback with mods
If the mouse was hidden, we just keep it hidden.
2024-06-03 14:55:21 -07:00