1214 Commits

Author SHA1 Message Date
Kovid Goyal
0c47f81187 Remove special casing for Hyprland
Hyprland has now been fixed to send only a single fractional scale
event, so no need for special casing it.
2025-01-22 18:53:46 +05:30
Kovid Goyal
5e41de9505 ... 2025-01-21 16:43:18 +05:30
Kovid Goyal
0527db876b Wayland niri: Fix 250ms delay on startup when using scale 1
We special case Hyprland, hopefully the special casing can be removed
once https://github.com/hyprwm/Hyprland/issues/9126 is fixed.

Fixes #8236
2025-01-21 16:40:32 +05:30
Kovid Goyal
b256f56afb ... 2025-01-21 15:13:54 +05:30
Kovid Goyal
7346aca56d Function to probe for Wayland compositor name
Maybe needed to workaround #8236
2025-01-21 15:10:07 +05:30
Kovid Goyal
055fb30bf2 macOS: Fix mouse cursor shape not always being reset to text cursor when mouse re-enters kitty
Fixes #8155
2024-12-25 08:26:56 +05:30
Kovid Goyal
af9e9fbc6f Fix #8138 2024-12-20 08:58:35 +05:30
Robin Carlier
2005069f90 Panel: fix height, exclusive zone flag, better helptext 2024-11-24 10:48:37 +01:00
Robin Carlier
5f1c603220 Panel: add options for margin 2024-11-23 21:07:57 +01:00
Robin Carlier
ce2bcbb92d Panel: add a edge=none option 2024-11-23 21:07:57 +01:00
Robin Carlier
4eb8e6052f Panel: choose the display layer 2024-11-23 21:07:57 +01:00
Kovid Goyal
1ff74b86dc Wayland GNOME: Workaround bug in mutter causing double tap on titlebar to not always work
Fixes #8054
2024-11-18 08:46:17 +05:30
Kovid Goyal
b0ebd340fe Function to get the current system color theme 2024-11-07 12:47:06 +05:30
Kovid Goyal
239e08f268 When reading desktop settings from the portal provide a list of supported namespaces
The wlr portal doesnt work with an empty list. Sigh.
2024-11-07 11:10:27 +05:30
Kovid Goyal
754288557d Track initial color scheme preference read on Linux 2024-11-07 10:38:13 +05:30
Kovid Goyal
16c82c7c16 Fix alpha conversion for wayland single pixel buffer 2024-10-20 09:35:28 +05:30
Kovid Goyal
61545a83e5 Fix #7982 2024-10-18 21:27:10 +05:30
Kovid Goyal
76cd68760a ... 2024-09-27 12:28:43 +05:30
Kovid Goyal
c0f04231ed Move CVDisplayLink code into its own module
Apple has deprecated CVDisplayLink in favor of CADisplayLink which has
different semantics. So turn off deprecation warnings for
CVDisplayLink related code only until I can be bothered to port it to
CADisplayLink.
2024-09-27 12:12:12 +05:30
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