feat: minimize and restore windows the way a desktop does
The scratchpad technically minimized Chrome, but sway hands scratchpad windows back floating, so restoring gave a draggable window instead of the maximized one the user put away. Park windows on a hidden workspace as ordinary tiled containers instead, and move them back to the visible workspace on restore. classroom-window carries the whole state machine, so the dock buttons and Super+M share one implementation: not running -> launch unfocused -> focus focused -> minimize minimized -> restore, tiled and maximized Fullscreen is dropped on the way out, since a container parked while still fullscreen keeps drawing over everything else. floating disable on the way back also rescues windows left floating by the old scratchpad path. Super+Shift+M restores the newest minimized window, so nothing can get stranded on the hidden workspace. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d05f5bf909
commit
af79aba21b
+7
-2
@@ -14,5 +14,10 @@ exec --no-startup-id /usr/local/bin/classroom-dock
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
|
||||
# Minimize focused window to scratchpad
|
||||
bindsym $mod+m move container to workspace __ekklesia_hidden
|
||||
# Minimize and restore.
|
||||
#
|
||||
# classroom-window parks the window on a hidden workspace as an ordinary
|
||||
# tiled container, so restoring brings it back maximised instead of as a
|
||||
# floating, draggable window the way the scratchpad did.
|
||||
bindsym $mod+m exec /usr/local/bin/classroom-window minimize
|
||||
bindsym $mod+Shift+m exec /usr/local/bin/classroom-window restore-last
|
||||
|
||||
Reference in New Issue
Block a user