370 lines
16 KiB
Plaintext
370 lines
16 KiB
Plaintext
# Startup
|
|
exec-once= bash -c "wl-paste --watch cliphist store &"
|
|
exec-once= fcitx5 -d
|
|
exec-once= emacs --daemon
|
|
exec-once= dms run # DankShell
|
|
|
|
# Monitors
|
|
|
|
source = ./hypr-monitors.conf
|
|
|
|
# Environment
|
|
|
|
# env=HYPRCURSOR_THEME,Bibata-Modern-Ice
|
|
env=HYPRCURSOR_SIZE,24
|
|
env=XDG_CURRENT_DESKTOP,Hyprland
|
|
env=XDG_SESSION_TYPE,wayland
|
|
env=XDG_SESSION_DESKTOP,Hyprland
|
|
env=QT_QPA_PLATFORM,wayland
|
|
env=QT_QPA_PLATFORMTHEME,qt6ct
|
|
env=XCURSOR_THEME,Bibata-Modern-Ice
|
|
env=XCURSOR_SIZE,24
|
|
|
|
# Colors
|
|
source = ./hypr-colors.conf
|
|
|
|
# Settings
|
|
|
|
animations {
|
|
bezier=myBezier, 0.05, 0.9, 0.1, 1.05
|
|
animation=windows, 1, 6, myBezier
|
|
animation=windowsOut, 1, 6, default, popin 80%
|
|
animation=border, 1, 8, default
|
|
animation=borderangle, 1, 6, default
|
|
animation=fade, 1, 6, default
|
|
animation=workspaces, 1, 3, default
|
|
enabled=true
|
|
}
|
|
|
|
debug {
|
|
disable_logs=true
|
|
}
|
|
|
|
decoration {
|
|
blur {
|
|
enabled=true
|
|
new_optimizations=on
|
|
passes=1
|
|
size=3
|
|
xray=true
|
|
}
|
|
|
|
shadow {
|
|
color=$shadow
|
|
enabled=true
|
|
range=4
|
|
render_power=3
|
|
}
|
|
rounding=10
|
|
}
|
|
|
|
dwindle {
|
|
preserve_split=true
|
|
pseudotile=true
|
|
}
|
|
|
|
ecosystem {
|
|
no_donation_nag=true
|
|
no_update_news=true
|
|
}
|
|
|
|
experimental {
|
|
xx_color_management_v4=true
|
|
}
|
|
|
|
general {
|
|
border_size=2
|
|
col.active_border=$primary_container
|
|
col.inactive_border=$secondary_container
|
|
gaps_in=2
|
|
gaps_out=4
|
|
layout=dwindle
|
|
}
|
|
|
|
input {
|
|
touchpad {
|
|
disable_while_typing=true
|
|
drag_lock=false
|
|
middle_button_emulation=true
|
|
natural_scroll=true
|
|
scroll_factor=0.500000
|
|
tap-to-click=true
|
|
}
|
|
|
|
follow_mouse=1
|
|
kb_layout=us
|
|
kb_model=
|
|
kb_options=
|
|
kb_rules=
|
|
kb_variant=
|
|
numlock_by_default=true
|
|
sensitivity=0
|
|
}
|
|
|
|
misc {
|
|
disable_hyprland_logo=false
|
|
disable_splash_rendering=true
|
|
key_press_enables_dpms=true
|
|
mouse_move_enables_dpms=true
|
|
}
|
|
|
|
|
|
# Window Rules
|
|
|
|
# Rule :: Window
|
|
|
|
$ws_game = 1
|
|
$ws_shell = 2
|
|
$ws_web = 3
|
|
$ws_music = 4
|
|
$ws_image = 5
|
|
$ws_chat = 6
|
|
$ws_audio = 7
|
|
$ws_video = 8
|
|
$ws_program = 9
|
|
$ws_extra = 0
|
|
|
|
$idleInhibFs = idleinhibit fullscreen
|
|
$idleInhibFo = idleinhibit focus
|
|
$ws = workspace
|
|
|
|
windowrule = $idleInhibFs, class:^(floorp)$
|
|
windowrule = $idleInhibFs, class:^(firefox)$
|
|
windowrule = $idleInhibFs, class:^(ghostty)$
|
|
windowrule = $idleInhibFs, class:^(brave-browser)$
|
|
|
|
windowrule = $idleInhibFo, class:^(mpv)$
|
|
windowrule = $idleInhibFo, class:^(firefox)$
|
|
windowrule = $idleInhibFo, class:^(floorp)$
|
|
windowrule = $idleInhibFo, class:^(spotify)$
|
|
windowrule = $idleInhibFo, class:^(Emacs|emacs)$
|
|
windowrule = $idleInhibFo, class:^(brave-browser)$
|
|
windowrule = $idleInhibFo, class:^(Discord|discord)$
|
|
|
|
windowrule = opacity 0.98 0.90, class:^(Discord|discord)$
|
|
windowrule = opacity 0.96 0.90, class:^(Emacs|emacs)$
|
|
|
|
windowrule = float, class:^(polkit.*agent.*)$
|
|
windowrule = float, class:^(praat)$
|
|
windowrule = float, class:^(network)$
|
|
windowrule = float, class:^(nm-)$
|
|
windowrule = float, class:^(Network)$
|
|
windowrule = float, class:^(Rofi)$
|
|
windowrule = float, class:^(Gimp)$
|
|
windowrule = float, class:^(thunar)$
|
|
windowrule = float, class:^(Nautilus)$
|
|
windowrule = float, title:^(LmDev-.*)$
|
|
windowrule = float, class:^(notification)$
|
|
windowrule = float, class:^(Genymotion Player)$
|
|
windowrule = float, class:^(launcher)$
|
|
|
|
windowrule = tile, class:^(Spotify)$
|
|
windowrule = tile, title:^(Minecraft)$
|
|
|
|
windowrule = $ws $ws_shell, class:^(KeePassXC)$
|
|
windowrule = $ws $ws_web, class:^(firefox)$
|
|
windowrule = $ws $ws_web, class:^(floorp)$
|
|
windowrule = $ws $ws_web, class:^(brave-browser)$
|
|
windowrule = $ws $ws_music, class:^(Spotify)$
|
|
windowrule = $ws $ws_chat, class:^(discord)$
|
|
windowrule = $ws $ws_chat, class:^(signal)$, title:^(Signal)$
|
|
windowrule = $ws $ws_video, class:^(.*obs.*)$
|
|
windowrule = $ws $ws_game, title:^(Minecraft)$
|
|
|
|
# Commands
|
|
# :Alias: :Command:
|
|
|
|
$lock = dms ipc call lock lock
|
|
$screenshot = grimblast --cursor copy output
|
|
$screenshotarea = hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default'
|
|
|
|
$colorpick = hyprpicker -a -f hex
|
|
$emacs = emacsclient -c -a 'emacs'
|
|
$discord = discord --enable-blink-features=MiddleClickAutoscroll
|
|
|
|
# Binds
|
|
|
|
# Binds :: Modifiers
|
|
$none =
|
|
|
|
$altMod = ALT
|
|
$mainMod = SUPER
|
|
|
|
$noneCtrl = $none CTRL
|
|
$altCtrl = $altMod CTRL
|
|
$mainCtrl = $mainMod CTRL
|
|
|
|
$noneShift = $none SHIFT
|
|
$altShift = $altMod SHIFT
|
|
$mainShift = $mainMod SHIFT
|
|
|
|
$altCtrlShift = $altCtrl SHIFT
|
|
$noneCtrlShift = $noneCtrl SHIFT
|
|
$mainCtrlShift = $mainCtrl SHIFT
|
|
|
|
# Binds :: Programs
|
|
|
|
#:Bind: :Modifier: :Key: :Command: :Args:
|
|
bind = $altMod, Return, exec, ghostty
|
|
bind = $altShift, Return, exec, foot
|
|
bind = $mainShift, D, exec, $discord
|
|
bind = $mainShift, S, exec, signal-desktop
|
|
bind = $mainShift, E, exec, $emacs
|
|
bind = $mainMod, E, exec, thunar
|
|
bind = $mainMod, S, exec, spotify
|
|
bind = $mainMod, P, exec, $colorpick
|
|
|
|
bind = $none, Print, exec, $screenshotarea
|
|
bind = $noneShift, Print, exec, $screenshot
|
|
bind = $mainMod, Space, exec, dms ipc call spotlight toggle
|
|
bind = $mainMod, X, exec, dms ipc call powermenu toggle
|
|
bind = $mainMod, M, exec, dms ipc call processlist toggle
|
|
bind = $mainMod, I, exec, dms ipc call settings toggle
|
|
bind = $mainMod, V, exec, dms ipc call clipboard toggle
|
|
bind = $mainCtrl, P, exec, dms ipc call notepad toggle
|
|
bind = $mainCtrl, C, exec, dms ipc call control-center toggle
|
|
bind = $mainMod, N, exec, dms ipc call notifications toggle
|
|
bind = $mainShift, N, exec, dms ipc call night toggle
|
|
bind = $mainCtrl, B, exec, dms ipc call bar toggle
|
|
|
|
bind = $mainShift, P, pseudo,
|
|
bind = $mainMod, C, killactive,
|
|
bind = $mainMod, F, togglefloating,
|
|
bind = $mainShift, F, fullscreen
|
|
bind = $mainCtrl, S, togglesplit,
|
|
bind = $mainMod, right, resizeactive, 10 0
|
|
bind = $mainMod, left, resizeactive, -10 0
|
|
bind = $mainMod, up, resizeactive, 0 -10
|
|
bind = $mainMod, down, resizeactive, 0 10
|
|
bind = $mainCtrl, L, exec, $lock
|
|
bind = $mainCtrl, Q, exec, $lock
|
|
bind = $mainMod, F4, exit,
|
|
|
|
# Binds :: Navigation
|
|
|
|
#:Bind: :Modifier: :Key: :Command: :Args:
|
|
bind = $mainMod, H, movefocus, l
|
|
bind = $mainMod, L, movefocus, r
|
|
bind = $mainMod, K, movefocus, u
|
|
bind = $mainMod, J, movefocus, d
|
|
bind = $mainMod, comma, focusmonitor, -1
|
|
bind = $mainMod, period, focusmonitor, +1
|
|
bind = $mainShift, H, movewindow, l
|
|
bind = $mainShift, L, movewindow, r
|
|
bind = $mainShift, K, movewindow, u
|
|
bind = $mainShift, J, movewindow, d
|
|
bind = $mainShift, comma, movecurrentworkspacetomonitor, -1
|
|
bind = $mainShift, period, movecurrentworkspacetomonitor, +1
|
|
|
|
bind = $mainMod, $ws_game, workspace, $ws_game
|
|
bind = $mainMod, $ws_shell, workspace, $ws_shell
|
|
bind = $mainMod, $ws_web, workspace, $ws_web
|
|
bind = $mainMod, $ws_music, workspace, $ws_music
|
|
bind = $mainMod, $ws_image, workspace, $ws_image
|
|
bind = $mainMod, $ws_chat, workspace, $ws_chat
|
|
bind = $mainMod, $ws_audio, workspace, $ws_audio
|
|
bind = $mainMod, $ws_video, workspace, $ws_video
|
|
bind = $mainMod, $ws_program, workspace, $ws_program
|
|
bind = $mainMod, $ws_extra, workspace, name:extra
|
|
|
|
bind = $mainShift, $ws_game, movetoworkspace, $ws_game
|
|
bind = $mainShift, $ws_shell, movetoworkspace, $ws_shell
|
|
bind = $mainShift, $ws_web, movetoworkspace, $ws_web
|
|
bind = $mainShift, $ws_music, movetoworkspace, $ws_music
|
|
bind = $mainShift, $ws_image, movetoworkspace, $ws_image
|
|
bind = $mainShift, $ws_chat, movetoworkspace, $ws_chat
|
|
bind = $mainShift, $ws_audio, movetoworkspace, $ws_audio
|
|
bind = $mainShift, $ws_video, movetoworkspace, $ws_video
|
|
bind = $mainShift, $ws_program, movetoworkspace, $ws_program
|
|
bind = $mainShift, $ws_extra, movetoworkspace, name:extra
|
|
|
|
bind = $mainCtrlShift, right, movetoworkspace, +1
|
|
bind = $mainCtrlShift, left, movetoworkspace, -1
|
|
|
|
bind = $mainMod, mouse_down, workspace, e+1
|
|
bind = $mainMod, mouse_up, workspace, e-1
|
|
bind = $mainMod, Tab, workspace, e+1
|
|
bind = $mainShift, Tab, workspace, e-1
|
|
bind = $mainCtrl, right, workspace, +1
|
|
bind = $mainCtrl, left, workspace, -1
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
|
|
|
|
# Binds :: MultiMedia
|
|
|
|
bindl = $none, XF86AudioPlay, exec, playerctl play-pause
|
|
bindl = $none, XF86AudioNext, exec, playerctl next
|
|
bindl = $none, XF86AudioPrev, exec, playerctl previous
|
|
|
|
bindl = $none, XF86AudioMute, exec, dms ipc call audio mute
|
|
bindl = $none, XF86AudioMicMute, exec, dms ipc call audio micmute
|
|
bindle = $none, XF86AudioRaiseVolume, exec, dms ipc call audio increment 3
|
|
bindle = $none, XF86AudioLowerVolume, exec, dms ipc call audio decrement 3
|
|
|
|
bindle = $none, XF86MonBrightnessUp, exec, dms ipc call brightness increment 5 ""
|
|
bindle = $none, XF86MonBrightnessDown, exec, dms ipc call brightness decrement 5 ""
|
|
|
|
# Binds :: Submap
|
|
|
|
# Binds :: Submap :: Resize
|
|
bind = $mainMod, R, submap, resize
|
|
|
|
submap = resize
|
|
|
|
bind = $none, escape, submap, reset
|
|
|
|
binde = $none, left, resizeactive, -10 0
|
|
bindr = $none, left, submap, reset
|
|
binde = $none, right, resizeactive, 10 0
|
|
bindr = $none, right, submap, reset
|
|
binde = $none, up, resizeactive, 0 10
|
|
bindr = $none, up, submap, reset
|
|
binde = $none, down, resizeactive, 0 -10
|
|
bindr = $none, down, submap, reset
|
|
|
|
binde = $none, H, resizeactive, -10 0
|
|
bindr = $none, H, submap, reset
|
|
binde = $none, J, resizeactive, 0 -10
|
|
bindr = $none, J, submap, reset
|
|
binde = $none, K, resizeactive, 0 10
|
|
bindr = $none, K, submap, reset
|
|
binde = $none, L, resizeactive, 10 0
|
|
bindr = $none, L, submap, reset
|
|
|
|
submap=reset
|
|
|
|
# Binds :: Submap :: Browser
|
|
bind = $mainMod, B, submap, browser
|
|
|
|
submap = browser
|
|
|
|
bind = $none, B, exec, brave
|
|
bindr = $none, B, submap, reset
|
|
|
|
bind = $noneShift, F, exec, firefox
|
|
bindr = $noneShift, F, submap, reset
|
|
|
|
bind = $none, F, exec, floorp
|
|
bindr = $none, F, submap, reset
|
|
|
|
bind = $none, escape, submap, reset
|
|
submap = reset
|
|
|
|
# Binds :: Submap :: Video
|
|
bind = $mainShift, V, submap, video
|
|
submap = video
|
|
|
|
bind = $none, O, exec, obs
|
|
bindr = $none, O, submap, reset
|
|
|
|
bind = $none, V, exec, kdenlive
|
|
bindr = $none, V, submap, reset
|
|
|
|
bind = $none, escape, submap, reset
|
|
submap = reset
|
|
|
|
# Gestures
|
|
|
|
gesture = 3, horizontal, workspace
|