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
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
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
26cba70b69
core: no need for hasTabs apprt function
2024-09-26 08:34:20 -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
Tristan Partin
81c50e588c
apprt/gtk: override the top bar colors in libadwaita correctly
...
This is the way to override the color in libadwaita < 1.6. We can
transition to named colors, specifically headerbar-{fg,bg}-color for
libadwaita 1.6.
Fixes : #2266
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-23 17:09:14 -05:00
Jeffrey C. Ollie
8186e95902
gtk/adw: perform version check at both comptime and runtime
2024-09-23 11:41:39 -05:00
Jeffrey C. Ollie
2805657213
gtk/adw: conditional tab keybindings
...
adw_tab_view_remove_shortcuts (and related APIs) was added in libadwaita
1.2.0.
2024-09-23 10:31:01 -05:00
Paul Berg
2033e59240
apprt/gtk: set tabs reorderable/detachable on GtkNotebook
2024-09-23 10:16:10 +02:00
Mitchell Hashimoto
261ce00552
apprt/macos,gtk: unfocused splits now highlight hovered links
...
Fixes #1547
The core change to make this work is to make the cursor position
callback support taking updated modifiers. On both macOS and GTK, cursor
position events also provide the pressed modifiers so we can pass those
in.
2024-09-21 15:16:14 -07:00
Mitchell Hashimoto
a503e0250e
apprt/gtk: add version helpers
...
This adds version helpers similar to the adwaita version helpers so that
build time and runtime version checks can be done.
2024-09-19 20:24:52 -07:00
Severus
888861984d
Fix typo
2024-09-20 10:18:19 +07:00
Severus
b675905cc2
Fix 2271 issue
...
From GTK 4.16, GDK_DEBUG is splitted into GDK_DEBUG and GDK_DISABLE
2024-09-20 07:55:40 +07:00
Yi Ming
74411511df
refactor: remove the unnecessary ./
in imports
2024-09-19 15:35:52 +08:00
Yi Ming
2894e78cbe
adw: disable all of the default shortcuts
2024-09-19 15:15:47 +08:00
Paul Berg
a6cd4b9750
adw: clear stored tab overview timer
...
This prevents a GTK warning:
```
(process:354789): GLib-CRITICAL **: 19:07:01.853: Source ID 511 was not found when attempting to remove it
```
which happens when trying to clean a timer already used.
2024-09-18 19:11:21 +02:00
Mitchell Hashimoto
9b7395b830
Merge pull request #2260 from ghostty-org/adw-focus
...
Fix: AdwTabOverview loses focus on close
2024-09-18 09:12:40 -07:00
Mitchell Hashimoto
2dd454b399
apprt/gtk: refocus the current tab after adw tab overview closes
...
Fixes #2256
2024-09-18 07:56:32 -07:00
Mitchell Hashimoto
4a492f24be
apprt/gtk: make focusCurrentTab safe to call at any time
2024-09-18 07:41:11 -07:00
Paul Berg
990bcb9573
gtk: respect window-theme=ghostty when gtk-titlebar=false
2024-09-18 13:52:44 +02:00
Mitchell Hashimoto
fca7ceed03
apprt/gtk: fix non-libadw builds
2024-09-16 15:08:41 -07:00
Tristan Partin
2ad4dcdc01
apprt/gtk: remove redundant adwaita check
...
We already check if the toast overlay exists before sending a toast.
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-16 15:42:38 -05:00
Tristan Partin
4f2c1d1b10
apprt/gtk: use adwaita toasts regardless of gtk-titlebar
...
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-16 15:36:10 -05:00
Tristan Partin
46fb3d8c9f
apprt/gtk: add notebook widget to the main box
...
Mitchell dropped this as part of a cleanup in the PR which added
AdwToastOverlay.
Fixes: https://github.com/ghostty-org/ghostty/issues/2250
Link: https://github.com/ghostty-org/ghostty/pull/2235
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-16 15:16:06 -05:00
Mitchell Hashimoto
c48a1801f6
apprt/gtk: only setup the toast overlay if we have it enabled
2024-09-16 10:18:02 -07:00
Mitchell Hashimoto
2f0b48e8ad
apprt/gtk: tweaks
2024-09-16 10:12:16 -07:00
Tristan Partin
d0c6c4f367
apprt/gtk: use toast UX from Adwaita if available
...
Notify the user with in-app notifications if libadwaita is available.
Co-authored-by: Paul Berg <paul@ber.gp>
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-16 11:57:58 -05:00
Paul Berg
89506e5933
gtk: prevent invalid call to adw_tab_view_get_page_position
...
Creating the first tab would call adw_tab_view_get_page_position with a null page.
2024-09-16 18:10:57 +02:00
Mitchell Hashimoto
941adcdac8
apprt/gtk: rename the other underscore actions to match naming rules
2024-09-13 20:49:31 -07:00
Mitchell Hashimoto
9e73d865fb
apprt/gtk: small comments
2024-09-13 20:45:39 -07:00