labwc/include
John Lindgren 34892c35be desktop: enforce followMouse focus policy more strictly
With followMouse=yes in the config, a client activation request was
still allowed to focus a view that wasn't under the mouse cursor, but
it would then be immediately unfocused again. With some clients using
modal dialogs (e.g. Scribus), this could lead to an infinite cycle of
the client and labwc continually switching the focus back and forth.

To break the cycle, only allow focusing a view under the cursor when
when followMouse=yes.

v2: allow focusing a new/raised view appearing under the cursor
v3: allow focusing a sub-view/sibling of the requested view
v4: fix new xdg-shell views under mouse not being focused

Fixes: #2722
2025-06-12 22:17:31 -04:00
..
common Replace scaled_rect_buffer with lab_scene_rect 2025-06-10 06:03:03 +09:00
config libinput: implement threeFingerDrag feature 2025-06-07 21:30:07 +09:00
img img: remove padding_x from lab_img_render() 2025-01-25 07:27:21 +09:00
input input: do not bind motion mode to tablet 2025-06-08 05:31:23 +09:00
menu menu: dynamically generate top-level pipemenus 2025-03-10 19:42:03 +00:00
protocols Fix typos 2025-01-09 06:59:57 +00:00
action.h menu: remove ShowMenu action from menu items 2025-02-07 17:58:55 +01:00
buffer.h buffer: add buffer_create_from_wlr_buffer() 2025-06-07 02:12:56 +09:00
debug.h includes: identifier consistency in include guards 2023-05-13 22:29:21 +01:00
decorations.h project wide: clean up event listeners on shutdown 2025-03-13 17:33:51 +09:00
desktop-entry.h Move "#if HAVE_LIBSFDO" inside desktop-entry.h 2025-01-25 07:27:21 +09:00
dnd.h chase (dnd): refactor to use wlroot's scene_drag_icon 2023-12-03 18:24:26 +00:00
edges.h snap: cache and ignore last-snapped edge when growing or shrinking 2024-04-10 23:30:28 +01:00
foreign-toplevel-internal.h foreign-toplevel: add ext-toplevel-list support 2024-11-09 20:06:19 +00:00
foreign-toplevel.h foreign-toplevel: create generic abstraction 2024-11-09 20:06:19 +00:00
idle.h Add support for ext_idle_notify_v1.. 2023-07-09 08:26:33 +01:00
labwc.h desktop: enforce followMouse focus policy more strictly 2025-06-12 22:17:31 -04:00
layers.h layers: arrange layers on destroy 2025-06-02 22:00:43 +01:00
magnifier.h magnifier: rename some functions 2025-02-23 14:17:31 +09:00
meson.build Make xwayland support optional 2020-12-30 10:29:21 +00:00
node.h node: add node_scaled_scene_buffer_from_node 2024-12-23 18:11:32 +09:00
osd.h rcxml: validate total osd field width 2025-05-05 00:05:24 +09:00
output-state.h output: remove ported wlr_output functions 2024-10-29 21:39:19 +00:00
output-virtual.h Add optional headless fallback output 2024-03-08 13:54:13 +01:00
overlay.h Replace multi_rect with lab_scene_rect 2025-06-10 06:03:03 +09:00
placement.h view: honor automatic placement when adjusting floating geometry 2023-12-30 16:50:09 +00:00
regions.h overlay: add snap-to-edge overlay (PR #1652) 2024-04-05 04:35:31 +02:00
resistance.h interactive: allow moving horizontally/vertically maximized window 2024-08-26 20:30:22 +02:00
resize-indicator.h Replace _ with - in source file names 2024-05-22 07:10:51 +01:00
resize-outlines.h Implement <resize><drawContents> 2024-06-15 21:17:01 +01:00
session-lock.h session-lock: restore focused view on unlock 2024-07-07 15:48:32 +09:00
snap-constraints.h snap: cache and ignore last-snapped edge when growing or shrinking 2024-04-10 23:30:28 +01:00
snap.h snap: cache and ignore last-snapped edge when growing or shrinking 2024-04-10 23:30:28 +01:00
ssd-internal.h ssd-titlebar: show fallback icon when no app_id is set 2025-02-23 22:56:03 +01:00
ssd.h Support xdg-toplevel-icon protocol 2025-06-07 02:12:56 +09:00
theme.h osd: add osd.workspace-switcher.boxes.border.width 2025-04-14 20:06:38 +01:00
view-impl-common.h xwayland: notify correct window stacking order to xwayland 2025-04-01 16:48:40 +09:00
view.h xwayland: always offer focus in Globally Active case 2025-06-10 11:03:54 -04:00
window-rules.h Revert "keyboard: add window rule to send release-events (#2377)" 2024-12-29 16:27:34 +09:00
workspaces.h ext-workspace protocol integration 2024-12-23 04:14:53 +01:00
xwayland.h xwayland: handle rare case of focus_in event occurring before map 2025-06-12 20:33:25 +01:00