Emmanuel Gil Peyrot
a80788c17f
Wayland: Don’t update cursor position in the frame
...
That way the application only sees the cursor moving when it is inside
of its area, it won’t go back to the top or left side when trying to
resize the window or just hovering the fallback decorations.
2019-11-21 13:53:08 +01:00
Emmanuel Gil Peyrot
a9f674e719
Wayland: Don’t reload the cursor on every pointer motion
...
Previously, any pointer motion in the window decorations when using the
fallback implementation would obtain the wl_cursor again, and do the
attach danse for no benefit.
This will ultimately allow animated cursors to not reset to the first
frame on motion, once these will be implemented.
2019-11-21 13:52:37 +01:00
Camilla Löwy
56aad76b16
Add C dialect reminders to each source file
...
Files built for Win32 must use C89 style declarations for compatibility
with VS 2010 and 2012, which are still supported by GLFW.
2019-05-24 14:43:49 +02:00
Emmanuel Gil Peyrot
599fb3de34
Wayland: Remove wl_shell support
...
This protocol is part of the core Wayland, but it is pretty badly
designed and is missing quite a few features, and is in the process of
being phased out in compositors. Its support in GLFW requires
duplicating pretty much every single window management codepath.
This bumps the required compositor versions to the ones which have
implemented xdg-shell, approximately two years ago, which seems sensible
to me.
2019-04-20 10:05:15 +02:00
Camilla Löwy
a337c56848
Start 3.4
2019-04-16 23:08:39 +02:00
Camilla Löwy
3461d1c2a5
Fix missing context APIs in version strings
2019-04-08 20:51:34 +02:00
Emmanuel Gil Peyrot
5f9cbd0ebc
Wayland: keyboard repeat rate is given in Hz
...
It was currently interpreted as ms, which is obviously wrong.
Thanks to https://github.com/Smithay/client-toolkit/pull/62 for making
me notice this issue.
2019-02-20 15:56:04 +01:00
Emmanuel Gil Peyrot
c08abffc50
Wayland: Implement clipboard copy
2018-10-24 14:03:08 +02:00
Emmanuel Gil Peyrot
8b54e28c4e
Wayland: Implement clipboard paste
2018-10-24 14:03:08 +02:00
Emmanuel Gil Peyrot
3c4b9a7eef
Wayland: Add boilerplate for clipboard handling
2018-10-24 14:03:08 +02:00
Ricardo Vieira
92b3fd02e5
wayland: save serial from all input sources
2018-10-24 14:03:08 +02:00
emersion
5afcd0981b
wayland: add support for XCURSOR_THEME and XCURSOR_SIZE
...
These can be set by the compositor or the user to configure the
xcursor theme and size.
2018-10-11 00:58:23 +02:00
Emmanuel Gil Peyrot
dcd2a19d90
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.
This new protocol has been tested against wlroots’s rootston compositor.
Fixes #1257 .
2018-10-01 16:37:24 +02:00
Emmanuel Gil Peyrot
4d3f0fb5df
Wayland: Split long lines for function declaration
2018-09-29 18:11:13 +02:00
Emmanuel Gil Peyrot
e0b83bbe8d
Wayland: Use HiDPI cursors on decorations
2018-09-11 14:28:44 +02:00
Emmanuel Gil Peyrot
321062833a
Wayland: Load a bigger cursor theme for HiDPI
2018-09-11 14:28:44 +02:00
Emmanuel Gil Peyrot
5ea6e6cda2
Wayland: Add support for animated standard cursors
2018-09-09 13:12:20 +02:00
Emmanuel Gil Peyrot
dede6d6886
Wayland: Add a timerfd for animated cursors
2018-09-09 13:12:20 +02:00
Emmanuel Gil Peyrot
685f2a5f91
Wayland: Close forgotten timerfd on terminate.
2018-09-09 13:12:20 +02:00
Greg V
0a3c4f5d80
Add support for Wayland on FreeBSD and other OSes
2018-03-27 22:03:37 +02:00
Emmanuel Gil Peyrot
0d4534733b
Wayland: Destroy subcompositor and viewporter on terminate
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
a8e551cffa
Fix resizing and moving under xdg-shell
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
9f7ec6b094
Implement window decorations
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
9dc18a62a6
Rename wl_pointer to pointer
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
5b65b9b860
Prevent a crash when giving focus to a non-GLFWwindow surface
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
552e40a4be
Add wl_subcompositor support
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
79e16baca3
Add wp_viewporter support
2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot
d6b9d00ceb
Wayland: Handle monitor removal
2018-02-24 22:18:39 +01:00
Emmanuel Gil Peyrot
608f055c72
Wayland: Open the timerfd with cloexec
2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot
84d10b32c3
Wayland: Ask xkbcommon whether to repeat a key
2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot
8bc0c5c2c0
Wayland: dlsym() xkb_keymap_key_repeats
2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot
97bf16e5b6
Wayland: Check for wayland protocol version
...
wl_keyboard version 4 is more recent than the libwayland available in
Ubuntu 14.04.
2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot
90f5edc0b8
Wayland: Use a timerfd for key repeat
2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot
c14a35e21e
Wayland: Obtain keyboard repeat_info
...
This had to bump the seat version, we now may get the seat name but we
don’t do anything with it.
2018-02-24 21:06:25 +01:00
Camilla Löwy
53b193a161
Wayland: Fix uninitialized variable warning
...
Related to #1143 .
Fixes #1197 .
2018-02-06 13:10:41 +01:00
Emmanuel Gil Peyrot
525ad7bfb8
Close the libwayland-cursor handle after destroying the cursor theme
...
Fixes a segfault on glfwTerminate().
2018-01-29 04:55:55 +01:00
Emmanuel Gil Peyrot
14856e8b60
Wayland: Bind, listen and destroy xdg_wm_base
2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot
440e7e36f3
Fix typography of error messages
2018-01-29 02:34:10 +01:00
Emmanuel Gil Peyrot
407a3e2860
Load libwayland-cursor at runtime
2018-01-29 02:34:10 +01:00
Emmanuel Gil Peyrot
5fbf4ddde8
Load libwayland-egl at runtime
2018-01-29 02:34:10 +01:00
Emmanuel Gil Peyrot
6e69f63ffa
Use the _glfw_dlopen/dlsym/dlclose define
2018-01-29 02:26:12 +01:00
Emmanuel Gil Peyrot
eb732457ea
Prevent a race between surface destruction and focus
...
The Wayland protocol is asynchronous, by the time we destroy a surface,
the compositor may have sent a wl_keyboard::enter or wl_pointer::enter
events which now point to no surface, yet we receive it after.
To prevent this race, we can just ignore any enter event targetting a
NULL surface.
Fixes #1150 .
2018-01-29 02:03:24 +01:00
Emmanuel Gil Peyrot
93186e4999
Wayland: Fix glfwTerminate segfault on failed init
...
Closes #1172 .
2018-01-09 22:13:28 +01:00
Camilla Löwy
ee9dffcd66
Add GLFW_HOVERED for polling cursor hover state
...
This window attribute corresponds to the cursor enter/leave callback.
Fixes #1166 .
2018-01-09 18:02:52 +01:00
Camilla Löwy
8dab9f6ab1
Wayland: Clarify assertion
...
Related to #1143 .
2017-12-13 21:57:32 +01:00
Camilla Löwy
0e8c4ea7ce
Add lock key modifier bits input mode
...
This adds the GLFW_MOD_CAPS_LOCK and GLFW_MOD_NUM_LOCK modifier bits.
Set the GLFW_LOCK_KEY_MODS input mode to enable these for all callbacks
that receive modifier bits.
Fixes #946 .
2017-12-06 18:01:34 +01:00
Emmanuel Gil Peyrot
65166858ff
Wayland: Add support for the idle-inhibit protocol
...
Closes #955 .
2017-11-20 22:27:37 +01:00
Emmanuel Gil Peyrot
d18431338a
Wayland: Disable the compose key on old xkbcommon
2017-11-20 18:24:30 +01:00
Emmanuel Gil Peyrot
cc87d5ab10
Wayland: Assert that we only get a known axis
2017-11-20 18:06:29 +01:00
Emmanuel Gil Peyrot
a7a70cf34d
Wayland: Add dynamic loading of libxkbcommon
2017-10-30 12:01:17 +00:00