Mitchell Hashimoto
862bdcb92a
apprt/gtk: adw about dialog introduces in libadw 1.5.0
...
Fixes #2433
2024-10-12 09:35:09 -07:00
Mitchell Hashimoto
745079cbb5
core: simplify scroll math, fix horizontal scroll direction on macOS
...
This simplifies the math for calculating scroll vectors based on mouse
scroll events. This was done to fix inverted horizontal scrolling on
macOS with natural scrolling enabled. Many assertions were added for
assumptions and our preconditions are clearly documented.
The preconditions are:
* Apprt scroll offsets are negative down/left, positive up/right
* Terminal vertical scroll is postive down, negative up (opposite
since scroll for a terminal means how many rows to move down).
* `Surface.scrollCallback` is always call with an apprt offset.
* Apprt is responsible for implementing natural scrolling. Surface
always assumes negative is down/left.
2024-10-10 16:24:16 -07:00
Mitchell Hashimoto
eec77e271c
macos: change our minimum version to macOS 13
...
macOS 12 is officially EOL by Apple and the project only supports
officially supported versions of macOS. Once publicly released, users on
older macOS versions will have to use older released builds.
2024-10-09 14:41:57 -07:00
Mitchell Hashimoto
b65a9ebc45
Merge pull request #2234 from jcollie/gtk-css-no-libadwaita
...
gtk: load css when libadwaita is not being used
2024-10-09 09:37:30 -07:00
Mitchell Hashimoto
5c1ffbb642
apprt: implement key_sequence action
2024-10-08 21:55:00 -07:00
Jeffrey C. Ollie
a559ecf957
gtk: add adw
or gtk
class to top level windows
2024-10-08 11:17:33 -05:00
Jeffrey C. Ollie
bb109c435f
gtk: fix window-theme=ghostty
2024-10-08 11:17:33 -05:00
Jeffrey C. Ollie
ab0a736089
gtk: load css when libadwaita is not being used
2024-10-08 11:17:32 -05:00
Leah Amelia Chen
fbc621a7d8
gtk: implement splitting leftwards and upwards
2024-10-07 18:19:27 -07:00
Mitchell Hashimoto
1b1589e0c6
apprt/gtk: only run window key events with tab overview shown
2024-10-07 13:17:21 -07:00
Mitchell Hashimoto
9c547dd8cd
apprt/gtk: forward window key events to the focused surface
2024-10-07 13:06:35 -07:00
Mitchell Hashimoto
9e435f050e
apprt/gtk: setup window key event infrastructure
2024-10-07 13:01:36 -07:00
Mitchell Hashimoto
eab6c0d4af
gtk: only set initial window size if its the first terminal in a window
...
Fixes #2391
2024-10-07 09:46:13 -07:00
Mitchell Hashimoto
c7f83fcef8
gtk: notify core of cursor leave
2024-10-06 18:23:53 -07:00
Mitchell Hashimoto
494fedca2f
apprt/gtk: report proper app focus state
2024-10-06 13:31:03 -07:00
Mitchell Hashimoto
8dc4ebb4f7
apprt/embedded: add ghostty_app_set_focus
2024-10-06 09:58:46 -10:00
Mitchell Hashimoto
28ec11e52b
docs updates
2024-10-02 10:52:59 -07:00
Roland Peelen
9e00eeff86
Review Feedback - formatting / docs
2024-10-02 10:33:36 -07:00
Roland Peelen
2dbd46096f
Fix typo
2024-10-02 10:33:36 -07:00
Roland Peelen
24ba1a6100
Add action on Zig side
2024-10-02 10:33:36 -07:00
Christian Kugler
f9d3f64978
Merge branch 'main' into fix_2271
2024-09-29 14:15:56 +02:00
Christian Kugler
f309d4191e
Use helper function to set correct env variables
...
GTK4 version 4.16 split the environment variable `GDK_DEBUG` into `GDK_DEBUG`
and `GDK_DISABLE`. This is being done by using the helper function `atLeast` to
handle certain versions accordingly.
`GSK_RENDERER` also only needs to be set in later GTK versions (>=1.14.0).
2024-09-29 14:04:13 +02:00
Mitchell Hashimoto
1570ef01a7
rename slide to quick terminal
2024-09-28 15:20:35 -07:00
Mitchell Hashimoto
7806366eec
core: fix up toggle_slide_terminal action for rebase
2024-09-27 18:36:06 -07:00
Mitchell Hashimoto
576453cfde
apprt/gtk: set null url if url is empty
...
Fixes #2306
2024-09-27 18:34:08 -07:00
Mitchell Hashimoto
7befb5a418
macos: fix previous/next tab bindings, improve action logging
2024-09-27 12:24:11 -07:00
Mitchell Hashimoto
be0d71f62d
apprt/embedded: add the tab overview to the enum
2024-09-27 10:15:16 -07:00
Paul Berg
f1474c220d
bind: add toggle_tab_overview binding
2024-09-27 10:13:05 -07:00
Paul Berg
7b8b58110c
apprt/gtk: store tab_overview in Window struct
2024-09-27 10:12:08 -07:00
Paul Berg
6ef87d298c
apprt/gtk: remove Window.hasAdwToolbar
...
this is the same as isAdwWindow
2024-09-27 10:12:08 -07:00
Paul Berg
fe4f4fdc72
apprt/gtk: fix build with -Dgtk-libadwaita=false
2024-09-27 10:12:08 -07:00
Mitchell Hashimoto
4ae20212bf
libghostty: unified action dispatch
...
First, this commit modifies libghostty to use a single unified action
dispatch system based on a tagged union versus the one-off callback
system that was previously in place. This change simplifies the code on
both the core and consumer sides of the library. Importantly, as we
introduce new actions, we can now maintain ABI compatibility so long as
our union size does not change (something I don't promise yet).
Second, this moves a lot more of the functions call on a surface into
the action system. This affects all apprts and continues the previous
work of introducing a more unified API for optional surface features.
2024-09-26 22:00:11 -07:00
Mitchell Hashimoto
3b419a2ba2
apprt/gtk: handle zero value notification pointers
2024-09-26 14:40:33 -07:00
Mitchell Hashimoto
4cc4eb5ed0
core: remove more hasdecls
2024-09-26 14:21:06 -07:00
Mitchell Hashimoto
4e2781fdec
apprt/gtk
2024-09-26 14:13:18 -07:00
Mitchell Hashimoto
e29918ebb8
core: more actions
2024-09-26 10:20:44 -07:00
Mitchell Hashimoto
9202cba1f5
core: many more actions
2024-09-26 10:05:10 -07:00
Mitchell Hashimoto
1e010b8e08
core: more actions
2024-09-26 09:37:31 -07:00
Mitchell Hashimoto
26cba70b69
core: no need for hasTabs apprt function
2024-09-26 08:34:20 -07:00
Mitchell Hashimoto
02d7e766e1
core: move password input into action enum
2024-09-25 11:43:48 -07:00
Mitchell Hashimoto
ae98dddead
apprt/embedded: support new performAction API
2024-09-25 11:31:14 -07:00
Mitchell Hashimoto
0e043bc0e4
apprt: transition all hasDecls in App.zig to use the new action dispatch
2024-09-25 11:28:10 -07:00
Mitchell Hashimoto
13603c51a9
apprt: begin transition to making actions an enum and not use hasDecl
2024-09-25 11:02:45 -07:00
Mitchell Hashimoto
d6e9db4ec5
Merge pull request #2299 from ghostty-org/global-keybind
...
Keybind features: System-global keybindings and target-all-terminal keybindings
2024-09-24 21:01:32 -07:00
Mitchell Hashimoto
6d6052d204
small comment changes
2024-09-24 20:53:45 -07:00
Mitchell Hashimoto
1b31663865
apprt/embedded: new_window can be called without a parent
2024-09-24 18:33:10 -07:00
Mitchell Hashimoto
1ad904478d
Tap events, core API to handle global keybinds
2024-09-24 16:29:02 -07:00
Paul
b41f45d7a3
apprt/gtk: support window-theme != ghostty
...
- support for gtk-tabs-location=bottom
- support for gtk-titlebar=false
2024-09-24 08:10:06 +02:00
Mitchell Hashimoto
38db305d29
Merge pull request #2289 from jcollie/ghostty-adwaita-version
...
gtk/adw: conditional tab keybindings
2024-09-23 21:11:32 -07:00
Mitchell Hashimoto
0f3f01483e
apprt/embedded: API for checking if there are global keybinds
2024-09-23 20:45:58 -07:00