commit 0bf183ffee makes the waybar
vertical, making it so the location for the firefox picture in picture
window need to be updated to match.
292 lines
9.1 KiB
Text
Executable file
292 lines
9.1 KiB
Text
Executable file
|
|
################
|
|
### MONITORS ###
|
|
################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
monitor=eDP-1,1920x1080@60,auto,1
|
|
|
|
#################
|
|
### AUTOSTART ###
|
|
#################
|
|
|
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
# Or execute your favorite apps at launch like this:
|
|
|
|
exec-once = swww-daemon &
|
|
exec-once = waybar &
|
|
exec-once = swaync &
|
|
exec-once = hyprshade auto &
|
|
exec-once = walker --gapplication-service
|
|
|
|
exec-once = opensnitch-ui
|
|
exec-once = systemctl status --user polkit-gnome-authentication-agent-1.service
|
|
|
|
exec-once = steam -silent &
|
|
|
|
#############################
|
|
### ENVIRONMENT VARIABLES ###
|
|
#############################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
env = XCURSOR_SIZE,24
|
|
env = HYPRCURSOR_SIZE,24
|
|
|
|
#####################
|
|
### LOOK AND FEEL ###
|
|
#####################
|
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
|
|
general {
|
|
gaps_in = 3
|
|
gaps_out = 5
|
|
|
|
border_size = 2
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
col.active_border = rgba(ff6161ee) rgba(cc2a2aee) 45deg
|
|
col.inactive_border = rgba(e04254aa)
|
|
|
|
# Set to true enable 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
|
|
}
|
|
|
|
decoration {
|
|
rounding = 10
|
|
|
|
# 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 = 5
|
|
passes = 3
|
|
|
|
vibrancy = 0.1696
|
|
}
|
|
}
|
|
|
|
# Matugen theming
|
|
source = ./matugen.conf
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
animations {
|
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
enabled = true
|
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
|
|
animation = windows, 1, 7, myBezier
|
|
animation = windowsOut, 1, 7, default, popin 80%
|
|
animation = border, 1, 10, default
|
|
animation = borderangle, 1, 8, default
|
|
animation = fade, 1, 7, default
|
|
animation = workspaces, 1, 6, default
|
|
}
|
|
|
|
# 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 = -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. :(
|
|
disable_splash_rendering = true
|
|
disable_hyprland_logo = true # makes swww startup more seemless
|
|
|
|
enable_swallow = true
|
|
swallow_regex = ^(com.mitchellh.ghostty)$
|
|
}
|
|
|
|
|
|
#############
|
|
### INPUT ###
|
|
#############
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
input {
|
|
kb_layout = us
|
|
kb_variant =
|
|
kb_model =
|
|
kb_options =
|
|
kb_rules =
|
|
|
|
follow_mouse = 1
|
|
|
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
|
|
touchpad {
|
|
natural_scroll = true
|
|
clickfinger_behavior = true
|
|
tap-to-click = false
|
|
}
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
gestures {
|
|
workspace_swipe = 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 ###
|
|
###################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
|
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
bind = $mainMod, Q, exec, ghostty
|
|
bind = $mainMod, B, exec, firefox
|
|
bind = $mainMod, D, exec, walker
|
|
bind = $mainMod, S, exec, hyprshot -z --clipboard-only -m region
|
|
bind = $mainMod shift, S, exec, hyprshot -z --clipboard-only -m window
|
|
bind = $mainMod control, S, exec, hyprshot -z --clipboard-only -m active
|
|
bind = $mainMod, V, exec, sh ~/.config/hypr/hyprlock.sh
|
|
|
|
bind = $mainMod, SPACE, togglefloating,
|
|
bind = $mainMod, W, killactive,
|
|
bind = $mainMod, M, exit,
|
|
|
|
#bind = $mainMod, P, pseudo, # dwindle # have no clue what this does
|
|
bind = $mainMod, F, fullscreen
|
|
bind = $mainMod, C, togglesplit, # dwindle
|
|
|
|
# Move focus with mainMod + arrow keys
|
|
bind = $mainMod, h, movefocus, l
|
|
bind = $mainMod, l, movefocus, r
|
|
bind = $mainMod, k, movefocus, u
|
|
bind = $mainMod, j, movefocus, d
|
|
|
|
# brightness keys
|
|
bindel = , XF86MonBrightnessUp, exec, brightnessctl s +2%
|
|
bindel = , XF86MonBrightnessDown, exec, brightnessctl s 2%-
|
|
|
|
# media keys
|
|
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+
|
|
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
|
|
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
|
|
# Requires playerctl
|
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
bindl = , XF86AudioNext, exec, playerctl next
|
|
|
|
# Switch workspaces with mainMod + [0-9]
|
|
bind = $mainMod, 1, workspace, 1
|
|
bind = $mainMod, 2, workspace, 2
|
|
bind = $mainMod, 3, workspace, 3
|
|
bind = $mainMod, 4, workspace, 4
|
|
bind = $mainMod, 5, workspace, 5
|
|
bind = $mainMod, 6, workspace, 6
|
|
bind = $mainMod, 7, workspace, 7
|
|
bind = $mainMod, 8, workspace, 8
|
|
bind = $mainMod, 9, workspace, 9
|
|
bind = $mainMod, 0, workspace, 10
|
|
|
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
|
|
# Scroll through existing workspaces with mainMod + scroll
|
|
bind = $mainMod, mouse_down, workspace, e+1
|
|
bind = $mainMod, mouse_up, workspace, e-1
|
|
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
|
|
input:kb_options = caps:super
|
|
|
|
# Controllers Binds
|
|
bind = $mainMod, page_up, workspace, e+1
|
|
bind = $mainMod, page_down, workspace, e-1
|
|
bind = $mainMod, insert, exec, hyprexit
|
|
|
|
##############################
|
|
### WINDOWS AND WORKSPACES ###
|
|
##############################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
|
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
|
|
|
windowrulev2 = noborder,initialClass:ulauncher
|
|
windowrulev2 = noblur,initialClass:ulauncher
|
|
windowrulev2 = noshadow,initialClass:ulauncher
|
|
|
|
windowrulev2 = float,initialTitle:(^KeePassXC - Browser Access Request$)
|
|
|
|
windowrulev2 = noanim,initialTitle:(^flameshot$)
|
|
windowrulev2 = float,initialTitle:(^flameshot$)
|
|
|
|
windowrulev2 = float, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$)
|
|
windowrulev2 = pin, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$)
|
|
windowrulev2 = noinitialfocus, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$)
|
|
windowrulev2 = size 20%, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$)
|
|
windowrulev2 = move 76% 0.5%, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$)
|
|
windowrulev2 = keepaspectratio, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$)
|
|
|
|
windowrulev2 = move -100% -100%, initialClass:(^xwaylandvideobridge$)
|
|
windowrulev2 = noinitialfocus, initialClass:(^xwaylandvideobridge$)
|
|
|
|
windowrulev2 = dimaround, initialClass:(^polkit-gnome-authentication-agent-1$)
|
|
windowrulev2 = center, initialClass:(^polkit-gnome-authentication-agent-1$)
|
|
windowrulev2 = float, initialClass:(^polkit-gnome-authentication-agent-1$)
|
|
windowrulev2 = pin, initialClass:(^polkit-gnome-authentication-agent-1$)
|
|
windowrulev2 = stayfocused, initialClass:(^polkit-gnome-authentication-agent-1$)
|
|
windowrulev2 = animation slidein, initialClass:(^polkit-gnome-authentication-agent-1$)
|
|
|
|
windowrulev2 = dimaround, initialClass:(^opensnitch_ui$)
|
|
windowrulev2 = stayfocused, initialClass:(^opensnitch_ui$)
|
|
windowrulev2 = animation slidein, initialClass:(^opensnitch_ui$)
|
|
windowrulev2 = float, initialClass:(^opensnitch_ui$)
|
|
windowrulev2 = size 960 540, initialClass:(^opensnitch_ui$)
|
|
windowrulev2 = center, initialClass:(^opensnitch_ui$)
|
|
|
|
windowrulev2 = idleinhibit fullscreen, initialTitle:(.*)
|
|
|
|
windowrulev2 = pin, initialTitle:(^Steam Input On-screen Keyboard$)
|
|
windowrulev2 = noblur, initialTitle:(^Steam Input On-screen Keyboard$)
|
|
windowrulev2 = bordersize 0, initialTitle:(^Steam Input On-screen Keyboard$)
|
|
windowrulev2 = noshadow, initialTitle:(^Steam Input On-screen Keyboard$)
|
|
|
|
# layer rules
|
|
layerrule = animation slide right, waybar
|