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
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
Mitchell Hashimoto
1ed1c73c1a
macos: enable secure input on password input
2024-09-19 16:38:32 -07:00
Mitchell Hashimoto
c0e0eff468
core: add toggle_secure_input keybinding
2024-09-19 10:20:30 -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
Mitchell Hashimoto
e3d528cf0b
termio: use surface messages to trigger password input state
2024-09-18 21:14:05 -07: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
Jeffrey C. Ollie
5f759a19d1
GTK: Fix clicking on desktop notifications
...
Currently, clicking on a desktop notification will bring Ghostty
to the foreground, but it won't necessarily bring the right window
to the top and it won't switch tabs or change the focus on splits.
With this patch, clicking on a desktop notification will raise the
correct window, change to the correct tab, and focus on the correct
split that send the original desktop notification.
2024-09-13 13:37:38 -07:00
Mitchell Hashimoto
9548ae532d
Merge pull request #2228 from Pangoraw/window-theme
...
apprt/gtk: add option to color header bars with theme colors
2024-09-13 10:09:44 -07:00
Mitchell Hashimoto
4a539cf4c9
apprt/gtk: style tweaks
2024-09-13 09:51:51 -07:00
Paul Berg
1037265cd9
apprt/gtk: make Notebook.create not depend on parent box
2024-09-13 09:44:41 -07:00
Jeffrey C. Ollie
12a791ddf2
gtk: prevent split separator from becoming transparent
2024-09-13 10:03:58 -05:00
Paul Berg
b935c7d46c
apprt/gtk: remove adw_tab_page from tab
2024-09-13 15:32:17 +02:00
Paul Berg
3dc4185d50
apprt/gtk: respect window-new-tab-position again
2024-09-13 11:37:23 +02:00
Paul
ac985937cd
apprt/gtk: add theme variant in window-theme
...
this colours the header bar with the config colour.
2024-09-13 10:06:42 +02:00
Jeffrey C. Ollie
80c1fd436f
adw: allow creating new tabs in a tab overview with no open tabs
...
Repro:
1) Start up Ghostty and create two windows.
2) On one window, open up the tab overview and close all of the tabs.
3) The window will not dissapear and should show that you have no open
tabs because the 2nd Ghostty window is keeping Ghostty from quitting.
4) Clicking on the "New Tab" button has no effect.
Fix is to allow creating a new tab even though there is no action surface.
2024-09-12 21:04:06 -05:00
Mitchell Hashimoto
415f5cfe1b
Merge pull request #2233 from tristan957/about
...
apprt/gtk: use AdwAboutDialog if available
2024-09-12 16:23:56 -07:00
Mitchell Hashimoto
fced4370d3
apprt/gtk: some tweaks, avoid uninitialized memory access, use optionals
2024-09-12 16:14:48 -07:00
Tristan Partin
f35671417c
apprt/gtk: use AdwTabOverview
...
An additional way to manage tabs.
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-12 15:59:07 -07:00
Mitchell Hashimoto
3a60fd6550
apprt/gtk: use GtkWidget so there is a common ancestor
2024-09-12 15:54:07 -07:00
Tristan Partin
b7d26a3ac3
apprt/gtk: use AdwAboutDialog if available
...
Matches the libadwaita theme and UX.
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-12 23:34:34 +01:00
Tristan Partin
a30fad7c59
apprt/gtk: use AdwHeaderBar if available
...
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-09-12 20:29:50 +01:00