# vim: set ft=swayconfig: # # This file allocates rules for organizing windows # ## WORKSPACES set $w1 1 set $w2 2 set $w3 3 set $w4 4 set $w5 5 set $w6 6 set $w7 7 set $w8 8 set $w9 9 set $w10 10 set $w11 11 # General rules of thought: # * The primary monitor will contain workspaces 1-7 # * Secondary monitors will get workspaces 8-10 # * Important apps go on primary, unimportant ones that are likely to be side- # content, event-driven, and distractive can go on the secondary # * Laptops get all 10 on one monitor, but shunting unimportant junk to the # back workspaces yields a better workflow regardless # * No rules are set in stone and the user can totally just move stuff around # with reckless abandon for_window { # Workspace 1 should always be the web browser [app_id="org.mozilla.firefox"] move container to workspace $w1 # Workspace 2 should contain Steam, if we intend to launch a game this session #[app_id="com.valvesoftware.Steam"] move container to workspace $w2 # Workspace 8 contains Thunderbird and Keepass [app_id="org.keepassxc.KeePassXC"] move container to workspace $w8 [app_id="org.mozilla.Thunderbird"] move container to workspace $w8 [class="thunderbird"] move container to workspace $w8 # Workspace 9 should be communications platforms [app_id="com.dev.vencord.Vesktop"] move container to workspace $w9 [app_id="com.dev.vencord.Vesktop"] inhibit_idle visible [app_id="vesktop"] move container to workspace $w9 [app_id="vesktop"] inhibit_idle visible [app_id="com.discordapp.Discord"] move container to workspace $w9 [app_id="com.discordapp.Discord"] inhibit_idle visible [app_id="im.riot.Riot"] move container to workspace $w9 [app_id="im.riot.Riot"] inhibit_idle visible # And Workspace 10 should contain misc. long-running programs [class="Spotify"] move container to workspace $w10 [app_id="spotube"] move container to workspace $w10 [class="nuclear"] move container to workspace $w10 } # These rules are app-specific but for any workspace for_window { [class="steam_app_2291060"] fullscreen }