Mitchell Hashimoto
780d4af8bc
apprt/gtk-ng: size_limit apprt action
...
This ports the same behavior from GTK, mostly. This also fixes a bug
where the limits would be enforced on reload. Instead, we should only
enforce them on the first surface ever.
2025-08-01 07:59:19 -07:00
Mitchell Hashimoto
1901cbf334
apprt/gtk-ng: initial size apprt action (window-width/height) ( #8115 )
...
Simple port. I might add size limits if I get to it, but finished this
and it works so opened it up.
2025-07-31 13:58:34 -07:00
Mitchell Hashimoto
0b9130aba9
apprt/gtk-ng: initial size apprt action (window-width/height)
2025-07-31 13:28:30 -07:00
Leah Amelia Chen
cf9943a3dd
gtk(wayland): bind globals correctly ( #8110 )
2025-07-31 18:28:05 +02:00
Leah Amelia Chen
c2165fc097
gtk(wayland): bind globals correctly
...
Fixes #7988
2025-07-31 15:51:49 +08:00
Mitchell Hashimoto
d4c825186e
apprt/gtk-ng: desktop notifications, open config, open url, present terminal ( #8105 )
...
Implements a number of minor apprt actions. More or less directly
ported. Some notes added for future improvements given the new
architecture.
2025-07-30 09:38:48 -07:00
Mitchell Hashimoto
6c952d4168
apprt/gtk-ng: desktop notification
2025-07-30 09:31:54 -07:00
Mitchell Hashimoto
e7ea084cc3
apprt/gtk-ng: present surface
2025-07-30 09:20:15 -07:00
Mitchell Hashimoto
60b859dbf2
apprt/gtk-ng: open config, open url
2025-07-30 09:04:01 -07:00
Mitchell Hashimoto
e7befe2ed1
apprt/gtk-ng: surface has correct initial size ( #8104 )
...
Ensure the surface has a correct initial size when created. This avoids
a rapid resize event and also the pty reports the correct size for
startup scripts.
This is a departure from macOS and legacy GTK. This has been an issue in
Ghostty for awhile so this is the proper path forward.
This works by deferring Surface initialization until the first resize
event. This MIGHT result in a frame or two not rendering but I haven't
noticed anything visually and having the correct size is far more
important.
2025-07-30 08:54:51 -07:00
Mitchell Hashimoto
7b1092f991
apprt/gtk-ng: surface has correct initial size
...
Ensure the surface has a correct initial size when created. This avoids
a rapid resize event and also the pty reports the correct size for
startup scripts.
This is a departure from macOS and legacy GTK. This has been an issue in
Ghostty for awhile so this is the proper path forward.
This works by deferring Surface initialization until the first resize
event. This MIGHT result in a frame or two not rendering but I haven't
noticed anything visually and having the correct size is far more
important.
2025-07-30 08:48:27 -07:00
Mitchell Hashimoto
1e721ae567
apprt/gtk-ng: tabs are back! ( #8098 )
...
This brings back all tabbing behaviors.
I ran through create/close tabs and windows with Valgrind and everything
ran clean.
TODO:
- [x] goto tab keybinding
- [x] move tab
- [x] toggle tab overview (binding only, UI works!)
- [x] create window action to pull tab out into a window
2025-07-30 07:13:38 -07:00
Mitchell Hashimoto
fde50e0f1c
apprt/gtk-ng: create-window action
2025-07-29 15:07:04 -07:00
Mitchell Hashimoto
0cc8b6d10f
apprt/gtk-ng: remove all shortcuts on tab view
2025-07-29 14:57:50 -07:00
Mitchell Hashimoto
2847aeb181
apprt/gtk-ng: toggle tab overview
2025-07-29 14:56:16 -07:00
Mitchell Hashimoto
a5188142ba
apprt/gtk-ng: move tab
2025-07-29 14:52:33 -07:00
Mitchell Hashimoto
2d1232878d
apprt/gtk-ng: goto_tab
2025-07-29 14:40:45 -07:00
Mitchell Hashimoto
c78d32074e
Add Gnome Nightly Icon Set ( #8100 )
...
This adds a nightly-variant for the icons. These aren't hooked up to our
build system yet.
<img width="1024" height="1024" alt="Ghostty-Gnome-Nightly-512"
src="https://github.com/user-attachments/assets/66da56a4-110a-4e60-8d6e-93e16bb27b51 "
/>
2025-07-29 12:15:54 -07:00
Mitchell Hashimoto
a705b42899
Add Gnome Nightly Icon Set
...
This adds a nightly-variant for the icons. These aren't hooked up to our
build system yet.
2025-07-29 12:10:42 -07:00
Mitchell Hashimoto
4fb790ca4c
apprt/gtk-ng: helper for getAncestor
2025-07-29 10:58:31 -07:00
Mitchell Hashimoto
179fa8e5aa
remove bad file
2025-07-29 10:43:20 -07:00
Mitchell Hashimoto
8b14ab1221
apprt/gtk-ng: workaround for tab overview selection
2025-07-29 10:39:45 -07:00
Mitchell Hashimoto
16bb579bab
update supps
2025-07-29 10:32:03 -07:00
Mitchell Hashimoto
0da6b2049d
apprt/gtk-ng: tab overview new tab
2025-07-29 10:29:28 -07:00
Mitchell Hashimoto
ccc8dac0a5
apprt/gtk-ng: new tab button
2025-07-29 10:24:25 -07:00
Mitchell Hashimoto
b475cd28d5
apprt/gtk-ng: new tab, slightly broken
2025-07-29 10:17:26 -07:00
Mitchell Hashimoto
0682811107
apprt/gtk-ng: window close confirmation
2025-07-29 09:48:17 -07:00
Mitchell Hashimoto
70010ec50a
typos
2025-07-29 09:38:31 -07:00
Mitchell Hashimoto
e4fb46f230
apprt/gtk-ng: close window if no tabs left
2025-07-29 09:38:09 -07:00
Mitchell Hashimoto
3bb6cdff4e
apprt/gtk-ng: window getActiveSurface
2025-07-29 09:33:38 -07:00
Mitchell Hashimoto
3f440821d9
fix up suppressions
2025-07-29 09:29:50 -07:00
Mitchell Hashimoto
c0e7b92e91
apprt/gtk-ng: close tab confirmation
2025-07-29 09:27:13 -07:00
Mitchell Hashimoto
431a6328dc
apprt/gtk-ng: handle surface close request
2025-07-28 21:38:00 -07:00
Mitchell Hashimoto
ed25a57d08
apprt/gtk-ng: hook up all existing surface signals
2025-07-28 21:22:23 -07:00
Mitchell Hashimoto
5279badd5b
apprt/gtk-ng: bind a bunch on page-attach/detach
2025-07-28 21:08:47 -07:00
Mitchell Hashimoto
fa45f971f4
apprt/gtk-ng: title bindings
2025-07-28 12:38:40 -07:00
Mitchell Hashimoto
775f3dfca3
apprt/gtk-ng: basic tab creation
2025-07-28 10:52:33 -07:00
Mitchell Hashimoto
e768b54d89
apprt/gtk-ng: new tab button in header
2025-07-28 10:21:47 -07:00
Mitchell Hashimoto
bc6cbdc41a
apprt/gtk-ng: toolbar style config
2025-07-28 10:21:47 -07:00
Mitchell Hashimoto
d7e42e6614
apprt/gtk-ng: tab bar top/bottom
2025-07-28 10:21:47 -07:00
Mitchell Hashimoto
e7cab27c38
apprt/gtk-ng: tab bar properties
2025-07-28 10:21:47 -07:00
Mitchell Hashimoto
288461fbee
apprt/gtk-ng: setup tab views in blueprint
2025-07-28 10:21:47 -07:00
Mitchell Hashimoto
92c1f4b0b9
macOS: update Float on Top menu icon to square.filled.on.square
( #8087 )
...
Address a minor UI confusion introduced by #7594 .
Ghostty's "Float on Top" action icon uses
`square.3.layers.3d.top.filled`, which is the same as macOS's "Bring All
to Front" action. This may cause confusion.
Before:
<img width="333" height="156" alt="image"
src="https://github.com/user-attachments/assets/5148909c-f090-4b2f-8206-c45cb30cf30e "
/>
After:
<img width="336" height="148" alt="image"
src="https://github.com/user-attachments/assets/3c3a820f-ece3-4778-af47-767758c23266 "
/>
2025-07-28 10:01:14 -07:00
Mitchell Hashimoto
3278507ae8
Fix typo in VM Acceptance Criteria ( #8092 )
...
This PR fixes a small typo in the "VM Acceptance Criteria" section —
replaces "The" with "They".
2025-07-28 10:01:03 -07:00
Ahmed Harabi
87bb949a93
Fix typo in VM Acceptance Criteria ('The' → 'They')
2025-07-28 15:57:48 +00:00
Mitchell Hashimoto
a5a09f5ba4
apprt/gtk-ng: port SIGUSR2 to reload config ( #8091 )
...
Nothing controversial here.
2025-07-28 08:33:22 -07:00
Mitchell Hashimoto
c149ba1907
apprt/gtk-ng: port SIGUSR2 to reload config
2025-07-28 08:21:28 -07:00
Mitchell Hashimoto
d474c81b90
gtk-ng: fix up background of resize and url overlays ( #8089 )
...
PR #8088 had the unexpected side-effect of making the resize and url
overlays transparent as well. This PR fixes that.
2025-07-27 21:33:59 -07:00
Jeffrey C. Ollie
96573917a0
gtk-ng: fix up background of resize and url overlays
...
PR #8088 had the unexpected side-effect of making the resize and url
overlays transparent as well. This PR fixes that.
2025-07-27 23:28:28 -05:00
Mitchell Hashimoto
4c01d776c5
valgrind: make some GSK renderer supressions less strict
2025-07-27 21:08:15 -07:00