dotfiles/hyprland/.config/sway/config.d/40-window-rules.conf

61 lines
2.0 KiB
Plaintext
Raw Normal View History

# 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
}