Commit Graph
83 Commits
Author SHA1 Message Date
Kovid Goyal bd288bd18f Linux: Fix release event for the final key in a compose sequence not being reported. Fixes #4285 2021-11-29 19:26:16 +05:30
Kovid Goyal d95a00df73 GLFW API to check if window is fullscreen 2021-11-11 12:33:12 +05:30
Kovid Goyal 850a8218db Allow toggling xdg configure debug output at runtime 2021-04-07 15:24:58 +05:30
Kovid Goyal e92ed67021 Add a callback glfw can use to request text rendering 2021-04-01 08:22:06 +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 34d06fa3e9 Use a struct for IME update events
Allows for easier extension in the future
2021-03-23 16:05:22 +05:30
Kovid Goyal a981b46ec9 Use an enum for updateimestate as well 2021-03-23 10:52:11 +05:30
Kovid Goyal abc1e3f289 Remove the function used to init glfw key events
Instead use C99 struct initializers. Much less error prone.
2021-01-16 20:52:14 +05:30
Kovid Goyal 397d7d044b Change key data type in some functions 2021-01-16 20:52:11 +05:30
Kovid Goyal a681162326 Start work on supporting arbitrary unicode keys 2021-01-16 20:52:11 +05:30
Luflosi 785973bb5e GLFW: Make joystick platform code init on demand
From upstream: https://github.com/glfw/glfw/commit/782e6b6cefc9ac2a2b6779f9e658ab948809253b.
2020-07-23 23:56:30 +02:00
Luflosi 78efefcea1 Revert "Linux: Fix slow startup on some systems caused by GLFW searching for joysticks. Since kitty does not use joysticks, disable joystick support."
This reverts commit ab960ea12d.
2020-07-23 23:56:21 +02:00
Luflosi d0c6ce9fd7 GLFW: Add support for mouse input transparency
From upstream: https://github.com/glfw/glfw/commit/d285a9fdeb5e7f4688ebbd8f8fa8f101b01b5bea.
2020-07-16 22:25:12 +02:00
Luflosi 973d98457f EGL: Add support for EGL_ANGLE_platform_angle
From upstream: https://github.com/glfw/glfw/commit/0dea8a4441828311af4c31de8ba798ba330c4755.
2020-06-30 00:34:32 +02:00
Luflosi a2f80740d7 Remove EGL and OSMesa struct member macros
From upstream: https://github.com/glfw/glfw/commit/bcb85581896910c7205596cc4eec9b16d8b7e565.
2020-06-26 12:51:11 +02:00
Luflosi c39e9e9c61 EGL: Add support for EGL_EXT_platform_base
From upstream: https://github.com/glfw/glfw/commit/aec9fae8f34079561d408c8599e7ac08a7013041.
2020-06-26 12:39:17 +02:00
Luflosi d7a7509da6 EGL: Replace native handle macros with functions
From upstream: https://github.com/glfw/glfw/commit/d7f7b0e1b59d1fd53c68b4a6beb025af5d9786e6.
2020-06-26 12:17:13 +02:00
Kovid Goyal 8a178ebe55 Wayland: Apply the same framebuffer selection optimisation
Not as much of a win, since EGL only causes approx 1K getpid() calls of
which this optimization eliminates only half
2020-06-09 21:59:25 +05:30
Kovid Goyal 03b1484c96 Wayland: Abort on fatal error should bypass quit confirmation 2020-06-03 14:39:27 +05:30
Luflosi 55ad228166 Rename raw input to raw mouse motion, cleanup
From upstream: https://github.com/glfw/glfw/commit/1155c83013d0f8b86d5a56193708dc00d6c53553.
2020-05-24 21:57:29 +02:00
Luflosi 48fb051253 Add GLFW_RAW_INPUT and glfwRawInputSupported
From upstream: https://github.com/glfw/glfw/commit/9e29f556fd78196dfc81aeb73657888fc0a6d68d.
2020-05-24 20:49:52 +02:00
Kovid Goyal aa9c3cd634 Report modifier key state when sending wheel events to the terminal program 2020-04-29 20:02:55 +05:30
Kovid Goyal 2458c3a7c6 Implement drag and drop of text/plain for Wayland as well 2020-03-19 13:28:21 +05:30
Luflosi 3581ffe04b Cocoa: Select Vulkan surface extension at runtime
From upstream: https://github.com/glfw/glfw/commit/15d91801b7ac3d52779ec7330f2a1c0128fb57df.
2020-01-17 14:18:21 +01:00
Luflosi f6901e4a3d Cocoa: Add support for VK_EXT_metal_surface
From upstream: https://github.com/glfw/glfw/commit/c5cb4a253a9c304b136cac01a378567dc46e0320.
2020-01-17 14:18:05 +01:00
Kovid Goyal 321771b150 Merge branch 'resize-by-increments' of https://github.com/aes/kitty 2020-01-07 10:44:55 +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
Anders Eurenius 4619259e26 Implement resize by increment 2019-12-09 08:33:32 +01:00
Benoit de Chezelles 7f2b98fad7 Rename all uses of 'scancode' to 'native_key' where relevant 2019-10-16 02:25:20 +02:00
Benoit de Chezelles 2b6dde2ac5 Wish: rename scancode → native_key in glfw codebase 2019-10-16 02:00:24 +02:00
Benoit de Chezelles 0c254fa7c7 GLFWkeyevent: rename scancode → native_key 2019-10-16 02:00:24 +02:00
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
Benoit de Chezelles 53275c9137 Extract key event data to struct 2019-09-24 19:15:35 +02:00
Luflosi 28bb123be8 Update the GLFW version number from 3.3 to 3.4
Closes https://github.com/kovidgoyal/kitty/issues/1884.
From https://github.com/glfw/glfw/commit/a337c568486025d22443535b7c047a563bc34373.
2019-08-02 11:00:16 -05:00
Luflosi 61df266df7 Fix indentation of bool variables in glfw/internal.h
Caused by https://github.com/kovidgoyal/kitty/commit/fe62700825ef4b9bb143b3792797959d85181b29.
2019-07-26 11:45:32 -05:00
Luflosi bdc4558a43 Update GLFW copyright years
Reduces the difference to upstream.
From https://github.com/glfw/glfw/commit/ab118b2529a8da3e6b5f847b80ee86bb8c6bf6bb.
2019-07-20 00:30:13 -05:00
Kovid Goyal 1cb15dedac Simplify the event loop code
Also reduce input latency by ignoring repaint_delay when
there is actual pending input.

Gets rid of request_tick_callback(). Now empty events
result in the tick callback being called so there is only a
single mechanism for waking up the main loop and getting
the tick callback called.
2019-07-18 15:51:54 +05:30
Kovid Goyal f49f0d19f9 oops 2019-07-01 16:39:02 +05:30
Kovid Goyal 841c907efc Build glfw with all warnings enabled 2019-07-01 10:42:07 +05:30
Kovid Goyal fe62700825 Get rid of GLFWbool 2019-06-08 08:12:42 +05:30
Kovid Goyal 656916e0fa Use remove_i_from_array in a few more places
Also simplify the REMOVER macro
2019-06-07 14:25:33 +05:30
Kovid Goyal 4a55eb9e7f typo 2019-06-07 13:53:35 +05:30
Kovid Goyal 3c7a71772c Wrap memmove in glfw with a nice safe macro 2019-06-07 10:01:10 +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 0987a536b1 Add extra logging to debug the event loop
This should make tracking down the root cause of the
event loop pauses on X11 easier. And the infrastructure
should come in handy in the future as well.
2019-04-24 16:16:40 +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 0899019518 Add glfwGetMonitorWorkarea
From upstream: https://github.com/glfw/glfw/commit/be295ccbea6a9b1cfdbe0dc700fe04d9be202879
2019-03-06 08:47:01 +05:30
Kovid Goyal 3bd1ca0ac3 Avoid using timing related hacks to detect the end of a live resize on macOS
Since cocoa provides start/end notifications for live resizing, rely on
those instead.
2019-03-04 19:52:46 +05:30
Kovid Goyal f0a2c34eca Port cocoa backed to use glfw mainloop 2019-03-04 19:52:46 +05:30