Kovid Goyal
271665dbaf
Temporary workaround for CVDisplayLink deprecation
...
Apple simply cannot get its APIs right on the first try, ever.
2024-09-26 01:13:10 +05:30
Kovid Goyal
f48bcb1a17
Wayland GNOME: Fix a crash when using multiple monitors with different scales and starting on or moving to the monitor with lower scale
...
Fucking GNOME and its fucking lack of support for SSD. How much of my
life I have wasted on these nincompoops.
Fixes #7894
2024-09-26 00:49:04 +05:30
Kovid Goyal
627360e5ad
Bind the idle inhibit protocol even though it is currently unused
2024-08-27 11:32:06 +05:30
Kovid Goyal
3e8abaac58
...
2024-08-27 10:30:35 +05:30
Kovid Goyal
68401eddba
Wayland: Don't do two stage window creation
...
We cant make window visible after createwindow has returned because we
want to loop till the compositor fully creates the window and that loop
requires attaching a single pixel buffer to the window surface which
cannot be done once an OpenGL context is created for the window.
As far as I can see the preshow callback is not used on Wayland for
anything, so this should be OK to do.
2024-08-27 10:25:18 +05:30
Kovid Goyal
0594033b31
Wayland: Move creation of OpenGL context to end of window creation function
...
Apparently with explicit sync it is now not possible to attach a
temporary buffer to a surface that also has an OpenGL context. So we
first attach the temporary buffer, and only after we are done waiting
for window creation do we attach the OpenGL context to the window
surface.
Fixes #7767 (maybe, not installing sway-git to check)
2024-08-26 15:36:27 +05:30
Kovid Goyal
191ccf2d54
Wire up color scheme change notifications on X11 as well
2024-08-11 22:20:39 +05:30
Kovid Goyal
d7902f6b24
Wayland GNOME: Fix a small rendering artifact when docking a window at a screen edge or maximizing it
...
For some reason destroying the shadow surfaces causes mutter to render one of them at its old relative position. So workaround by not destroying the surfaces, modern mutter anyway seems to hide them when the window is docked.
Fixes #7701
2024-08-07 13:34:10 +05:30
Kovid Goyal
bd8162fa42
Add support for controlling the sound played with notifications
2024-08-03 13:46:38 +05:30
Kovid Goyal
89aa82e8d7
Pass the first notification type as category to the dbus server
2024-08-02 20:41:18 +05:30
Kovid Goyal
99df3c072c
Use the nicer stpcpy function
2024-08-01 11:11:30 +05:30
Kovid Goyal
6ffe2d82b8
On Linux use the notification server capabilities when responding to queries
2024-08-01 10:32:51 +05:30
Kovid Goyal
aa16918dd4
Implement support for buttons on notifications in Linux
2024-07-31 12:11:21 +05:30
Kovid Goyal
2bffea2bdc
Implement updating of notifications
2024-07-28 12:25:35 +05:30
Kovid Goyal
c18098d872
Cleanup DBUS send notification API
2024-07-26 23:57:36 +05:30
Kovid Goyal
2c90baf0b6
Get icon names working on linux
2024-07-26 23:57:36 +05:30
Kovid Goyal
7e610eb645
Get closing of notifications working on Linux
...
Also implement support for the ActivationToken signal
so that OS Windows are focused on Wayland when clicking
on a notification.
2024-07-25 12:22:58 +05:30
Kovid Goyal
d68e49fe64
Start work on refactoring notifications handling
...
Makes the code cleaner and easily mockable for testing.
Also, add code to handle closing notifications on Linux.
2024-07-25 06:45:10 +05:30
Kovid Goyal
314da124f3
macOS 15: Handle Fn modifier when detecting global shortcuts
...
Fixes #7582
2024-07-01 09:54:01 +05:30
Kovid Goyal
190566be8e
Wayland: Fix specifying the output name for the panel kitten not working
...
Fixes #7573
2024-06-25 12:53:37 +05:30
Kovid Goyal
a43188e778
Fix #7571
2024-06-24 18:21:28 +05:30
Kovid Goyal
48f053b8cc
Fix #7555
2024-06-18 05:59:12 +05:30
Adam Schmalhofer
8fabc47776
Fix Gnome 44 invisible title bar on Wayland
...
a.k.a. title bar is completely missing
Fixes: https://github.com/kovidgoyal/kitty/issues/7425
2024-06-17 13:18:48 +02:00
Kovid Goyal
2a6870b21f
Wayland labwc: Fix kitty timing out waiting for compositor to quit fucking around with scales on labwc
...
labwc is unique among Wayland compositors in implementing fractional
scale but not preferred integer buffer scale events. We didn't cater to
this particular combination of before. And to top it off it appears to
have no way for the user to set/control the scale so I cant even test
what it will do with fractional scales other than 1. Sigh. As with all
things Wayland, you need to be a masochist to subject yourself to them.
Fixes #7540
2024-06-16 15:01:46 +05:30
Kovid Goyal
88aa4d1de3
Revert 72272ab4fe
...
Apparently NVIDIA drivers dont handle this well. Sigh.
Go back to calling wl_egl_window_resize() before resizing the
framebuffer instead of before swapping in the resized framebuffer.
Logically, these should be equivalent, but...
Wayland is such an ongoing disaster.
Fixes #7493 (I hope).
2024-06-02 19:24:00 +05:30
Kovid Goyal
48070ff38e
Fix #7481
2024-05-28 15:14:13 +05:30
Kovid Goyal
55417e4269
Move the window context changing during show fix into glfw code
...
It more logically belongs there.
2024-05-28 09:46:16 +05:30
Kovid Goyal
9acca045bd
macOS: Fix changing window chrome/colors while in traditional fullscreen causing the titlebar to become visible
...
Fixes #7469
2024-05-23 22:30:57 +05:30
Kovid Goyal
f86102ab88
macOS: Fix --start-as=fullscreen not working when another window is already fullscreen
...
Apparently, we need to make the window visible before full screening it.
Sigh. I dont know why Apple insisted on this horrible "fancy"
fullscreen of theirs, it's full of bugs and dog slow.
Fixes #7448
2024-05-23 08:38:38 +05:30
Kovid Goyal
adc457ff0f
Dynload libsystemd
2024-05-16 21:13:09 +05:30
Kovid Goyal
b5022cbd81
DRYer
2024-05-16 20:17:15 +05:30
Kovid Goyal
32f3d43aa0
Support setting urgency for DBUS notifications
2024-05-16 20:10:26 +05:30
Kovid Goyal
f979c24add
Move some defines to only the source files where they are needed
2024-05-16 17:38:26 +05:30
Kovid Goyal
65f06e8fdb
Wayland: Fix crash on compositors that dont support the window activation protocol
2024-05-06 08:52:01 +05:30
Kovid Goyal
ce4237c45d
DRYer
2024-05-05 14:09:18 +05:30
Kovid Goyal
849dcd424d
Wayland: save energy by not rendering "suspended" windows on compositors that support that
...
Note that this breaks kitty on GNOME 45 which has a bug, but it fine on
GNOME 46.
2024-05-05 13:42:51 +05:30
Kovid Goyal
6e1df67e03
Use xdg-shell version 6
...
This gives us window "suspended" events. Theoretically these could be
used to implement glfwWindowIconified() and thereby not render suspended
OS windows. However let's wait a bit and see how this stabilizes. There
are all sorts of bugs around this currently, for example:
https://gitlab.gnome.org/GNOME/mutter/-/issues/3435
https://gitlab.gnome.org/GNOME/mutter/-/issues/3229
https://bugreports.qt.io/browse/QTBUG-124450
2024-05-05 13:24:45 +05:30
Kovid Goyal
aecf07bcba
Wayland: Fix infinite loop causing bad performance when using IME via fcitx5 due to a change in fcitx5
...
Fix #7396
2024-04-28 11:30:48 +05:30
Kovid Goyal
8c7994c0ac
Dont call wl_egl_window_resize on every swap
2024-04-24 10:04:06 +05:30
Kovid Goyal
8e59b598e0
Improve logging slightly
2024-04-24 09:38:59 +05:30
Kovid Goyal
72272ab4fe
Remove need for context switching
...
Call wl_egl_window_resize just buffer swapping buffers at which point
the context is already correct.
Also might workaround bugs in the NVIDIA driver: https://github.com/NVIDIA/egl-wayland/issues/52
2024-04-24 09:27:02 +05:30
Kovid Goyal
b7e22a357f
...
2024-04-24 08:57:49 +05:30
Kovid Goyal
0f00b0cfb6
Use RAII for context management
2024-04-24 08:21:27 +05:30
Kovid Goyal
9755d0d879
Wayland: Ensure context is correct when calling wl_egl_window_resize
...
Fixes #7373 (I hope)
2024-04-22 18:07:34 +05:30
Kovid Goyal
fbefd8600f
output window id is debug logs useful for debugging issues with multiple os windows
2024-04-22 14:04:26 +05:30
Kovid Goyal
8d1b0e54af
Use double for wayland float calculation
2024-04-19 22:23:01 +05:30
Kovid Goyal
63ffa2606c
Give the close X a distressed look
2024-04-17 11:05:05 +05:30
Kovid Goyal
f66ee68834
Wayland GNOME: Draw the titlebar buttons without using a font
...
Fixes #7349
2024-04-17 10:39:30 +05:30
Kovid Goyal
494892c7e4
Dont create the region unless actually needed
2024-04-16 18:16:28 +05:30
Kovid Goyal
6c1a83ffd7
Wayland KDE: Fix window background blur not adapting when window is grown. Also fix turning it on and off not working.
...
Fixes #7351
2024-04-16 18:11:26 +05:30