wlroots-hyprland/include/wlr/types
Thomas Hebb dcae6f1431 Allow keyboard and pointer grabs to hook clear_focus()
This is necessary for some grabs, which currently have no way of knowing
when the pointer/keyboard focus has left a surface. For example, without
this, a drag-and-drop grab can erroneously drop into a window that the
cursor is no longer over.

This is the plumbing needed to properly fix swaywm/sway#5220. The
existing fix, swaywm/sway#5222, relies on every grab's `enter()` hook
allowing a `NULL` surface. This is not guaranteed by the API and, in
fact, is not the case for the xdg-shell popup grab and results in a
crash when the cursor leaves a surface and does not immediately enter
another one while a popup is open (#2161).

This fix also adds an assertion to wlr_seat_pointer_notify_enter() that
ensures it's never called with a `NULL` surface. This will make Sway
crash much more until it fixes its usage of the API, so we should land
this at the same time as a fix in Sway (which I haven't posted yet).
2020-06-05 17:20:26 +02:00
..
wlr_box.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_buffer.h buffer: add width and height 2020-04-02 15:03:43 +02:00
wlr_compositor.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_cursor.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_data_control_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_data_device.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_export_dmabuf_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_foreign_toplevel_management_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_fullscreen_shell_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_gamma_control_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_gtk_primary_selection.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_idle.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_idle_inhibit_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_input_device.h s/lid_switch/switch_device 2019-03-19 22:45:58 -04:00
wlr_input_inhibitor.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_input_method_v2.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_keyboard.h input/keyboard: expose keymap matching helper 2020-05-07 23:10:03 -04:00
wlr_keyboard_group.h wlr_keyboard_group: introduce enter and leave 2020-05-31 17:28:18 -04:00
wlr_keyboard_shortcuts_inhibit_v1.h keyboard-shortcuts-inhibit: Implement the protocol 2020-02-20 21:40:34 +01:00
wlr_layer_shell_v1.h Document the events of wlr_layer_surface 2020-04-17 15:44:07 +02:00
wlr_linux_dmabuf_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_list.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_matrix.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_output.h output: make wlr_output_set_gamma atomic 2020-05-14 20:09:28 +02:00
wlr_output_damage.h output: replace wlr_output.damage with a damage event 2020-03-12 22:47:59 +01:00
wlr_output_layout.h output_layout: improve docs 2020-04-22 22:14:29 +02:00
wlr_output_management_v1.h output-management: add current_configuration_dirty 2020-02-19 11:40:23 +01:00
wlr_output_power_management_v1.h Implement wlr-output-power-management-v1 2020-02-20 16:23:45 +01:00
wlr_pointer.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_pointer_constraints_v1.h input/pointer: notify compositor when constraint region changes 2020-05-13 20:38:12 +02:00
wlr_pointer_gestures_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_presentation_time.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_primary_selection.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_primary_selection_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_region.h Implement pointer-constraints protocol in wlroots and rootston 2018-09-18 10:14:33 +02:00
wlr_relative_pointer_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_screencopy_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_seat.h Allow keyboard and pointer grabs to hook clear_focus() 2020-06-05 17:20:26 +02:00
wlr_server_decoration.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_surface.h Introduce wlr_client_buffer 2020-03-06 21:32:06 +01:00
wlr_switch.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_tablet_pad.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_tablet_tool.h wlr/types: use bitshifts for tablet axes enum 2020-05-04 21:52:33 +02:00
wlr_tablet_v2.h tablet: expose wlr_tablet_tool_v2_has_implicit_grab function 2020-05-14 18:45:19 +02:00
wlr_text_input_v3.h text_input_v3: Note features supported by the text field 2020-02-20 16:21:44 +01:00
wlr_touch.h Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_virtual_keyboard_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_virtual_pointer_v1.h virtual-pointer: Add request for mapping to specific output 2020-02-10 21:01:38 +01:00
wlr_xcursor_manager.h Make wlr_xcursor_manager_load() return a bool 2020-05-18 16:48:44 +02:00
wlr_xdg_decoration_v1.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_xdg_output_v1.h xdg-output-v1: use wlr_output.description 2019-12-29 12:35:22 -05:00
wlr_xdg_shell.h xdg-shell: fix inert xdg_surface handling 2019-12-30 14:24:35 -07:00
wlr_xdg_shell_v6.h Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00