dotfiles/.config/sway/conf.d/2-assigns

97 lines
3.1 KiB
Text

# ===================================== #
# 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="^looking-glass-client$"] $wsF12
assign [app_id="^thunderbird$"] $wsF1
assign [app_id="^betterbird$"] $wsF5
assign [app_id="^virt-manager$"] $ws1
assign [app_id="^vesktop$"] $wsF7
# 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 by app_id and class (apps i use with and without X)
assign [app_id="^discord$"] $wsF7
assign [app_id="^com.discordapp.Discord$"] $wsF7
assign [class="^discord$"] $wsF7
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="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
}