# ===================================== # # Assign programs to default workspaces # # ===================================== # ## Get app_id and/or class for all open windows: ## `swaymsg -t get_tree | grep app_id` ## `swaymsg -t get_tree | grep class` # Assign by app_id assign [app_id="^betterbird$"] $wsF5 assign [app_id="^org.gnome.Calendar$"] $wsF8 assign [app_id="^cinny$"] $wsF6 assign [app_id="^Element$"] $wsF6 assign [app_id="^evolution$"] $wsF5 assign [app_id="^gamescope$"] $wsF12 assign [app_id="^looking-glass-client$"] $wsF12 assign [app_id="^thunderbird$"] $wsF1 assign [app_id="^eu.betterbird.Betterbird$"] $wsF5 assign [app_id="^virt-manager$"] $ws1 assign [app_id="^vesktop$"] $wsF7 assign [app_id="^org.prismlauncher.PrismLauncher$"] $wsF11 # Assign by class assign [class="^steam$"] $wsF11 assign [class="^steamwebhelper$"] $wsF11 assign [class="^steam_app_"] $wsF12 assign [class="^steam_proton$"] $wsF11 # Assign by Title assign [title="Default - Wine desktop"] $wsF12 assign [title="^Minecraft"] $wsF12 # Assign by app_id and class (apps i use with and without X) assign [app_id="^Signal$"] $wsF3 assign [class="^Signal$"] $wsF3 assign [app_id="^teamspeak"] $wsF2 assign [class="^TeamSpeak"] $wsF2 # ============================= # # Assign workspaces to displays # # ============================= # workspace $ws1 output $disp1 workspace $ws2 output $disp2 workspace $ws3 output $disp3 workspace $ws4 output $disp3 workspace $ws5 output $disp3 workspace $wsF1 output $disp1 workspace $wsF2 output $disp1 workspace $wsF3 output $disp1 workspace $wsF4 output $disp1 workspace $wsF5 output $disp2 workspace $wsF6 output $disp2 workspace $wsF7 output $disp2 workspace $wsF8 output $disp2 workspace $wsF9 output $disp3 workspace $wsF10 output $disp3 workspace $wsF11 output $disp3 workspace $wsF12 output $disp3 # ================== # # Setup window rules # # ================== # for_window { # Mark all windows running under XWayland as such [shell="xwayland"] title_format "%title [XWayland]" # window rules for 'special' types of windows (in x11 territory) [window_role="pop-up"] floating enable [window_role="bubble"] floating enable [window_role="dialog"] floating enable [window_role="task_dialog"] floating enable [window_role="Preferences"] floating enable [window_type="dialog"] floating enable [window_type="menu"] floating enable [instance="update_installer"] floating enable # window rules for 'special' types of windows; in wayland we can only go by window title for now [title="Sharing Indicator"] floating enable # floating and no border for (firefox) picture in picture windows [title="Picture-in-Picture"] floating enable; border none # window rules for specific apps [app_id="^org.keepassxc.KeePassXC$"] floating enable [app_id="^org.gnome.Calculator$"] floating enable [app_id="mpv"] inhibit_idle visible; border none; max_render_time off [app_id="showmethekey-gtk"] floating enable; sticky enable [class="steam"] max_render_time off [class="steam_app"] max_render_time off [class="steam_proton"] max_render_time off [class="steamwebhelper"] max_render_time off [title="Default - Wine desktop"] fullscreen }