57 Commits

Author SHA1 Message Date
Mitchell Hashimoto
0ec225683e input: allow modifier aliases
Fixes #824
2023-11-06 11:42:51 -08:00
Mitchell Hashimoto
7be5eba9cb input: unit tests for pasing tuples 2023-11-06 09:23:24 -08:00
Mitchell Hashimoto
1ff81682f7 input: add format support for tuple args 2023-11-06 09:19:59 -08:00
Gregory Anders
0a2d435481 core: add resize_split binding with default keys
On macOS, use Cmd+Ctrl+Arrow keys as default bindings for resizing by 10
points in the given direction.
2023-11-05 20:20:39 -06:00
Gregory Anders
e7745dc820 core: add support for bindings with multiple parameters
This commit adds support for bindings with multiple parameters. For
example, a "resize_split" binding will have two parameters: the resize
direction and the resize amount. Multiple parameters are supported by
using a tuple as the enum value and are written in string form by
separating each argument with a comma. Example: "resize_split:up,10".
2023-11-05 20:20:39 -06:00
Mitchell Hashimoto
debeba99db input: Binding.Trigger format 2023-11-03 17:48:19 -07:00
Mitchell Hashimoto
cb4bb8aaf6 input: add Binding.Action.format to convert action to string 2023-11-03 15:57:14 -07:00
Leo Razoumov
dc527bd2cb feat: keybind escape sequence action "esc:text" similar to "csi:text" 2023-11-02 17:50:17 -04:00
Mitchell Hashimoto
29bbcbbf92 core: add input binding to control terminal inspector 2023-10-24 15:27:14 -07:00
Mitchell Hashimoto
47ee1e7355 input: Binding string can be unconsumed with "unconsumed:" prefix 2023-09-29 21:34:23 -07:00
Mitchell Hashimoto
9d0e7ab138 input: binding set can track unconsumed triggers 2023-09-29 20:18:41 -07:00
Mitchell Hashimoto
58a43f1980 config: store some basic errors on parse 2023-09-11 09:10:26 -07:00
Mitchell Hashimoto
4570356e57 turn zoom into a toggle rather than an explicit zoom/unzoom 2023-09-02 16:03:51 -07:00
Mitchell Hashimoto
519a97b782 core: add unzoom_split binding 2023-09-02 15:15:12 -07:00
Mitchell Hashimoto
50a1a52ae3 core: add zoom keybinding for splits 2023-09-02 14:52:43 -07:00
Mitchell Hashimoto
369ffebb72 input: when overwriting a binding, we must update the reverse map 2023-08-31 13:08:33 -07:00
Mitchell Hashimoto
fe5da86bb0 input: maintain a reverse mapping to quickly look up trigger by action 2023-08-31 12:45:43 -07:00
Mitchell Hashimoto
ba883ce39a add ghostty_config_trigger C API to find a trigger for an action 2023-08-30 22:14:44 -07:00
Mitchell Hashimoto
17e46bf0f4 input: move action parsing to dedicating Action.parse 2023-08-30 21:39:25 -07:00
Mitchell Hashimoto
7ccf86b175 remove imgui and devmode
imgui has been a source of compilation challenges (our fault not theirs)
and devmode hasn't worked in awhile, so drop it.
2023-08-20 08:50:24 -07:00
Thorsten Ball
2e9b787668 macOS: new window can inherit font size
This is the second part of #281 and adds the same mechanism that was
added for tabs in #296 for windows.

It works exactly the same way.
2023-08-19 09:29:56 +02:00
Thorsten Ball
d2dae7a696 macOS: inherit font size when creating new tab
This is one part of #281.
2023-08-17 20:56:56 +02:00
Mitchell Hashimoto
3556cf8407 input: unify binding-sensitive mods to a single func 2023-08-14 11:51:10 -07:00
Mitchell Hashimoto
65c4aada02 input: rename "unmapped" to "physical" 2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
0ed76b4300 scroll_page_fractional keybinding 2023-08-09 07:37:18 -07:00
Mitchell Hashimoto
a8380e937d scroll top, bot, page up, page down binding actions 2023-08-09 07:24:11 -07:00
Mitchell Hashimoto
22296b377a Revert "Merge pull request #244 from mitchellh/alt-as-esc"
This reverts commit c139279d479682c17f63d9b57c2d56608d09d16a, reversing
changes made to 4ed21047a734d7c586debe0026e3b6ea90ed1622.

We do want to do this but this broke bindings.
2023-08-07 17:06:40 -07:00
Mitchell Hashimoto
32eb226fa3 non-macos doesn't support directional bindings 2023-08-07 14:52:20 -07:00
Mitchell Hashimoto
47bed51177 bindings can contain directional modifiers: left_shift+a 2023-08-07 14:43:44 -07:00
Mitchell Hashimoto
67cbabd605 make keyboard modifiers left/right-aware throughout core 2023-08-07 14:33:56 -07:00
Mitchell Hashimoto
ef5d75e328 input: support assigning integer binding action values
This enables jump_to_prompt
2023-08-05 21:31:34 -07:00
Mitchell Hashimoto
0bb286eeb2 C API for invoking bindings 2023-08-05 14:46:47 -07:00
Mitchell Hashimoto
5faafbbfa5 write_scrollback_file binding 2023-07-09 12:28:48 -07:00
Mitchell Hashimoto
9f86c48fd8 keybinding jump_to_prompt for semantic prompts 2023-07-06 10:30:29 -07:00
Thorsten Ball
8e464db049 Toggle fullscreen on super/ctrl+return, only macOS for now
This fixes or at least is the first step towards #171:

- it adds `cmd/super + return` as the default keybinding to toggle
  fullscreen for currently focused window.
- it adds a keybinding handler to the embedded apprt and then changes
  the macOS app to handle the keybinding by toggling currently focused
  window.
2023-07-02 20:23:49 +02:00
Mitchell Hashimoto
c774e37548 core: input bindings support unmapped bindings 2023-03-25 15:36:37 -07:00
Mitchell Hashimoto
f5c1dfa374 reload_config keybinding (defaults to ctrl+alt+super+space) 2023-03-19 09:50:53 -07:00
Mitchell Hashimoto
04c38ef3b0 macos: change focus callback to use an enum so we can get other dirs 2023-03-11 17:44:00 -08:00
Mitchell Hashimoto
b582691185 macos: hook up all the bindings so we're ready to handle focus event 2023-03-11 16:22:04 -08:00
Mitchell Hashimoto
6c857877e8 apprt/embedded: close surface callback 2023-03-08 15:05:15 -08:00
Mitchell Hashimoto
fa9ee0815f apprt/embedded: newSplit callback 2023-03-08 14:56:50 -08:00
Mitchell Hashimoto
8ce6f349f8 input: new_split binding, can parse enums 2023-03-08 08:57:38 -08:00
Mitchell Hashimoto
89d07fcd83 clear_history binding, default Cmd+K 2023-03-03 09:27:47 -08:00
Mitchell Hashimoto
6c6a3d6a5d "goto_tab" key binding to jump to a specific tab, defaults to Super+N
The apprt surface must implement `gotoTab` to make this work. This is
only implemented in GTK for now.
2023-02-25 10:48:38 -08:00
Mitchell Hashimoto
aa2d3720b6 gtk: previous/next tab bindings 2023-02-25 10:29:58 -08:00
Mitchell Hashimoto
6f3bc5186d update to latest zig 2022-12-21 18:30:21 -08:00
Mitchell Hashimoto
b8832833cb respect application cursor keys for arrow (DECCKM)
This fixes the arrow keys in htop.
2022-11-27 20:57:58 -08:00
Mitchell Hashimoto
8ac90d33e6 new_tab action 2022-11-16 21:17:41 -08:00
Mitchell Hashimoto
dad4923901 hook up all the keyboard actions 2022-11-15 20:10:50 -08:00
Mitchell Hashimoto
c9b01fdc6c support app quitting to close all windows 2022-11-06 14:10:28 -08:00