[feat](hyprland): Add new workspace for KeePassXC with float, size, and centered properties [style](hyprland): Add workspace rules for communication applications and system applications
331 lines
9.3 KiB
Plaintext
331 lines
9.3 KiB
Plaintext
|
|
################
|
|
### MONITORS ###
|
|
################
|
|
|
|
source = ~/.config/hypr/monitors.conf
|
|
source = ~/.config/hypr/workspaces.conf
|
|
|
|
#################
|
|
### AUTOSTART ###
|
|
#################
|
|
|
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
# Or execute your favorite apps at launch like this:
|
|
|
|
source = ~/.config/hypr/conf.d/autostart.conf
|
|
|
|
##############
|
|
### COLORS ###
|
|
##############
|
|
|
|
source = ~/.config/hypr/conf.d/theme.conf
|
|
|
|
#############################
|
|
### ENVIRONMENT VARIABLES ###
|
|
#############################
|
|
|
|
# uwsm handles those
|
|
|
|
#####################
|
|
### LOOK AND FEEL ###
|
|
#####################
|
|
|
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
general {
|
|
gaps_in = 5
|
|
gaps_out = 5,5,5,5
|
|
|
|
border_size = 2
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
col.active_border = $border_active
|
|
col.inactive_border = $border_inactive
|
|
col.nogroup_border = $border_nogroup_inactive
|
|
col.nogroup_border_active = $border_nogroup_active
|
|
|
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
resize_on_border = false
|
|
|
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
allow_tearing = false
|
|
|
|
layout = master
|
|
}
|
|
|
|
render {
|
|
new_render_scheduling = true
|
|
}
|
|
|
|
cursor {
|
|
hide_on_key_press = true # Hide cursor when typing
|
|
persistent_warps = true # Cursor returns to last position in window
|
|
warp_on_change_workspace = true # Move cursor to focused window on workspace switch
|
|
|
|
inactive_timeout = 0
|
|
zoom_factor = 1.0
|
|
zoom_rigid = false
|
|
enable_hyprcursor = true
|
|
sync_gsettings_theme = true
|
|
}
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
decoration {
|
|
rounding = 5
|
|
|
|
# Change transparency of focused and unfocused windows
|
|
active_opacity = 1.0
|
|
inactive_opacity = 1.0
|
|
|
|
# Dim inactive windows
|
|
dim_modal = true
|
|
dim_inactive = true
|
|
dim_strength = 0.1
|
|
|
|
shadow {
|
|
enabled = false
|
|
range = 4
|
|
render_power = 3
|
|
color = $dec_shadow
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
blur {
|
|
enabled = true
|
|
size = 3
|
|
passes = 1
|
|
|
|
vibrancy = 0.1696
|
|
}
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
animations {
|
|
enabled = yes, please :)
|
|
|
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
|
|
bezier = easeOutQuint,0.23,1,0.32,1
|
|
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
|
bezier = linear,0,0,1,1
|
|
bezier = almostLinear,0.5,0.5,0.75,1.0
|
|
bezier = quick,0.15,0,0.1,1
|
|
|
|
animation = global, 1, 10, default
|
|
animation = border, 1, 5.39, easeOutQuint
|
|
animation = windows, 1, 4.79, easeOutQuint
|
|
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
animation = fadeIn, 1, 1.73, almostLinear
|
|
animation = fadeOut, 1, 1.46, almostLinear
|
|
animation = fade, 1, 3.03, quick
|
|
animation = layers, 1, 3.81, easeOutQuint
|
|
animation = layersIn, 1, 4, easeOutQuint, fade
|
|
animation = layersOut, 1, 1.5, linear, fade
|
|
animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
animation = workspaces, 1, 1.94, almostLinear, fade
|
|
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
|
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
|
animation = specialWorkspace, 1, 1.5, easeOutQuint, slidevert
|
|
}
|
|
|
|
# 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
|
|
# windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
|
|
# windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
|
|
# windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
|
|
# windowrulev2 = rounding 0, floating:0, onworkspace:f[1]
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
dwindle {
|
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
preserve_split = true # You probably want this
|
|
smart_split = true
|
|
}
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
master {
|
|
orientation = center
|
|
center_master_fallback = left
|
|
slave_count_for_center_master = 4
|
|
mfact = 0.60
|
|
new_status = slave
|
|
new_on_top = true
|
|
new_on_active = after
|
|
inherit_fullscreen = true
|
|
|
|
allow_small_split = false
|
|
special_scale_factor = 0.8
|
|
drop_at_cursor = true
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
misc {
|
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
|
vrr = 2
|
|
vfr = true
|
|
mouse_move_enables_dpms = true
|
|
key_press_enables_dpms = true
|
|
layers_hog_keyboard_focus = true
|
|
mouse_move_focuses_monitor = true
|
|
col.splash = $splash_text
|
|
}
|
|
|
|
#############
|
|
### INPUT ###
|
|
#############
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
input {
|
|
kb_layout = ultimatekeys
|
|
kb_options = caps:escape_shifted_capslock
|
|
numlock_by_default = true
|
|
repeat_rate = 25
|
|
repeat_delay = 600
|
|
follow_mouse = 1
|
|
mouse_refocus = true
|
|
float_switch_override_focus = 2
|
|
special_fallthrough = true
|
|
touchpad {
|
|
disable_while_typing = true
|
|
scroll_factor = 1.0
|
|
tap-to-click = true
|
|
}
|
|
}
|
|
|
|
|
|
# Example per-device config
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
#device {
|
|
# name = epic-mouse-v1
|
|
# sensitivity = -0.5
|
|
#}
|
|
|
|
###################
|
|
### KEYBINDINGS ###
|
|
###################
|
|
|
|
source = ~/.config/hypr/conf.d/keybinds.conf
|
|
|
|
##############
|
|
### 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 = InconsolataGo Nerd Font Mono
|
|
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 windowrule v2
|
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
|
|
# Ignore maximize requests from apps. You'll probably like this.
|
|
windowrule = suppressevent maximize, class:.*
|
|
|
|
# Fix some dragging issues with XWayland
|
|
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
|
|
|
## ========== Special Workspaces ==========
|
|
workspace = special:keepass, on-created-empty:keepassxc
|
|
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 ==========
|
|
# Mumble & Discord & TeamSpeak
|
|
windowrule = workspace 2, class:^(info\.mumble\.Mumble|discord|TeamSpeak|vesktop)$
|
|
# Signal & Element
|
|
windowrule = workspace 1, class:^(signal|Element)$
|
|
|
|
## ========== Multimedia ==========
|
|
windowrule = workspace 10, class:Spotify
|
|
|
|
### ========== Development ==========
|
|
#windowrulev2 = float, class:jetbrains-webstorm, title:Welcome to WebStorm
|
|
#windowrulev2 = size 1080 720, class:jetbrains-webstorm, title:Welcome to WebStorm
|
|
|
|
## ========== Gaming ==========
|
|
# Steam & Battle.net & Lutris
|
|
windowrule = workspace 3, class:^(steam|battle\.net\.exe|net\.lutris\.Lutris)$
|
|
|
|
## ========== System ==========
|
|
windowrule = float, class:com.saivert.pwvucontrol
|
|
|
|
windowrule = float, class:scrrec
|
|
windowrule = pin, class:scrrec
|
|
windowrule = idleinhibit always, class:scrrec
|
|
windowrule = rounding 10, class:scrrec
|
|
windowrule = opacity 0.6, class:scrrec
|
|
windowrule = noborder, class:scrrec
|
|
windowrule = size 300 100, class:scrrec
|
|
windowrule = move 1% 1%, class:scrrec
|
|
windowrule = monitor 0, class:scrrec
|
|
windowrule = noinitialfocus, class:scrrec
|
|
|
|
windowrule = float, class:com.gabm.satty
|
|
windowrule = size >700 >400, class:com.gabm.satty
|
|
|
|
# Blur swaync
|
|
#layerrule = blur, swaync-control-center
|
|
#layerrule = blur, swaync-notification-window
|
|
#layerrule = ignorezero, swaync-control-center
|
|
#layerrule = ignorezero, swaync-notification-window
|
|
#layerrule = ignorealpha, swaync-control-center
|
|
#layerrule = ignorealpha, swaync-notification-window
|
|
|