You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a hidden window is deleted, the Window is not deleted from the HiddenWindows list. Restoring the window calls insertUp on a window id that does not correspond to a window. This inserts and focuses an empty rectangle. The rectangle cannot be deleted. While focused, it can be hidden. It cannot be manually focused; to regain focus I have to move any other windows in the workspace to a different workspace.
From what I can tell, there may not be a simple solution. It seems like X11 does not provide a way to check if a window id is valid, so we can't validate hidden window ids with X11. Since W.delete' is called, xmonad core does not keep track of the window while it is hidden, so we can't just use isClient. Perhaps hidden windows need to be handled similarly to floating windows.
Steps to Reproduce
Spawn a program, hide the window, kill the program from the terminal. Restore the hidden, but deleted window.
It should; that's what it's there fore (after all, you can;'t do anything else with the window ID it includes).
You can validate window ID's, though, by doing what we normally avoid: calling getWindowAttributes (or in our case safeGetWindowAttributes) on it and looking for failure.
Problem Description
When a hidden window is deleted, the
Window
is not deleted from theHiddenWindows
list. Restoring the window callsinsertUp
on a window id that does not correspond to a window. This inserts and focuses an empty rectangle. The rectangle cannot be deleted. While focused, it can be hidden. It cannot be manually focused; to regain focus I have to move any other windows in the workspace to a different workspace.From what I can tell, there may not be a simple solution. It seems like X11 does not provide a way to check if a window id is valid, so we can't validate hidden window ids with X11. Since
W.delete'
is called, xmonad core does not keep track of the window while it is hidden, so we can't just useisClient
. Perhaps hidden windows need to be handled similarly to floating windows.Steps to Reproduce
Spawn a program, hide the window, kill the program from the terminal. Restore the hidden, but deleted window.
Configuration File
Checklist
xmonad --version
does not work (Nixos issue?) so I don't know the version, but I'm on Nixos unstable.xmonad
version XXX (commit XXX if using git)xmonad-contrib
version XXX (commit XXX if using git)The text was updated successfully, but these errors were encountered: