2025-01-11 18:24:49 +01:00
|
|
|
#####################
|
|
|
|
### LOOK AND FEEL ###
|
|
|
|
#####################
|
|
|
|
|
|
|
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
2025-06-18 12:07:51 +02:00
|
|
|
source = ~/.config/hypr/config/colors.conf
|
2025-01-11 18:24:49 +01:00
|
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
|
|
general {
|
|
|
|
gaps_in = 1
|
2025-06-04 19:28:09 +02:00
|
|
|
gaps_out = 1
|
2025-01-11 18:24:49 +01:00
|
|
|
|
|
|
|
border_size = 1
|
|
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
|
|
col.active_border = $active_color
|
|
|
|
col.inactive_border = $inactive_color
|
|
|
|
|
|
|
|
# Resizing windows by clicking and dragging on borders and gaps
|
|
|
|
resize_on_border = true
|
|
|
|
|
|
|
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
|
|
allow_tearing = false
|
|
|
|
|
|
|
|
layout = dwindle
|
|
|
|
}
|
|
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
|
|
decoration {
|
|
|
|
rounding = 2
|
|
|
|
|
|
|
|
# Change transparency of focused and unfocused windows
|
|
|
|
active_opacity = 1.0
|
|
|
|
inactive_opacity = 1.0
|
|
|
|
|
|
|
|
shadow {
|
|
|
|
enabled = true
|
|
|
|
range = 4
|
|
|
|
render_power = 3
|
|
|
|
color = rgba(1a1a1aee)
|
|
|
|
}
|
|
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
|
|
blur {
|
|
|
|
enabled = true
|
|
|
|
size = 6
|
2025-06-04 19:28:09 +02:00
|
|
|
passes = 4
|
2025-01-11 18:24:49 +01:00
|
|
|
|
|
|
|
vibrancy = 0.1696
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
# Apply blur to waybar
|
|
|
|
layerrule = blur,waybar
|
|
|
|
|
2025-05-04 23:53:29 +02:00
|
|
|
# Apply blur to swaync
|
|
|
|
layerrule = blur, swaync-control-center
|
|
|
|
layerrule = blur, swaync-notification-window
|
|
|
|
layerrule = ignorezero, swaync-control-center
|
|
|
|
layerrule = ignorezero, swaync-notification-window
|
|
|
|
layerrule = ignorealpha 0.5, swaync-control-center
|
|
|
|
layerrule = ignorealpha 0.5, swaync-notification-window
|
|
|
|
|
2025-01-11 18:24:49 +01:00
|
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
|
|
animations {
|
|
|
|
enabled = yes, please :)
|
|
|
|
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
|
|
|
|
|
|
# Bezier curves
|
|
|
|
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
|
|
|
|
|
|
|
|
bezier = easeInOutExpo,0.87,0,0.13,1
|
|
|
|
|
|
|
|
# Animations
|
|
|
|
animation = global, 1, 10, default
|
|
|
|
animation = border, 1, 5.39, easeOutQuint
|
|
|
|
|
|
|
|
animation = windows, 1, 3.79, easeOutQuint
|
|
|
|
animation = windowsIn, 1, 3.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
|
2025-03-03 09:01:51 +01:00
|
|
|
animation = workspacesIn, 1, 3, easeOutQuint, slide
|
|
|
|
animation = workspacesOut, 1, 3, easeOutQuint, slide
|
|
|
|
|
|
|
|
#animation = workspacesIn, 1, 3, easeOutQuint, slidefade
|
|
|
|
#animation = workspacesOut, 1, 5, easeOutQuint, slidefade
|
2025-01-11 18:24:49 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# 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
|
|
|
|
}
|
|
|
|
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
|
|
master {
|
|
|
|
new_status = master
|
|
|
|
}
|
|
|
|
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
|
|
misc {
|
|
|
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
|
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
|
|
|
disable_splash_rendering = true # Disable default wallpapers rendering
|
2025-01-20 12:53:06 +01:00
|
|
|
vfr = true # Lower sent frames when idle
|
2025-01-11 18:24:49 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
##############################
|
|
|
|
### 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.
|
2025-04-04 12:16:07 +02:00
|
|
|
windowrule = suppressevent maximize, class:.*
|
2025-01-11 18:24:49 +01:00
|
|
|
|
|
|
|
# Fix some dragging issues with XWayland
|
2025-04-04 12:16:07 +02:00
|
|
|
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
2025-01-11 18:24:49 +01:00
|
|
|
|
|
|
|
# Albert
|
2025-04-04 12:16:07 +02:00
|
|
|
windowrule=noborder,class:^(albert)$
|
|
|
|
windowrule=noblur,class:^(albert)$
|
|
|
|
windowrule=noshadow,class:^(albert)$
|
|
|
|
windowrule=float,class:^(albert)$
|
|
|
|
windowrule=stayfocused,class:^(albert)$
|
|
|
|
windowrule=nodim,class:^(albert)$
|
2025-03-03 09:01:51 +01:00
|
|
|
|
|
|
|
# Prism Launcher
|
2025-04-04 12:16:07 +02:00
|
|
|
windowrule=pseudo, class:(org.prismlauncher.PrismLauncher)
|
|
|
|
windowrule=size 65% 70%, class:(org.prismlauncher.PrismLauncher), title:^(Prism Launcher .*)$
|
2025-03-03 09:01:51 +01:00
|
|
|
|
2025-06-18 12:07:51 +02:00
|
|
|
# Nautilus
|
|
|
|
windowrule=pseudo, class:(org.gnome.Nautilus)
|
|
|
|
windowrule=size 65% 70%, class:(org.gnome.Nautilus) initialTitle:^(Loading…)$
|
|
|
|
|
|
|
|
# Kitty
|
|
|
|
#windowrule=pseudo, class:(kitty)
|
|
|
|
#windowrule=size 80% 80%, class:(kitty)
|
|
|
|
|
|
|
|
# Vivado
|
|
|
|
## Loading screen
|
|
|
|
windowrule=float, class:(ui-PlanAhead)
|
|
|
|
windowrule=size 397 295, class:(ui-PlanAhead) title:^(win0)$
|
|
|
|
windowrule=center, class:(ui-PlanAhead)
|
|
|
|
## Main window
|
|
|
|
windowrule=tile, class:(Vivado)
|
|
|
|
|
|
|
|
|
2025-03-03 09:01:51 +01:00
|
|
|
# TODO Automatically fullscreen single apps
|
|
|
|
# - Seems impossible for now (try mixing with workspace rules)
|
|
|
|
|
2025-06-04 19:28:09 +02:00
|
|
|
# Default size for floating windows
|
|
|
|
## TODO
|
|
|
|
#windowrulev2 = size 100 100,floating:1
|
|
|
|
|
2025-03-03 09:01:51 +01:00
|
|
|
# Increase gaps for single apps
|
2025-06-04 19:28:09 +02:00
|
|
|
## Usless since I changed the default gap but may be useful if you decide to reset it to 0
|
|
|
|
#workspace=w[t1], gapsout:2
|