diff options
| author | srdusr <[email protected]> | 2026-01-31 14:34:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2026-01-31 14:34:00 +0200 |
| commit | 1f708f8aa09bf8bbce82314a76b7f34def90b798 (patch) | |
| tree | 3ca6468dc0507f563147cbeb4d8b7e9a40949921 /crates/wayland/src/udev/render.rs | |
| parent | 76031dd8809701e39d3709451809851ad063bf73 (diff) | |
| download | srdwm-1f708f8aa09bf8bbce82314a76b7f34def90b798.tar.gz srdwm-1f708f8aa09bf8bbce82314a76b7f34def90b798.zip | |
Fix desktop-icon deselection and workspace-teleport-on-close; document a shadow limit
Desktop icons stayed highlighted after clicking a window: select_desktop_icon(None)
was only ever called from start_desktop_marquee, never from the one place every
focus path (click, Alt-Tab, dock IPC, scratchpad show, snap flyout) already
funnels through. Added the deselect there instead of per-caller.
Closing a focused window could silently switch the user's active workspace:
remove_window's fallback picked self.order.last(), but that list is global,
not per-workspace, so it could land on a background window elsewhere - and
focus_window already switches workspace to match whatever it's given (a real,
separate feature for a deliberate srd dispatch focus). Fixed by preferring a
same-workspace window first. New general.close_focus_follows_workspace
(default false, live-settable) controls what happens only when nothing is
left on the current workspace at all: off leaves focus at nothing, matching
Windows/GNOME/macOS; on restores the old always-follow-the-global-fallback
behaviour. Three new tests.
Also documented, not fixed: shadows can still bleed onto a neighbouring
*monitor* near a multi-output seam (shadow_rect has no monitor-boundary
awareness), found via a live cross-monitor screenshot. Moot for this
session since general.shadows is already off in the live config, but a
real, open gap for anyone who re-enables shadows on a multi-monitor setup.
Diffstat (limited to 'crates/wayland/src/udev/render.rs')
0 files changed, 0 insertions, 0 deletions