Before I open an issue, I’d like to know if anybody has encountered and solved this issue:
I want certain applications to open in a particular workspaces so naturally I have lines such as these in my ~/.config/i3/config
file:
assign [title="^.*LibreWolf.*$"] $ws1
assign [class="org.remmina.Remmina"] $ws2
assign [title="^.*Thunderbird.*$"] $ws4
assign [class="Signal"] $ws4
assign [title="^.*ssh tunnels.*$"] $ws5
This works fine for windowed applications, but it doesn’t work for fullscreen ones. For example, if I have those two lines:
assign [title="Xephyr"] $ws3
assign [title="feh"] $ws3
and I start Xephyr or feh fullscreen with Xephyr :1 -fullscreen
or feh -F
, they will start fullscreen in whichever workspace I happen to be and won’t be moved to workspace 3.
I did find a workaround by creating a .desktop file in which the command explicitely switches to the workspace I want to use the corresponding application in before invoking the command. For example for Xephyr, I made this .local/share/applications/Xephyr.desktop
file:
Name=Xephyr
Exec=bash -c "i3-msg workspace 3; Xephyr :1 -fullscreen -reset -terminate -query localhost"
Comment=
Terminal=false
Icon=xorg.png
Type=Application
It works but it’s really dirty and it’s not great.
Does anybody know if there’s a way to convince i3 to start a fullscreen app in the correct workspace cleanly without resorting to hacks like that?