Kovid Goyal
62656b24eb
GNOME: Add a new option to control the color of the kitty window titlebar
2021-04-25 11:22:23 +05:30
Kovid Goyal
9a2b0b6995
Wayland CSD: Double clicking on titlebar should toggle window maximize
2021-04-19 08:58:29 +05:30
Kovid Goyal
4e6d5d3f1e
Fix GNOME breaking when setting window geometry
...
The current version of GNOME has a regression that causes the compositor
to send incorrect geometry with the next configure event if the CSD
buffers are created after a call to set_window_geometry.
So call set_window_geometry last. And shake head sadly.
2021-04-07 22:14:09 +05:30
Kovid Goyal
a19d1fc140
Restore size after all types of docking not just maximize/unmaximize
...
We make use of the fact that wayland tells us when the window is being
resized to track actual user requested sizes as opposed to compositor
requested ones.
2021-04-07 15:08:44 +05:30
Kovid Goyal
5a1bd93518
Handle all known xdg top level states
2021-04-07 13:33:06 +05:30
Kovid Goyal
7e78f30739
Wayland: Fix un-maximizing a window not restoring its size to what it was before being maximized
2021-04-05 13:47:50 +05:30
Kovid Goyal
bd6643a523
Use a tile to reduce startup CPU cost of shadows
2021-04-04 18:16:33 +05:30
Kovid Goyal
53f2df115e
Hook up re-render of title bar when title changes
2021-03-29 12:15:47 +05:30
Kovid Goyal
0593158a86
Refactor CSD code to avoid un-needed rerenders and use a single shm pool for all CSD buffers
2021-03-29 12:15:47 +05:30
Kovid Goyal
c1f8372efc
Hide edges when not focused
2021-03-29 12:15:47 +05:30
Kovid Goyal
6e3db0be3d
Rename variable
2021-03-29 12:15:47 +05:30
Kovid Goyal
e7931b0121
Get rid of the no longer needed viewporter protocol
2021-03-29 12:15:47 +05:30
Kovid Goyal
aeb82e7fb0
Refactor the rendering of CSD on Wayland
2021-03-29 12:15:47 +05:30
Kovid Goyal
0510cd47f4
Rename buffer -> edge_buffer
2021-03-25 15:19:11 +05:30
Kovid Goyal
44df11c443
Move CSD metrics into the window object
...
Makes them potentially configurable
2021-03-25 12:52:09 +05:30
Kovid Goyal
63a50ec066
Use the correct mouse cursor theme on GNOME
...
Relies on a working desktop settings portal (xdg-desktop-portal-gtk)
2021-03-25 12:20:13 +05:30
Kovid Goyal
fc8e147e4a
Fix mouse handling when using client side decorations
...
The mouse co-ordinates used by glfw were all wrong.
2021-03-25 09:27:25 +05:30
Kovid Goyal
62997956a0
Start work on Wayland text input protocol support
2021-03-23 16:33:04 +05:30
Kovid Goyal
6d18223f17
Use an id for keyboard focus tracking as well
2021-01-29 11:22:39 +05:30
Kovid Goyal
0443e5ad7f
Wayland: Use window ids rather than pointers to track windows for key repeat
...
Might fix #3266
2021-01-29 08:43:00 +05:30
Luflosi
3df80545bd
Reduce the difference of GLFW to upstream
2020-10-26 11:02:55 +01:00
Kovid Goyal
6f40b8d0a1
Simplify Wayland cursor theme handling
...
Now themes are loaded once per scale and stored centrally not per
window. They are not unloaded till application shutdown. Since there
is unlikely to be more than two or three scales this is not a big waste
of resources. Since cursor lifetime is tied to theme lifetime and cursors
are stored per window, destroying a theme requires destroying all
cursors win all windows referring to that theme, which is too much work.
Should hopefully fix #2810
2020-07-25 15:36:46 +05:30
Kovid Goyal
c68516ca8d
Wayland: Fix a crash when using animated mouse cursors
...
Fixes #2810
2020-06-29 08:03:25 +05:30
Luflosi
a2f80740d7
Remove EGL and OSMesa struct member macros
...
From upstream: bcb8558189 .
2020-06-26 12:51:11 +02:00
Luflosi
d7a7509da6
EGL: Replace native handle macros with functions
...
From upstream: d7f7b0e1b5 .
2020-06-26 12:17:13 +02:00
Luflosi
f356f63994
wayland: save serial from all input sources
...
From upstream: 92b3fd02e5 .
2020-06-01 21:29:14 +02:00
Kovid Goyal
c1f84ce603
cleanup for wayland hidpi cursors merge
2020-06-01 21:14:56 +05:30
TheDaemoness
7c3c87abf6
Initial implementation of proper HiDPI cursor support on Wayland.
2020-06-01 20:33:53 +05:30
Kovid Goyal
2458c3a7c6
Implement drag and drop of text/plain for Wayland as well
2020-03-19 13:28:21 +05:30
Kovid Goyal
e142083d53
Remove unused code
...
Strip out the GLFW timer code, since we use our own kitty based
monotonic clock.
2019-12-19 16:27:25 +05:30
Luflosi
aed7a197c7
Wayland: Don’t reload the cursor on every pointer motion
...
From upstream: a9f674e719 .
2019-11-22 02:35:14 +01:00
Kovid Goyal
d8dd22048a
Wayland: Ensure that glfw window content scale and kitty window content scale are in sync after the window is placed on a monitor
2019-11-16 10:47:05 +05:30
Luflosi
f3b9ff5f9f
Use datatype monotonic_t instead of double to keep track of time
...
The time is stored in a signed 64 bit integer with nanosecond accuracy. This eliminates the possibility of floating-point inaccuracies.
`monotonic_t` can currently hold values large enough to work correctly for more than 200 years into the future.
Using a typedef instead of directly using `int64_t` everywhere will also allow easily changing the datatype in the future should the need arise for more precise or bigger time values.
2019-09-25 17:43:11 +02:00
Luflosi
28bb123be8
Update the GLFW version number from 3.3 to 3.4
...
Closes https://github.com/kovidgoyal/kitty/issues/1884 .
From a337c56848 .
2019-08-02 11:00:16 -05:00
Kovid Goyal
841c907efc
Build glfw with all warnings enabled
2019-07-01 10:42:07 +05:30
Luflosi
8be698681c
Reduce the difference of glfw/wl_* to upstream
...
This only changes some formatting, whitespace, etc.. There are no
changes to the functionality.
Let me know if you don't like some of those changes.
2019-06-12 14:55:56 +02:00
Kovid Goyal
fe62700825
Get rid of GLFWbool
2019-06-08 08:12:42 +05:30
Kovid Goyal
4fff84b4b9
Add void to all function declarations for functions that take no arguments
...
Micro-optimization for some architectures. Enforced via
-Wstrict-prototypes
2019-05-13 11:04:21 +05:30
Kovid Goyal
1fa9b8f102
X11: use the window manager's native full-screen implementation when making windows full-screen
...
This matches the behavior on Cocoa and Wayland.
Fixes #1605
2019-05-12 15:53:06 +05:30
Kovid Goyal
ad672fc9d6
Wayland: Remove wl_shell support
...
From upstream: 599fb3de34
2019-05-11 17:50:02 +05:30
Kovid Goyal
5ab8a665be
GLFW: Add more standard cursor shapes
...
Also use an enum for the cursor shapes
2019-03-21 13:06:13 +05:30
Kovid Goyal
423f8e59cc
Wayland: Fix auto-iconify on kwin_wayland
...
Upstream: 45bd991ea9
2019-02-17 10:35:39 +05:30
Tarmack
a6900443d5
Wayland primary selection migrated to unstable protocol
...
This change is actually backwards compatible with the GTK implementation before.
2018-11-13 20:58:02 +01:00
Tarmack
d519553581
Implement primary selection for Wayland
2018-10-31 09:03:22 +05:30
Kovid Goyal
cca2fb967c
Avoid malloc for frame callbacks
2018-10-26 08:49:17 +05:30
Kovid Goyal
13b10f691d
Wayland: Add support for xdg-decoration
...
This allows compositors which prefer to draw the decorations around
clients to do so, rather than letting GLFW draw its own decorations.
The appearance is thus entirely subject to the compositor used, but
should generally be better than the current solid colour decorations we
have, which we continue to use when the compositor doesn’t support this
protocol or tells us to draw the decorations ourselves.
2018-10-03 12:27:51 +05:30
Kovid Goyal
0195e7f841
Wayland: Add support for animated cursors
2018-09-10 11:54:22 +05:30
Kovid Goyal
33f0ac83c1
Wayland: Allow using the --class to set the app id
...
Fixes #862
2018-09-06 06:54:38 +05:30
Kovid Goyal
6a51ce5dc4
Wayland: Work on supporting drop of file paths
2018-09-05 21:41:47 +05:30
Kovid Goyal
6a3d6191bd
Implement the rest of the the data_offer listener callbacks
2018-09-05 19:58:55 +05:30