250 Commits

Author SHA1 Message Date
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
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
36c3b1b3d1 apprt/gtk: gtk-adwaita runtime config to configure libadwaita
Fixes #874
2023-11-14 08:33:55 -08:00
Mitchell Hashimoto
2489ef4c13 stylistic tweaks 2023-11-11 15:15:52 -08:00
Gregory Anders
98b43007a0 core: use ClipboardRequestType instead of ClipboardPromptReason
Instead of making a separate enum that must be translated from the
ClipboardRequest type, simply re-use ClipboardRequest to determine the
clipboard confirmation reason.
2023-11-10 23:12:39 -05:00
Gregory Anders
9d3385703d gtk: fix memory leak in GTK clipboard confirmation window 2023-11-10 23:12:39 -05: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
Mitchell Hashimoto
8c59d1176e apprt/gtk: ensure equal tab width, truncate with ellipses
Fixes #607
2023-11-09 11:12:55 -08:00
Mitchell Hashimoto
0c695f3510 apprt/gtk: add comment about key aliases 2023-11-08 09:37:53 -08:00
Severus
3497fec7df Add keymap for KP_*
We miss some kp_* like: kp_home, kp_end, kp_up, kp_down, kp_page_up, kp_page_down, kp_left, kp_right.
Then we map those keys in gtk runtime.
2023-11-08 14:43:00 +07: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
f338c09506 apprt/gtk: move default id into scope 2023-11-06 08:55:13 -08:00
Mitchell Hashimoto
364a14d7a2 apprt/gtk: fix valid id check 2023-11-06 08:54:23 -08:00
Mitchell Hashimoto
3564dd5e7e stylistic changes 2023-11-06 08:47:09 -08:00
Raiden1411
60717cde14 chore: update fullscreen implementation 2023-11-06 14:03:44 +00:00
Raiden1411
232527c9dc fix: fullscreen on new windows 2023-11-06 11:59:16 +00:00
Raiden1411
094f8effa3 fix: begin implementation of suggested changes 2023-11-06 10:19:09 +00:00
Raiden1411
9e9ad67d3c feat: add support for fullscreen, title and class values 2023-11-05 11:49:25 +00:00
Mitchell Hashimoto
ebd57f6bbc apprt/gtk: correct new tab button click function signature
Fixes #674

We were incorrectly reusing the action activate signal callback for the
button click. These have different function signatures.
2023-11-04 16:57:01 -07:00
Mitchell Hashimoto
43e1c9f147 apprt/gtk: tweak unsafe paste window 2023-11-04 11:27:39 -07:00
Mitchell Hashimoto
ab9a9b6eb1 apprt/gtk: copy change for unsafe paste window 2023-11-04 11:24:48 -07:00
David Rubin
6e575d9035 configs added 2023-11-03 13:20:26 -07:00
David Rubin
44073e4c98 add basic functionality 2023-11-03 10:58:56 -07:00
xdBronch
bbdfcfe5bd fix build with libadwaita disabled 2023-11-03 03:20:35 -04:00
hanna
63fe99809f remove hard dependency on libadwaita 2023-11-02 21:54:05 -07:00
Hanna
2d7e2c8345 Integrate libadwaita for the gtk backend (#792)
* When using gtk as the backend, link libadwaita

* Update c.zig

* Use libadwaita's theme manager for gtk

* update the documentation for window-theme

* build: add libadwaita to the nix devshell

* forgot to properly import libadwaita

* apprt/gtk: adwaita style change

---------

Co-authored-by: Mitchell Hashimoto <mitchell.hashimoto@gmail.com>
2023-11-02 21:29:29 -07:00
Mitchell Hashimoto
59a53251cf apprt/gtk: create new tab after current tab
This behaves the same as macOS, and personally I prefer this behavior
because when I create a new tab, it is often contextual to what I'm
currently working on and keeping the tab nearby feels right.
2023-10-31 09:49:39 -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
Mitchell Hashimoto
cf6ee6ed14 apprt/gtk: only create window header bar with window decorations
Fixes #737
2023-10-27 10:08:59 -07: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
a162c7c47f inspector: move inspector to dedicated folder 2023-10-24 15:27:16 -07:00
Mitchell Hashimoto
880d7869a9 inspector: show modes 2023-10-24 15:27:16 -07: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