mirror of
https://github.com/eRgo35/dots.git
synced 2025-12-16 15:36:11 +01:00
349 lines
9.9 KiB
Plaintext
349 lines
9.9 KiB
Plaintext
# This is an example Hyprland config file.
|
|
# Refer to the wiki for more information.
|
|
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
|
|
|
# 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
|
|
|
|
|
|
################
|
|
### MONITORS ###
|
|
################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
monitor=HDMI-A-1, preferred, 0x360, 1
|
|
monitor=DP-1, highrr, 4480x0, 1
|
|
monitor=DP-2, highrr, 1920x0, 1
|
|
|
|
|
|
###################
|
|
### MY PROGRAMS ###
|
|
###################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
|
|
# Set programs that you use
|
|
$terminal = kitty
|
|
$fileManager = nemo
|
|
$menu = rofi -show drun
|
|
$lock = $HOME/.config/hypr/lock.sh
|
|
$editor = zed
|
|
$browser = firefox
|
|
$picker = hyprpicker -a -f hex
|
|
|
|
#################
|
|
### AUTOSTART ###
|
|
#################
|
|
|
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
|
|
exec-once = hyprpm reload -n
|
|
exec-once = hypridle
|
|
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
exec-once=zsh $HOME/.config/hypr/autostart.sh
|
|
|
|
#############################
|
|
### ENVIRONMENT VARIABLES ###
|
|
#############################
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
|
|
env = XCURSOR_SIZE,24
|
|
env = HYPRCURSOR_SIZE,24
|
|
|
|
env = CLUTTER_BACKEND,wayland
|
|
env = GDK_BACKEND,wayland,x11
|
|
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
|
env = QT_QPA_PLATFORMTHEME,qt5ct
|
|
env = QT_QPA_PLATFORMTHEME,qt6ct
|
|
env = QT_SCALE_FACTOR,1
|
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
|
|
|
# Nvidia
|
|
env = LIBVA_DRIVER_NAME,nvidia
|
|
env = XDG_SESSION_TYPE,wayland
|
|
env = GBM_BACKEND,nvidia-drm
|
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
env = WLR_NO_HARDWARE_CURSORS,1
|
|
env = __NV_PRIME_RENDER_OFFLOAD,1
|
|
env = __VK_LAYER_NV_optimus,NVIDIA_only
|
|
env = __GL_THREADED_OPTIMIZATIONS=0
|
|
|
|
# Wayland enforce
|
|
env = QT_QPA_PLATFORM,wayland
|
|
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
|
env = XDG_SESSION_DESKTOP,Hyprland
|
|
|
|
# Java
|
|
env = _JAVA_AWT_WM_NOREPARENTING,1
|
|
env = _JAVA_OPTIONS,-Dawt.useSystemAAFontSettings=on
|
|
|
|
# Firefox
|
|
env = MOZ_ENABLE_WAYLAND,1
|
|
env = MOZ_DISABLE_RDD_SANDBOX,1
|
|
env = EGL_PLATFORM,wayland
|
|
|
|
# Electron
|
|
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
|
|
|
# Input
|
|
env = QT_IM_MODULE,fcitx
|
|
env = XMODIFIERS=@im=fcitx
|
|
env = GLFW_IM_MODULE,ibus
|
|
|
|
# SSH Agents
|
|
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket
|
|
|
|
#####################
|
|
### LOOK AND FEEL ###
|
|
#####################
|
|
|
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
general {
|
|
gaps_in = 10
|
|
gaps_out = 20
|
|
|
|
border_size = 1
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
col.active_border = rgba(fabd2fee) rgba(fe8019ee) 45deg
|
|
col.inactive_border = rgba(928374aa)
|
|
|
|
# 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 = 10
|
|
|
|
# Change transparency of focused and unfocused windows
|
|
active_opacity = 0.98
|
|
inactive_opacity = 0.95
|
|
|
|
drop_shadow = true
|
|
shadow_range = 15
|
|
shadow_render_power = 3
|
|
col.shadow = rgba(1a1a1aee)
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
blur {
|
|
enabled = true
|
|
size = 4
|
|
passes = 3
|
|
|
|
vibrancy = 0.1696
|
|
}
|
|
}
|
|
|
|
cursor {
|
|
no_hardware_cursors = true
|
|
}
|
|
|
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
animations {
|
|
enabled = true
|
|
|
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
|
|
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 = 0 # 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 = pl
|
|
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
|
|
}
|
|
}
|
|
|
|
# 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
|
|
# }
|
|
|
|
###############
|
|
### PLUGINS ###
|
|
###############
|
|
|
|
plugin {
|
|
split-monitor-workspaces {
|
|
count = 10
|
|
keep_focused = 1
|
|
enable_notifications = 0
|
|
}
|
|
}
|
|
|
|
####################
|
|
### KEYBINDINGSS ###
|
|
####################
|
|
|
|
# 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 SHIFT, RETURN, exec, $terminal
|
|
bind = $mainMod, Q, killactive,
|
|
bind = $mainMod SHIFT, Q, exit
|
|
bind = $mainMod, N, exec, $fileManager
|
|
bind = $mainMod, W, exec, $editor
|
|
bind = $mainMod, Z, exec, $terminal
|
|
bind = $mainMod, B, exec, $browser
|
|
bind = $mainMod SHIFT, L, exec, $lock
|
|
bind = $mainMod, V, togglefloating,
|
|
bind = $mainMod, R, exec, $menu
|
|
bind = $mainMod, SPACE, exec, $menu
|
|
bind = $mainMod SHIFT, C, exec, $picker
|
|
bind = $mainMod, P, pseudo, # dwindle
|
|
bind = $mainMod, J, togglesplit, # dwindle
|
|
|
|
# Move focus with mainMod + vim keys
|
|
bind = $mainMod, H, movefocus, l
|
|
bind = $mainMod, L, movefocus, r
|
|
bind = $mainMod, K, movefocus, u
|
|
bind = $mainMod, J, movefocus, d
|
|
|
|
# Switch workspaces with mainMod + [0-9]
|
|
bind = $mainMod, 1, split-workspace, 1
|
|
bind = $mainMod, 2, split-workspace, 2
|
|
bind = $mainMod, 3, split-workspace, 3
|
|
bind = $mainMod, 4, split-workspace, 4
|
|
bind = $mainMod, 5, split-workspace, 5
|
|
bind = $mainMod, 6, split-workspace, 6
|
|
bind = $mainMod, 7, split-workspace, 7
|
|
bind = $mainMod, 8, split-workspace, 8
|
|
bind = $mainMod, 9, split-workspace, 9
|
|
bind = $mainMod, 0, split-workspace, 10
|
|
|
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
|
|
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
|
|
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
|
|
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
|
|
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
|
|
bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6
|
|
bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7
|
|
bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8
|
|
bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9
|
|
bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10
|
|
|
|
# Example special workspace (scratchpad)
|
|
bind = $mainMod, D, togglespecialworkspace, magic
|
|
bind = $mainMod SHIFT, D, movetoworkspace, special:magic
|
|
|
|
# Move between monitors
|
|
bind = $mainMod, code:60, focusmonitor, -1 # code 60 is a dot (.)
|
|
bind = $mainMod, code:59, focusmonitor, +1 # code 59 is a comma (,)
|
|
# bind = $mainMod SHIFT, BackSpace, movewindow, mon:+1,
|
|
# bind = $mainMod SHIFT, code:59, changemonitorsilent, e-1
|
|
# bind = $mainMod SHIFT, code:60, changemonitorsilent, e+1
|
|
|
|
# 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
|
|
|
|
bind = ,XF86AudioMicMute, exec, amixer set Capture toggle
|
|
bind = ,XF86AudioMute, exec, amixer set Master toggle
|
|
bind = ,XF86AudioRaiseVolume, exec, amixer set Master playback 2%+
|
|
bind = ,XF86AudioLowerVolume, exec, amixer set Master playback 2%-
|
|
bind = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+
|
|
bind = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-
|
|
# bind =CTRL,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
|
|
# bind = SHIFT,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"
|
|
bind = SHIFT, XF86MonBrightnessDown, exec, brightnessctl set 1%
|
|
bind = SHIFT, XF86MonBrightnessUp, exec, brightnessctl set 100%
|
|
|
|
# Screenshot a window
|
|
bind = $mainMod, PRINT, exec, hyprshot -m window
|
|
# Screenshot a monitor
|
|
bind = , PRINT, exec, hyprshot -m output
|
|
# Screenshot a region
|
|
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
|
|
|
##############################
|
|
### 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)$
|
|
|
|
windowrule=opacity 1.0 override 1.0, ^(firefox)$
|
|
|
|
# Example windowrule v2
|
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
|
|
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
|
|
|
windowrulev2 = float,class:^(flameshot)$
|
|
windowrulev2 = pin,class:^(flameshot)$
|
|
|
|
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
|
|
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
|