labwc/src
tokyo4j fb6558609f xwayland: notify correct window stacking order to xwayland
Before this commit, when a normal window is raised, xwayland thought it's
above always-on-top (AOT) windows even though it's actually below AOT
windows in the scene. This means mouse scroll events may be unexpectedly
sent to normal windows below AOT windows even when the cursor is hovering
over a AOT window.

So this commit fixes it by notifying the correct stacking order (where AOT
windows are placed above normal windows) to xwayland every time the
stacking order is updated.

Other benefits of this commit are:
- It makes the code more readable and predictable by aggregating logic
  about stacking order management in xwayland (e.g. shaded windows or
  windows in other workspaces should be notified to xwayland as being
  placed at the bottom).
- As server->last_raised_view is removed in the previous commit, we were
  notifying the stacking order to xwayland every time a window with dialog
  windows is clicked (not when clicking a topmost window without dialogs,
  due to some optimization in wlroots). This commit fixes this by caching
  the window stacking order in xwayland_view->stacking_order and notifying
  it to xwayland only when it's updated.
2025-03-30 00:22:13 +09:00
..
common string-helpers: rtrim() with just char *s, call it later in string_strip 2025-03-16 11:18:39 +00:00
config Merge pull request #2598 from tokyo4j/refactor-magnifier 2025-03-13 15:20:34 +09:00
decorations project wide: clean up event listeners on shutdown 2025-03-13 17:33:51 +09:00
foreign-toplevel desktop: harden window stacking order while window switching 2025-03-09 20:41:26 +00:00
img img: remove padding_x from lab_img_render() 2025-01-25 07:27:21 +09:00
input project wide: clean up event listeners on shutdown (part 2) 2025-03-13 20:08:59 +00:00
menu menu: show app icons in client-list-combined-menu 2025-03-11 20:25:09 +00:00
protocols ext-workspace protocol implementation 2024-12-23 04:14:53 +01:00
ssd ssd-titlebar: show fallback icon when no app_id is set 2025-02-23 22:56:03 +01:00
action.c action: Add HideCursor action 2025-03-24 21:23:55 +00:00
buffer.c ssd: rework titlebar button rendering 2024-12-23 18:11:32 +09:00
debug.c view: replace content_node with content_tree 2025-01-22 18:02:54 +01:00
desktop-entry.c desktop-entry: separate icon and app_id icon lookup 2025-01-09 00:57:06 +09:00
desktop.c desktop: harden window stacking order while window switching 2025-03-09 20:41:26 +00:00
dnd.c dnd: show dnd icon above layer-shell surfaces 2024-06-25 14:56:57 +02:00
edges.c edges.c: fix flicker of snapped windows in nested session 2024-07-20 08:16:12 -04:00
idle.c project wide: clean up event listeners on shutdown 2025-03-13 17:33:51 +09:00
interactive.c keyboard: add keyboard_get_all_modifiers() 2025-01-13 06:28:37 +09:00
layers.c project wide: clean up event listeners on shutdown 2025-03-13 17:33:51 +09:00
magnifier.c magnifier: refactor magnifier_draw() 2025-02-24 18:59:57 +09:00
main.c Fix typos 2025-01-09 06:59:57 +00:00
meson.build icon-loader: rename to desktop-entry 2024-11-19 18:36:08 +01:00
node.c node: add node_scaled_scene_buffer_from_node 2024-12-23 18:11:32 +09:00
osd-field.c osd: support app icons in window switcher 2025-03-17 01:22:24 +09:00
osd.c osd: support app icons in window switcher 2025-03-17 01:22:24 +09:00
output-state.c output: remove ported wlr_output functions 2024-10-29 21:39:19 +00:00
output-virtual.c Fix various typos across the codebase 2024-03-08 13:59:20 +01:00
output.c osd: draw window switcher with scene-nodes 2025-03-16 11:15:00 +00:00
overlay.c src/overlay.c: clean up timer on exit 2025-02-12 00:09:17 +09:00
placement.c Fix typos 2025-01-09 06:59:57 +00:00
regions.c keyboard: add keyboard_get_all_modifiers() 2025-01-13 06:28:37 +09:00
resistance.c interactive: allow moving horizontally/vertically maximized window 2024-08-26 20:30:22 +02:00
resize-outlines.c Implement <resize><drawContents> 2024-06-15 21:17:01 +01:00
seat.c project wide: clean up event listeners on shutdown 2025-03-13 17:33:51 +09:00
server.c project wide: clean up event listeners on shutdown (part 2) 2025-03-13 20:08:59 +00:00
session-lock.c session-lock: make session_lock_output_create() safe to call twice 2024-10-29 21:41:48 +00:00
snap-constraints.c Fix typos 2025-01-09 06:59:57 +00:00
snap.c Fix typos 2025-01-09 06:59:57 +00:00
tearing.c tearing: add fullscreen options (#1941) 2024-08-06 21:23:10 +01:00
theme.c ssd: fix resizing on border corners and add <resize><cornerRange> 2025-02-04 11:13:32 -05:00
view-impl-common.c xwayland: notify correct window stacking order to xwayland 2025-03-30 00:22:13 +09:00
view.c xwayland: notify correct window stacking order to xwayland 2025-03-30 00:22:13 +09:00
window-rules.c Revert "keyboard: add window rule to send release-events (#2377)" 2024-12-29 16:27:34 +09:00
workspaces.c project wide: clean up event listeners on shutdown (part 2) 2025-03-13 20:08:59 +00:00
xdg-popup.c xdg-popup: update pointer focus on popup destruction 2024-12-20 00:43:06 +09:00
xdg.c xwayland: notify correct window stacking order to xwayland 2025-03-30 00:22:13 +09:00
xwayland-unmanaged.c chase: disable restacking of unmanaged windows 2024-07-17 21:28:59 +01:00
xwayland.c xwayland: notify correct window stacking order to xwayland 2025-03-30 00:22:13 +09:00