46 Commits

Author SHA1 Message Date
Thorsten Ball
8c58bf222d gtk: move logic of splitting surface in a tab to Tab 2023-11-30 21:43:39 -08:00
Thorsten Ball
9ddf097a03 gtk: Refactor how a new split is created 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
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
98a5016598 gtk: simplify code when creating new split 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
Mitchell Hashimoto
eac1731d9d apprt/gtk: translate modifier-only presses to proper modifier state 2023-11-29 20:37:56 -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
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
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
389712a698 renderer/opengl: switch to new update vs draw 2023-11-17 21:50:34 -08:00
Tim Culverhouse
caf2252144 gtk: implement desktop notifications 2023-11-17 12:59:23 -06:00
Gregory Anders
5290070be9 clipboard: add Clipboard variant for primary clipboard
In practice, the primary and selection clipboards are treated exactly
the same, but this allows OSC 52 sequences to use either 's' or 'p' as
the clipboard target.
2023-11-16 16:35:48 -06:00
Mitchell Hashimoto
ad24e5e687 renderer/opengl: use new preedit format 2023-11-15 09:59:08 -08:00
Mitchell Hashimoto
2489ef4c13 stylistic tweaks 2023-11-11 15:15:52 -08:00
Gregory Anders
960a1bb091 gtk: implement OSC 52 prompts 2023-11-10 23:12:39 -05:00
Gregory Anders
86245ff0cf macos: add option to prompt user for confirmation on OSC 52 commands 2023-11-10 23:12:39 -05:00
Tim Culverhouse
49fb5c8688 gtk(mouse): use "text" enum as default value
Use the .text field of the enum as the default value of the mouse shape
instead of renaming .default. Store the default value as the current
value for use in subsequent commits
2023-11-06 14:36:57 -08:00
Mitchell Hashimoto
ab9a9b6eb1 apprt/gtk: copy change for unsafe paste window 2023-11-04 11:24:48 -07:00
David Rubin
44073e4c98 add basic functionality 2023-11-03 10:58:56 -07:00
Mitchell Hashimoto
e188aba7f4 apprt/gtk: if no parent is set on new window, do not inherit wd 2023-10-30 08:50:58 -07:00
Mitchell Hashimoto
c2adf22858 apprt/gtk: comment on what is going on with keyval mapping 2023-10-28 08:42:35 -07:00
Vlad Pănăzan
6b7dd1479d apprt/gtk: handle non-unicode keyvals 2023-10-28 15:35:16 +02:00
Mitchell Hashimoto
25e3b21eae apprt/gtk: comment about future API 2023-10-27 15:09:52 -07:00
Mitchell Hashimoto
b985b28918 apprt/gtk: use gtk widget scale to get content scale 2023-10-27 15:03:41 -07:00
Vlad Pănăzan
ffaa7e11e2 apprt/gtk: handle surface scale changes 2023-10-27 23:27:53 +02:00
Gregory Anders
2ee80a52df macos: set window resizeIncrements when cell size changes
The resizeIncrements property is only modified when the cell size of the
focused window changes. If two splits have the same cell size then the
property is not modified when focusing between the two splits.
2023-10-26 20:27:58 -05:00
Mitchell Hashimoto
5a299e14e4 all threads are notified of inspector state, trigger render 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
afa08ffc02 initial work on basic inspector information 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
522d6b8ba1 apprt/gtk: destory the inspector properly on close 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
199e1cae29 apprt/gtk: surface has inspector state 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
769e7df675 apprt/gtk: implement default window size 2023-09-30 21:41:17 -07:00
Mitchell Hashimoto
abf43ddfcc apprt/gtk: change default cursor to text 2023-09-30 15:46:03 -07:00
Mitchell Hashimoto
56b0cb51d5 apprt/gtk: previous_tab/next_tab action do not consume if there are no tabs 2023-09-29 22:12:38 -07:00
Tim Culverhouse
4f2d67d8f3 gtk(input): fix value used for lowercase lower_unicode
When converting keyval to the unshifted version, gdk_keyval_to_lower
returns a keyval type, not a unicode value. Convert this to unicode
before assigning to keyval_unicode_unshifted.

This fixes a bug where the incorrect keycode is sent in alternate
layouts with kitty keyboard on linux.
2023-09-29 06:36:03 -05:00
Mitchell Hashimoto
8c4d25050a apprt/gtk: detect keyboard modifier state for mouse events 2023-09-26 12:37:59 -07:00
Mitchell Hashimoto
1f7d567f29 apprt/gtk: use gtk_keyval_to_lower to get unshifted
map_keycode was not respecting the keyboard layout!
2023-09-19 17:44:18 -07:00
Mitchell Hashimoto
7748390a7e apprt/gtk: async clipboard 2023-09-19 10:53:45 -07:00
Mitchell Hashimoto
dcf615022e apprt/gtk: key file for logic related to keys 2023-09-18 14:27:05 -07:00
Mitchell Hashimoto
f7272d506e apprt/gtk: handle scenario where OpenGL area becomes unrealized 2023-09-16 09:38:28 -07:00
Mitchell Hashimoto
d5036e78f4 apprt/gtk: refactor into separate files 2023-09-16 08:28:49 -07:00