# 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

# 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

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

