Jeffrey C. Ollie
a0de1be65f
gtk: fix non-notebook separator colors
2025-01-02 17:49:15 -06:00
Mitchell Hashimoto
fb8c83e07c
config: change toast config to packed struct
2025-01-02 14:15:16 -08:00
Yotam Gurfinkel
e6bb1a56eb
config: Add the option toast_on_clipboard_copy
...
Add a config option to enable/disable the toast shown on clipboard copy
2025-01-02 14:09:29 -08:00
Jeffrey C. Ollie
0778c67429
gtk: refactor gtk & adw notebook implementations
...
Put GTK and libadwaita notebook implementations into separate structs/
files for clarity.
2025-01-02 15:21:11 -06:00
Jeffrey C. Ollie
f97f7e8a70
gtk: also add css window-decorated class when toggling window decorations
2024-12-30 19:40:13 -06:00
Jeffrey C. Ollie
220d40e99a
gtk: make sure that window-decoration is honored on all paths
2024-12-30 16:10:14 -06:00
Jeffrey C. Ollie
ffe1b7a872
gtk: don't use gtk_window_set_titlebar if adwaita is enabled but it's older than 1.4.0
2024-12-30 14:44:56 -06:00
Mitchell Hashimoto
a7c93cdfb1
apprt/gtk: fix the combination of gtk-titlebar=false and gtk-tabs-location=hidden ( #3957 )
...
Fixes : #3178
2024-12-30 08:55:22 -08:00
Tristan Partin
31c9a2fe59
apprt/gtk: make window-decoration=false with gtk-titlebar=true look better
...
Before this change, there seemed to be some artifacting in the window
corners due to the window border no longer outlining the content
properly. By detecting the situation, we can turn the window border
radius off.
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-29 22:57:48 -06:00
Tristan Partin
0fd65035c5
apprt/gtk: fix the combination of gtk-titlebar=false and gtk-tabs-location=hidden
...
Fixes : #3178
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-29 22:12:37 -06:00
Tristan Partin
7256ebe13d
apprt/gtk: fix website link in about window
2024-12-29 16:47:44 -06:00
Tristan Partin
27ddc2a9b2
apprt/gtk: create the tab overview even if gtk-titlebar=false
...
self.isAdwWindow() obscures that check a bit.
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-29 14:45:45 -06:00
Jeffrey C. Ollie
8ecb11a602
gtk: add option to not link against libX11
2024-12-28 13:40:17 -06:00
Iain H
19e8651247
apprt/gtk: move new tab button to start of header bar
...
According to the GNOME human interface guidelines, buttons for the main
user actions, such as new, add, open, and back should be placed at the
start of the header bar. (https://developer.gnome.org/hig/patterns/containers/header-bars.html#header-bar-buttons )
Moving the new tab button to the start of the header bar brings Ghostty
in line with other GNOME applications such as gedit and gnome-terminal.
2024-12-23 11:48:22 -05:00
Mitchell Hashimoto
fdd330d22d
apprt/gtk: stylistic changes
2024-12-15 14:01:10 -08:00
Tristan Partin
98380f3c42
apprt/gtk: abstract AdwHeaderBar and GtkHeaderBar
...
This will make further changes a little bit more readable.
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-15 14:01:10 -08:00
Mitchell Hashimoto
fc6357ac70
apprt/gtk: slight style feedback
2024-12-15 13:54:06 -08:00
Tristan Partin
06ba06cfd0
apprt/gtk: unify tooltip text with AdwTabButton
...
AdwTabButton uses "View Open Tabs."
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-14 12:40:11 -06:00
Tristan Partin
73bb2bb9bc
apprt/gtk: add gtk-tabs-location=hidden
...
This is only supported on libadwaita. Instead of the normal tab overview
button, we will use an AdwTabButton[0].
Link: https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1.6/class.TabButton.html [0]
Signed-off-by: Tristan Partin <tristan@partin.io>
2024-12-14 12:40:11 -06:00
Mitchell Hashimoto
b9345e8d6a
try to abstract bundle ID to a zig file
2024-11-25 16:11:02 -08:00
Jeffrey C. Ollie
6d8cf55040
gtk: use correct function to destroy window
...
adw_application_window_destroy and gtk_application_window_destroy do not
exist. I believe that this didn't trigger a compile error because the
errdefer got compiled out because there are no potential error returns
after this code in the function.
2024-11-01 10:33:18 -05:00
Mitchell Hashimoto
28751ae5b8
Merge pull request #2485 from axdank/move_current_Tab
...
gui: add move_current_tab action
2024-10-25 14:15:16 -07:00
axdank
520dda65cb
apply review changes
2024-10-25 08:07:11 -03:00
Mitchell Hashimoto
a793ad2f0d
gtk: make goto_tab go to last tab if too large
2024-10-24 20:01:15 -07:00
axdank
465d60def8
gui: add move_current_tab action
2024-10-24 00:01:54 -03:00
Mitchell Hashimoto
c614f2b485
apprt/gtk: use stackfallback for runtime CSS, explicit errors
2024-10-16 06:19:47 -07:00
Jeffrey C. Ollie
ca42b4ca1c
gtk: use CSS variables and color calcs introduced in 4.16
...
This takes advantage of CSS variables and color expressions to improve
the `window-theme=ghostty` support. The only visibile difference from
the previous implementation is that the header bar will darken if the
Ghostty window is in the background, which is standard for GTK apps.
This is conditional at runtime. If Ghostty detects that you're running
against GTK 4.16 or newer it will use the CSS variables and color calcs.
If you're running against older versions it will use CSS classes to
achieve nearly the same effect.
2024-10-14 18:24:05 -05:00
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
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
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
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
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
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
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
Yi Ming
74411511df
refactor: remove the unnecessary ./
in imports
2024-09-19 15:35:52 +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