92 lines
4.0 KiB
Plaintext
92 lines
4.0 KiB
Plaintext
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
|
||
##
|
||
## Rules
|
||
|
||
##-- Workspace Rules ------------------------
|
||
|
||
workspace 1 output DisplayPort-2
|
||
workspace 2 output DisplayPort-2
|
||
workspace 3 output DisplayPort-0
|
||
workspace 4 output DisplayPort-0
|
||
workspace 9 output HDMI-A-0
|
||
workspace 10 output HDMI-A-0
|
||
|
||
# workspace 1 output DisplayPort-0
|
||
# workspace 2 output DisplayPort-0
|
||
# workspace 3 output HDMI-A-0
|
||
|
||
## Automatically putting clients on specific workspaces
|
||
##
|
||
## To automatically make a specific window show up on a specific workspace,
|
||
## you can use an 'assignment'. You can match windows by using any criteria.
|
||
## The difference between assign and `for_window <criteria> move to workspace` is that
|
||
## the former will only be executed when the application maps the window
|
||
## (mapping means actually displaying it on the screen) but the latter will be executed
|
||
## whenever a window changes its properties to something that matches the specified criteria.
|
||
##
|
||
## Thus, it is recommended that you match on window classes (and instances, when appropriate)
|
||
## instead of window titles whenever possible because some applications first create
|
||
## their window, and then worry about setting the correct title. Firefox with Vimperator
|
||
## comes to mind. The window starts up being named Firefox, and only when Vimperator is
|
||
## loaded does the title change. As i3 will get the title as soon as the application
|
||
## maps the window, you’d need to have to match on Firefox in this case. Another known
|
||
## issue is with Spotify, which doesn’t set the class hints when mapping the window,
|
||
## meaning you’ll have to use a for_window rule to assign Spotify to a specific workspace.
|
||
## Finally, using assign [tiling] and assign [floating] is not supported.
|
||
##
|
||
## You can also assign a window to show up on a specific output. You can use RandR
|
||
## names such as 'VGA1' or names relative to the output with the currently focused
|
||
## workspace such as 'left' and 'down'.
|
||
##
|
||
## Assignments are processed by i3 in the order in which they appear in the config file.
|
||
## The first one which matches the window wins and later assignments are not considered.
|
||
##
|
||
## Syntax:
|
||
#assign <criteria> [→] [workspace] [number] <workspace>
|
||
#assign <criteria> [→] output left|right|up|down|primary|nonprimary|<output>
|
||
|
||
## Also, the arrow is not required, it just looks good :-). If you decide to use it,
|
||
## it has to be a UTF-8 encoded arrow, not -> or something like that.
|
||
##
|
||
## To get the class and instance, you can use `xprop`. After clicking on the window,
|
||
## you will see the following output: WM_CLASS(STRING) = "irssi", "URxvt"
|
||
## The first part of the WM_CLASS is the instance ("irssi" in this example),
|
||
## the second part is the class ("URxvt" in this example).
|
||
##
|
||
# assign [class="Lxappearance|Nitrogen"] 6
|
||
# assign [class="Pavucontrol|Xfce4-power-manager-settings"] 6
|
||
# Top-Left
|
||
assign [class="steam"] 3
|
||
assign [class="spotify"] 4
|
||
|
||
# Top-Right
|
||
assign [class="discord"] 9
|
||
assign [class="telegram-desktop|easyeffects"] 10
|
||
|
||
# Middle
|
||
# assign [class="discord"] 9
|
||
|
||
# Scratchpad
|
||
assign [class="keepassxc"] scratchpad
|
||
|
||
##-- Window Rules ---------------------------
|
||
|
||
## Arbitrary commands for specific windows (for_window)
|
||
##
|
||
## With the `for_window` directive, you can let i3 execute any command when it encounters
|
||
## a specific window. This can be used to set windows to floating or to change their
|
||
## border style, for example.
|
||
##
|
||
## Syntax: for_window <criteria> <command>
|
||
##
|
||
for_window [window_role="pop-up"] floating enable
|
||
for_window [window_role="task_dialog"] floating enable
|
||
for_window [class="alacritty-float|Music"] floating enable
|
||
for_window [class="Pcmanfm|Onboard|Yad"] floating enable
|
||
for_window [class="Lxappearance|Nitrogen"] floating enable
|
||
for_window [class="Pavucontrol|Xfce4-power-manager-settings|Nm-connection-editor"] floating enable
|
||
for_window [class="feh|Viewnior|Gpicview|Gimp|MPlayer"] floating enable
|
||
for_window [class="Kvantum Manager|qt5ct"] floating enable
|
||
for_window [class="VirtualBox Manager|qemu|Qemu-system-x86_64"] floating enable
|
||
for_window [class="Keepassxc"] floating enable
|