Files
dotfiles/dot_config/hypr/hyprland.d/60-rules.conf

133 lines
4.5 KiB
Plaintext

# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = match:float 0, match:workspace w[tv1], border_size 0
# windowrule = match:float 0, match:workspace w[tv1], rounding 0
# windowrule = match:float 0, match:workspace f[1], border_size 0
# windowrule = match:float 0, match:workspace f[1], rounding 0
##############
### GROUPS ###
##############
group {
auto_group = true
insert_after_current = true
focus_removed_window = true
drag_into_group = 1
merge_groups_on_drag = true
merge_groups_on_groupbar = true
merge_floated_into_tiled_on_groupbar = true
group_on_movetoworkspace = false
col.border_active = $border_group_active
col.border_inactive = $border_group_inactive
col.border_locked_active = $border_grouplocked_active
col.border_locked_inactive = $border_grouplocked_active
groupbar{
enabled = true
height = 12
font_family = GeistMono Nerd Font
font_size = 8
font_weight_active = semibold
font_weight_inactive = normal
stacked = false
gradients = true
gradient_rounding = 5
indicator_height = 0
rounding = 0
gradient_round_only_edges = true
text_color = $groupbar_text
col.active = $groupbar_active
col.inactive = $groupbar_inactive
col.locked_active = $groupbar_grouplocked_active
col.locked_inactive = $groupbar_grouplocked_inactive
gaps_out = 0
gaps_in = 0
render_titles = true
scrolling = true
priority = 3
}
}
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example modern windowrule
# windowrule = match:class ^(kitty)$, match:title ^(kitty)$, float on
# Ignore maximize requests from apps. You'll probably like this.
windowrule = match:class .*, suppress_event maximize
# Fix some dragging issues with XWayland
windowrule = match:class ^$, match:title ^$, match:xwayland 1, match:float 1, match:fullscreen 0, match:pin 0, no_focus on
windowrule = match:xwayland 1, no_initial_focus on
## ========== Special Workspaces ==========
workspace = special:passwordmgr, on-created-empty:bitwarden-desktop
## ========== Workspace Layout Overrides ==========
workspace = name:comms, layout:scrolling
workspace = name:steam, layout:scrolling
#windowrule = float, class:org.keepassxc.KeePassXC
#windowrule = noscreenshare, class:org.keepassxc.KeePassXC
#windowrule = size 60% 60%, class:org.keepassxc.KeePassXC
#windowrule = center, class:org.keepassxc.KeePassXC
## ========== Communication ==========
# Comms
windowrule = match:class ^(info\.mumble\.Mumble|discord|vesktop|teamspeak-client|TeamSpeak|TeamSpeak 3|teamspeak3)$, workspace name:comms
# Element
windowrule = match:class ^(Element)$, workspace name:element
## ========== Mail ==========
windowrule = match:class ^(org\.mozilla\.Thunderbird)$, workspace name:mail
## ========== Notes ==========
windowrule = match:class ^(@joplin/app-desktop)$, workspace name:joplin
## ========== Multimedia ==========
windowrule = match:class Spotify, workspace 10
### ========== Development ==========
#windowrule = match:class jetbrains-webstorm, match:title Welcome to WebStorm, float on
#windowrule = match:class jetbrains-webstorm, match:title Welcome to WebStorm, size 1080 720
## ========== Gaming ==========
# Steam
windowrule = match:class ^(steam)$, workspace name:steam
## ========== System ==========
windowrule = match:class com.saivert.pwvucontrol, float on
windowrule = match:class scrrec, float on
windowrule = match:class scrrec, pin on
windowrule = match:class scrrec, idle_inhibit always
windowrule = match:class scrrec, rounding 10
windowrule = match:class scrrec, opacity 0.6
windowrule = match:class scrrec, border_size 0
windowrule = match:class scrrec, size 300 100
windowrule = match:class scrrec, move 1% 1%
windowrule = match:class scrrec, monitor 0
windowrule = match:class scrrec, no_initial_focus on
windowrule = match:class com.gabm.satty, float on
windowrule = match:class com.gabm.satty, min_size 700 400
# Blur swaync
#layerrule = blur on, match:namespace swaync-control-center
#layerrule = blur on, match:namespace swaync-notification-window
#layerrule = ignore_alpha 0, match:namespace swaync-control-center
#layerrule = ignore_alpha 0, match:namespace swaync-notification-window