dotfiles/config/i3/config.d/05_rules.conf
2024-04-04 12:51:24 +02:00

75 lines
3.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
##
## Rules
##-- Workspace Rules ------------------------
workspace 1 output HDMI-A-0
workspace 2 output HDMI-A-0
workspace 3 output DisplayPort-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, youd need to have to match on Firefox in this case. Another known
## issue is with Spotify, which doesnt set the class hints when mapping the window,
## meaning youll 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
##-- 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