Skip to content

fix(float): apply KWin skipswitcher rule to the XWayland fallback too - #66

Merged
ElbertePlinio merged 1 commit into
mainfrom
feat/49-task-switcher
Jul 23, 2026
Merged

fix(float): apply KWin skipswitcher rule to the XWayland fallback too#66
ElbertePlinio merged 1 commit into
mainfrom
feat/49-task-switcher

Conversation

@ElbertePlinio

Copy link
Copy Markdown
Member

Summary

  • root cause: ensure_float_rule() early-returned when GDK_BACKEND=x11, so KDE Wayland sessions using the PICKGAUGE_X11=1 XWayland fallback never received the KWin skipswitcher rule — and GTK's skip-taskbar maps only to EWMH SKIP_TASKBAR/PAGER (no switcher hint exists), so the KWin rule is the only mechanism; it matches by class+title on both native Wayland and XWayland
  • fix: gate replaced with pure is_kde_wayland_session(xdg_session_type, xdg_current_desktop) (renderer backend is orthogonal to session type); 7 new unit tests; KDE-desktop filter for kwinrulesrc writes unchanged
  • honest per-platform docs (lib.rs + README table): Windows native skip_taskbar; KDE Wayland/XWayland via KWin rule; other Linux WMs standards-based hints only; macOS app-level Cmd+Tab limitation (Tauri implements no skip_taskbar there)
  • also corrects a stale README sentence that inverted the current native-Wayland-by-default behavior

Closes #49. The accepted behavior is the reference for the PickScribe #46 port.

Validation

  • 7/7 new kwin tests; full Rust suite 290 pass / 28 fail with the 28 proven identical pre-existing macOS baselines on main (reviewer re-verified against main independently); frontend suites + lint + build green
  • real KDE Alt+Tab validation defers to the release-candidate phase on Elberte-PC (kde-tray smoke requires a live KDE session)

Local review: standard risk class — one independent correctness reviewer; verdict clean, zero findings (KDE-on-plain-X11 exclusion confirmed pre-existing and out of scope). KISS keep.

ensure_float_rule returned early whenever GDK_BACKEND=x11 was set,
so the PICKGAUGE_X11=1 XWayland fallback never got the KWin
skipswitcher rule. X11's EWMH has no skip-switcher hint, so the
capsule kept showing up in KDE's Alt+Tab switcher even though
skip-taskbar and skip-pager (which GTK does set over X11) worked
fine. The rule now applies to any KDE Wayland session regardless of
GDK_BACKEND, since KWin manages rules for native and XWayland
clients alike.

Documents per-platform task-switcher/taskbar support (KDE handled,
Windows native, other Linux WMs standards-based only, macOS
unsupported by Tauri) in code comments and the README, and fixes a
stale README sentence describing the pre-#47 XWayland-by-default
behavior.
@ElbertePlinio
ElbertePlinio merged commit 5402396 into main Jul 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keep the floating capsule out of task switchers

1 participant