Make windows floating before moving them to origin workspace.
Use workspace name when appropriate.
Fixed issue with calculating the next free workspace. When the zencontainer is created, if the last window of a workspace is used to create it. The current workspace will be the zen workspace.
This script depends on i3list and i3var from i3ass.
When the command is triggered it will move the current window to a zen container. The zen container is a floating, tabbed, and zentered container on a clean workspace. If no zen container exist it will be created.
If the current window already is in the zen container it will get moved to the workspace it originally came from.
The previous version used two "ghost windows" to make a tiled container appear centered. But i figured why not use a floating container instead, script is a lot faster and experience better. Now it is also possible to set the height (also in percentage) of the container.
Available environment variables:
ZEN_WIDTH , ZEN_HEIGHT, ZEN_WORKSPACE, ZEN_VERBOSE
This works wonderfully to toss out some of my ultrawide monitor's screen real estate, when I want to focus on just one window. Before I used a keybinding to increase the left and right gaps, but this also meant I couldn't enable
smart_gaps
. This meant a border was shown even on workspaces with just one container.i3zen
takes care of this. Thanks! 🙏Just make sure you run
i3zen
withexec --no-startup-id
, otherwise you see a loading indicator on the left and right ghost containers.@budRich: is there a way to automatically close the ghost containers when the visible zen container is closed? If I close the zen container, the ghost containers are left open and the workspace isn't automatically deleted when I move to another workspace.