23 Commits

Author SHA1 Message Date
Mitchell Hashimoto
2ab5d3cd81 apprt/gtk-ng: implement the quit_timer action to just quit 2025-07-18 11:42:44 -07:00
Mitchell Hashimoto
7c9e913ca9 apprt/gtk-ng: hook up surface initialization 2025-07-18 11:42:44 -07:00
Mitchell Hashimoto
9f2ff0cb9c apprt/gtk-ng: introduce a basic surface 2025-07-18 11:42:44 -07:00
Mitchell Hashimoto
d924593993 apprt/gtk-ng: extract common methods into a mixin (#7981)
Every GObject class we're ever going to make has the same handful of
methods. This adds *just enough* noise to be annoying. This commit
extracts the common ones so far into a central mixin. Since Zig is
removing `usingnamespace` and has no other mixin mechanism, we must
forward the decls, but this is still cleaner imo than what we did
before.

I suspect longer term we can probably abstract more of the `zig-gobject`
boilerplate into a higher level abstraction but I'm not confident doing
that yet across the 4 classes we have so far.

Credit to @pluiedev for pointing this out.
2025-07-18 07:34:47 -07:00
Mitchell Hashimoto
833f7f1142 apprt/gtk-ng: extract common methods into a mixin
Every GObject class we're ever going to make has the same handful of
methods. This adds *just enough* noise to be annoying. This commit
extracts the common ones so far into a central mixin. Since Zig is
removing `usingnamespace` and has no other mixin mechanism, we must
forward the decls, but this is still cleaner imo than what we did
before.

I suspect longer term we can probably abstract more of the `zig-gobject`
boilerplate into a higher level abstraction but I'm not confident doing
that yet across the 4 classes we have so far.
2025-07-18 07:31:29 -07:00
Jeffrey C. Ollie
38f044cd87 gtk-ng: fix missing progress_report action 2025-07-17 22:39:02 -05:00
Mitchell Hashimoto
9b99e41cb2 apprt/gtk-ng: fix config textbuffer memory leak 2025-07-17 13:29:42 -07:00
Mitchell Hashimoto
8556877883 Add valgrind suppression file 2025-07-17 12:52:20 -07:00
Mitchell Hashimoto
b2fe9fd7db apprt/gtk-ng: fix merge conflict 2025-07-17 10:00:05 -07:00
Mitchell Hashimoto
562bd7e458 comments 2025-07-17 09:55:59 -07:00
Mitchell Hashimoto
31c5af74c5 apprt/gtk-ng: handle config reloading 2025-07-17 09:55:58 -07:00
Mitchell Hashimoto
0da47903f4 apprt/gtk-ng: hook up all the refs to show the dialog 2025-07-17 09:55:58 -07:00
Mitchell Hashimoto
b1aab1e7bf apprt/gtk-ng: remove Ghostty-prefix from Zig-side classes 2025-07-17 09:55:58 -07:00
Mitchell Hashimoto
531d4a480e apprt/gtk-ng: hook up all the bindings for the config errors dialog 2025-07-17 09:55:30 -07:00
Mitchell Hashimoto
c3ba6e252e apprt/gtk-ng: use the GhosttyConfig class to wrap our config 2025-07-17 09:55:30 -07:00
Mitchell Hashimoto
e76a151b42 apprt/gtk-ng: GhosttyConfig 2025-07-17 09:55:29 -07:00
Tristan Partin
2695361274 apprt/gtk-ng: assert that GTK is uninitialized in setGtkEnv
Signed-off-by: Tristan Partin <tristan@partin.io>
2025-07-16 22:38:37 -06:00
Mitchell Hashimoto
426fa8d8f9 apprt/gtk-ng: move our app initialization all into the App class 2025-07-16 12:20:13 -07:00
Mitchell Hashimoto
3257203b6c apprt/gtk-ng: start basic window 2025-07-16 09:40:34 -07:00
Mitchell Hashimoto
bb96388902 apprt/gtk-ng: cgroup base setup 2025-07-16 09:40:34 -07:00
Mitchell Hashimoto
ce06eb5f64 apprt/gtk-ng: application startup to initialize styles 2025-07-16 09:40:34 -07:00
Mitchell Hashimoto
ecb77fb8bc apprt/gtk-ng: gresource creation, resource registration in Application 2025-07-16 09:40:34 -07:00
Mitchell Hashimoto
9c6cf61cd4 apprt/gtk-ng: GhosttyApplication and boilerplate to run 2025-07-16 09:40:34 -07:00