347 lines
11 KiB
Plaintext
347 lines
11 KiB
Plaintext
|
||
# #######################################################################################
|
||
# AUTOGENERATED HYPRLAND CONFIG.
|
||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hyprland.conf AND EDIT IT,
|
||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||
# #######################################################################################
|
||
|
||
# autogenerated = 1 # remove this line to remove the warning
|
||
|
||
# This is an example Hyprland config file.
|
||
# Refer to the wiki for more information.
|
||
# https://wiki.hyprland.org/Configuring/
|
||
|
||
# Please note not all available settings / options are set here.
|
||
# For a full list, see the wiki
|
||
|
||
# You can split this configuration into multiple files
|
||
# Create your files separately and then link them to this file like this:
|
||
# source = ~/.config/hypr/myColors.conf
|
||
|
||
# Wallpaper
|
||
env = WALLPAPER, ~/.config/backgrounds/unviverse/magenta.jpg
|
||
|
||
################
|
||
### MONITORS ###
|
||
################
|
||
|
||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||
monitor=,preferred,auto,1.5
|
||
|
||
|
||
###################
|
||
### MY PROGRAMS ###
|
||
###################
|
||
|
||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||
|
||
# Set programs that you use
|
||
$terminal = kitty
|
||
$menu = wofi --show drun
|
||
$browser = librewolf
|
||
$mail = betterbird
|
||
|
||
#################
|
||
### AUTOSTART ###
|
||
#################
|
||
|
||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||
# Or execute your favorite apps at launch like this:
|
||
|
||
# exec-once = $terminal
|
||
# exec-once = nm-applet &
|
||
# exec-once = waybar & hyprpaper & firefox
|
||
exec-once = waybar & hyprpaper & hypridle
|
||
#exec-once = /usr/lib/polkit-kde-authentication-agent-1
|
||
exec-once = protonmail-bridge --no-window
|
||
exec-once = dbus-update-activation-environment --all
|
||
exec-once = gnome-keyring-daemon --start --components=secrets
|
||
exec-once = swaync
|
||
# add banana
|
||
#exec-once = hyprctl setcursor "Banana-Catppuccin-Mocha" 48
|
||
#exec = gsettings set org.gnome.desktop.interface cursor-the "Banana-Catppuccin-Mocha"
|
||
#exec = gsettings set org.gnome.desktop.interface cursor-size 48
|
||
|
||
############################
|
||
### 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/
|
||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||
general {
|
||
gaps_in = 2
|
||
gaps_out = 2
|
||
|
||
border_size = 1
|
||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||
col.inactive_border = rgba(595959aa)
|
||
|
||
# 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 = dwindle
|
||
}
|
||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||
decoration {
|
||
rounding = 3
|
||
|
||
# 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 = 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
|
||
}
|
||
|
||
# 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 = -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. :(
|
||
#}
|
||
|
||
|
||
#############
|
||
### INPUT ###
|
||
#############
|
||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||
input {
|
||
kb_layout = ch
|
||
kb_variant = de_mac
|
||
kb_model = apple
|
||
kb_options =
|
||
kb_rules =
|
||
|
||
follow_mouse = 1
|
||
|
||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||
|
||
touchpad {
|
||
natural_scroll = false
|
||
}
|
||
}
|
||
|
||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||
#gestures {
|
||
# workspace_swipe = false
|
||
#}
|
||
|
||
# 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, return, exec, $terminal
|
||
bind = $SUPER_SHIFT, c, killactive,
|
||
bind = $mainMod, !, exit,
|
||
bind = $mainMod, V, togglefloating,
|
||
bind = $mainMod, space, exec, $menu
|
||
bind = $mainMod, P, exec, [workspace 5 silent] bitwarden-desktop
|
||
bind = $mainMod, J, togglesplit, # dwindle
|
||
bind = $mainMod, M, exec, [workspace 3 silent] $mail
|
||
bind = $mainMod, I, exec, [workspace 4 silent] claude-desktop
|
||
bind = $mainMod, T, exec, [workspace 5 silent] tidal-hifi
|
||
bind = $mainMod, Z, exec, [workspace 2 silent] $browser
|
||
bind = $mainMod, O, exec, [workspace 6 silent] onlyoffice-desktopeditors
|
||
bind = $mainMod, B, exec, [workspace 5 silent] obsidian
|
||
|
||
# Layer Indicator
|
||
bind = SUPER CTRL, 0, exec, ~/scripts/layer_notify.sh 0
|
||
bind = SUPER CTRL, 1, exec, ~/scripts/layer_notify.sh 1
|
||
bind = SUPER CTRL, 2, exec, ~/scripts/layer_notify.sh 2
|
||
bind = SUPER CTRL, 3, exec, ~/scripts/layer_notify.sh 3
|
||
|
||
# Brightness controls
|
||
bind = SUPER CTRL, 4, exec, ~/scripts/br_up.sh
|
||
bind = SUPER CTRL, 5, exec, ~/scripts/br_down.sh
|
||
|
||
# Blue light filter toggle
|
||
bind = SUPER CTRL, 6, exec, ~/scripts/br_blue.sh
|
||
|
||
# Filter Reset
|
||
bind = SUPER CTRL, 7, exec, ~/scripts/br_reset.sh
|
||
|
||
# Toggle Swaync Control center
|
||
bind = SUPER CTRL, 8, exec, swaync-client -t
|
||
|
||
# hyprlock
|
||
bind = $SUPER_SHIFT, l, exec, hyprlock
|
||
|
||
# hyprshot
|
||
bind = $mainMod ALT, 5, exec, hyprshot -m window
|
||
bind = $mainMod ALT, 4, exec, hyprshot -m region
|
||
|
||
# Move focus with mainMod + arrow keys
|
||
bind = $mainMod, h, movefocus, l
|
||
bind = $mainMod, j, movefocus, d
|
||
bind = $mainMod, k, movefocus, u
|
||
bind = $mainMod, l, movefocus, r
|
||
|
||
# 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
|
||
|
||
# Example special workspace (scratchpad)
|
||
bind = $mainMod, S, togglespecialworkspace, magic
|
||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||
|
||
# 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
|
||
|
||
# Laptop multimedia keys for volume and LCD brightness
|
||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||
|
||
# Requires playerctl
|
||
bindl = , XF86AudioNext, exec, playerctl next
|
||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||
|
||
# brightness adjustment
|
||
#bind = , code:232, exec, ~/.scripts/brightness.sh dec
|
||
#bind = , code:233, exec, ~/.scripts/brightness.sh inc
|
||
|
||
##############################
|
||
### 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.
|
||
# windowrulev2 = suppressevent maximize, class:.*
|
||
|
||
# Fix some dragging issues with XWayland
|
||
#windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||
#decoration {
|
||
# screen_shader = ~/.config/hypr/shaders/bluelight.frag
|
||
#}
|