428 Commits

Author SHA1 Message Date
Thorsten Ball
290b79ad62 gtk: restore "inherit working directory" behavior 2023-11-30 21:44:16 -08:00
Thorsten Ball
b60133fd34 gtk: keep buffer of surface title, update if focused 2023-11-30 21:44:15 -08:00
Thorsten Ball
b1e3685664 gtk: find first surface to focus on if sibling is Paned 2023-11-30 21:44:04 -08:00
Thorsten Ball
f1e81563d9 gtk: always remember focused surface before grabbing focus 2023-11-30 21:44:04 -08:00
Thorsten Ball
a1fb74d8aa gtk: rework naming conflict after rebase 2023-11-30 21:44:03 -08:00
Thorsten Ball
ab93579bf6 gtk: port new-tab behavior over after rebase and refactor
This is the new behavior from #776.
2023-11-30 21:43:39 -08:00
Thorsten Ball
8c58bf222d gtk: move logic of splitting surface in a tab to Tab 2023-11-30 21:43:39 -08:00
Thorsten Ball
633a3e2e85 gtk: remove duplication of new surface creation 2023-11-30 21:43:39 -08:00
Thorsten Ball
eed2bb3078 gtk: refactor code and add comments to Paned 2023-11-30 21:43:39 -08:00
Thorsten Ball
fde6289880 gtk: rename and refactor Tab.deinit 2023-11-30 21:43:39 -08:00
Thorsten Ball
34e4261210 gtk: refactor the Paned deinit method 2023-11-30 21:43:39 -08:00
Thorsten Ball
adba77c3f9 gtk: fix warning when replacing children of Paned 2023-11-30 21:43:39 -08:00
Thorsten Ball
d88c29377b gtk: use deinit method on Paned consistently 2023-11-30 21:43:39 -08:00
Thorsten Ball
77b8e3c956 gtk: move helper function around 2023-11-30 21:43:39 -08:00
Thorsten Ball
aaa6ff8884 gtk: introduce helper method on Paned 2023-11-30 21:43:39 -08:00
Thorsten Ball
dc0f6e3a5b WIP: gtk: handle split surfaces when closing tab/window 2023-11-30 21:43:38 -08:00
Thorsten Ball
a7717289eb gtk: fix tab settings after introducing *Tab 2023-11-30 21:43:38 -08:00
Thorsten Ball
790cd84203 gtk: refator Parent/Tab/Paned and how they interact 2023-11-30 21:43:38 -08:00
Thorsten Ball
9ddf097a03 gtk: Refactor how a new split is created 2023-11-30 21:43:38 -08:00
Thorsten Ball
de7cbb602f gtk: refactor replacing child of Paned 2023-11-30 21:43:38 -08:00
Thorsten Ball
0add9de0eb gtk: handle closing of surfaces with sibling being a Paned 2023-11-30 21:43:38 -08:00
Thorsten Ball
142a2f4cb0 gtk: refactor how Paned is created 2023-11-30 21:43:38 -08:00
Thorsten Ball
19f7b37bb3 gtk: move Child/Parent/Position into same file 2023-11-30 21:43:38 -08:00
Thorsten Ball
be836bc777 gtk: allow closing split panes that have been split 2023-11-30 21:43:38 -08:00
Thorsten Ball
5e789bf152 gtk: allow splitting when already split 2023-11-30 21:43:38 -08:00
Thorsten Ball
2ed841145b gtk: take direction into account when creating a new split 2023-11-30 21:43:38 -08:00
Thorsten Ball
a50fc7bc50 gtk: use unreachable in switch statements 2023-11-30 21:43:38 -08:00
Thorsten Ball
8afcce666a gtk: wire up close-tab button 2023-11-30 21:43:38 -08:00
Thorsten Ball
98a5016598 gtk: simplify code when creating new split 2023-11-30 21:43:38 -08:00
Thorsten Ball
601eed24c4 gtk: remove code comments and dead code 2023-11-30 21:43:38 -08:00
Thorsten Ball
2d7a81c0db gtk: cleanup code in *Paned 2023-11-30 21:43:38 -08:00
Thorsten Ball
d88898fc61 gtk: get 1st version of GTK splits working 2023-11-30 21:43:37 -08:00
Nathan Fisher
aba1b85503 Add Parent and Child types for tracking splits; Add methods for
adding start and end children in `Paned` widget;
2023-11-30 21:41:34 -08:00
Nathan Fisher
5b5c2c9ab2 Fill out the rest of Tab.init() 2023-11-30 21:41:34 -08:00
Nathan Fisher
1b16c2dd23 Add to Tab.init and fix compilation errors 2023-11-30 21:41:34 -08:00
Nathan Fisher
5c0b668517 Begin working on a skeleton for splits in Linux/Gtk 2023-11-30 21:41:34 -08:00
Chris Marchesi
1832401e0e gtk: make sure WM_CLASS is being set on X11
This ensures that WM_CLASS is being set on X11, looks like this was
missed in #816 (not 100% sure if it always needs to be set in GDK or if
it's a side effect of us not using g_application_run).

This also adds the "x11-instance-name" config attribute to control the
instance name, which defaults to "ghostty" (or "ghostty-debug" on debug
builds).
2023-11-30 20:26:12 -08:00
Mitchell Hashimoto
eac1731d9d apprt/gtk: translate modifier-only presses to proper modifier state 2023-11-29 20:37:56 -08:00
Mitchell Hashimoto
5acaf3279d apprt/gtk: use new resources dir 2023-11-22 22:10:16 -08:00
Mitchell Hashimoto
2ce3db7dc2 apprt/gtk: set default cursor to be "text" (ibeam)
Fixes #933

On startup, we'd set the cursor to "text" but we wouldn't store that as
our cursor so when the mouse was unhidden, we'd go back to "default".
This PR changes it so that on surface startup we set and store the
"text" cursor so as the cursor hides/shows it reverts to the proper
value.
2023-11-21 17:10:44 -08:00
Mitchell Hashimoto
0430758b60 Merge pull request #923 from vancluever/vancluever-config-gtk-titlebar
apprt/gtk: let GTK titlebar be toggleable
2023-11-20 20:29:47 -08:00
Chris Marchesi
39e3fca210 apprt/gtk: let GTK titlebar be toggleable
This adds the gtk-titlebar option, which allows you to toggle the GTK
titlebar on (default) and off.

Under some circumstances (e.g. tiling WMs with titlebars enabled), one
may wish to disable the GTK titlebar/CSD for aesthetic reasons. This
allows you to do that.

Fixes #920.
2023-11-20 20:07:11 -08:00
Mitchell Hashimoto
f2c1e18647 apprt/gtk: support IME popups such as Asian language input
Fixes #882

This hooks up all the GTK.IMContext things properly so that we support
switching input methods, popups, etc. This should improve our support
for asian languages, emoji input, etc.
2023-11-20 18:08:23 -08:00
Mitchell Hashimoto
67119e6433 apprt/gtk: disable GTK capturing F10
Fixes #894
2023-11-20 14:16:13 -08:00
Mitchell Hashimoto
080789957a Merge pull request #903 from mitchellh/macos-update
Custom Shaders (Metal and OpenGL)
2023-11-17 22:06:38 -08:00
Mitchell Hashimoto
f2513e0825 Merge pull request #876 from gpanders/notifications
Add support for desktop notifications
2023-11-17 21:57:09 -08:00
Mitchell Hashimoto
fb0929a11b renderer/opengl: extract cell program state to dedicated struct 2023-11-17 21:51:05 -08:00
Mitchell Hashimoto
389712a698 renderer/opengl: switch to new update vs draw 2023-11-17 21:50:34 -08:00
Mitchell Hashimoto
67dce5ce0e update zig-objc 2023-11-17 21:50:34 -08:00
Tim Culverhouse
caf2252144 gtk: implement desktop notifications 2023-11-17 12:59:23 -06:00