368 lines
11 KiB
Plaintext
368 lines
11 KiB
Plaintext
# Startup
|
|
exec-once= bash -c "wl-paste --watch cliphist store &"
|
|
exec-once= fcitx5 -d
|
|
exec-once= wl-paste -p --watch wl-copy -p ''
|
|
exec-once= dms run # DankShell
|
|
|
|
# Monitors
|
|
|
|
monitor=DP-1,2560x1440@143.97Hz,0x0,1
|
|
monitor=HDMI-A-1,preferred,2560x180,1
|
|
|
|
# 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,Hyprland
|
|
env=XCURSOR_THEME,Bibata-Modern-Ice
|
|
env=XCURSOR_SIZE,24
|
|
|
|
# Colors
|
|
$green=rgb(00BB00)
|
|
$gray=rgb(555555)
|
|
$purple=rgb(BB00BB)
|
|
$lavendar=rgb(B39DF3)
|
|
$orange=rgb(F39660)
|
|
|
|
$lightgreen=rgb(93C863)
|
|
$lightblue=rgb(76CCE0)
|
|
|
|
$magenta=rgba(881798FF)
|
|
$crimson=rgba(471520FF)
|
|
|
|
|
|
# USED COLORS
|
|
$active_border=$lightgreen
|
|
$inactive_border=$gray
|
|
$expo_bg=$active_border
|
|
$shadow=rgba(1a1a1aee)
|
|
|
|
|
|
animations {
|
|
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
|
|
enabled=true
|
|
}
|
|
|
|
debug {
|
|
disable_logs=true
|
|
}
|
|
|
|
decoration {
|
|
blur {
|
|
enabled=false
|
|
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=$active_border
|
|
col.inactive_border=$inactive_border
|
|
gaps_in=2
|
|
gaps_out=4
|
|
layout=dwindle
|
|
}
|
|
|
|
gestures {
|
|
workspace_swipe=true
|
|
workspace_swipe_forever=true
|
|
}
|
|
|
|
input {
|
|
touchpad {
|
|
disable_while_typing=false
|
|
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=false
|
|
key_press_enables_dpms=true
|
|
mouse_move_enables_dpms=true
|
|
}
|
|
|
|
# Plugin Config
|
|
|
|
plugin {
|
|
hyprexpo {
|
|
columns = 3
|
|
gap_size = 3
|
|
bg_col = $expo_bg
|
|
workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
|
|
|
|
enable_gesture = true # laptop touchpad
|
|
gesture_fingers = 3 # 3 or 4
|
|
gesture_distance = 300 # how far is the "max"
|
|
gesture_positive = false # true = swipe down, false = swipe up.
|
|
}
|
|
}
|
|
|
|
# Window Rules
|
|
|
|
windowrule=idleinhibit fullscreen, class:firefox
|
|
windowrule=idleinhibit fullscreen, class:floorp
|
|
windowrule=idleinhibit fullscreen, class:ghostty
|
|
windowrule=idleinhibit focus, class:firefox
|
|
windowrule=idleinhibit focus, class:floorp
|
|
windowrule=idleinhibit focus, class:mpv
|
|
windowrule=idleinhibit focus, class:^(emacs)$
|
|
windowrule=idleinhibit focus, class:^(Emacs)$
|
|
windowrule=idleinhibit focus, class:^(discord)$
|
|
windowrule=idleinhibit focus, class:^(spotify)$
|
|
windowrule=idleinhibit focus, class:^(Discord|discord)$
|
|
|
|
windowrule=opacity 0.98 0.9, class:^(Discord|discord)$
|
|
|
|
windowrule=float, class:polkit-kde-authentication-agent-1
|
|
windowrule=float, class:^(praat)$
|
|
windowrule=float, class:^(steam)$, title:^(Friends List)$
|
|
windowrule=float, class:^(network)$
|
|
windowrule=float, class:^(nm-)$
|
|
windowrule=float, class:^(Network)$
|
|
windowrule=float, class:Rofi
|
|
windowrule=float, class:Gimp
|
|
windowrule=float, class:Nautilus
|
|
windowrule=float, class:notification
|
|
windowrule=float, class:^(launcher)$
|
|
windowrule=tile, class:Spotify
|
|
windowrule=tile, title:Minecraft
|
|
|
|
windowrule=workspace name:game, class:^(steam)$
|
|
windowrule=workspace name:shell, class:^(KeePassXC)$
|
|
windowrule=workspace name:browser, class:^(firefox)$
|
|
windowrule=workspace name:browser, class:^(floorp)$
|
|
windowrule=workspace name:browser, class:^(Brave.*)$
|
|
windowrule=workspace name:music, class:^(Spotify)$
|
|
windowrule=workspace name:chat, class:^(discord)$
|
|
windowrule=workspace name:chat, class:^(Signal)$
|
|
windowrule=workspace name:game, title:Minecraft
|
|
|
|
# Workspace Rules
|
|
workspace=name:game, monitor:DP-1
|
|
workspace=name:browser, monitor:HDMI-A-1, default:true
|
|
workspace=name:chat, monitor:HDMI-A-1
|
|
workspace=name:video, monitor:DP-1
|
|
workspace=name:program, monitor:DP-1, default:true
|
|
workspace=name:extra, monitor:DP-1
|
|
|
|
# Commands
|
|
$lock=hyprlock
|
|
$screenshotarea=hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default'
|
|
$discord=discord --enable-blink-features=MiddleClickAutoscroll
|
|
$emacs=emacsclient -c -a 'emacs'
|
|
$colorpick=hyprpicker -a -f hex
|
|
$screenshot=grimblast --cursor copy output
|
|
|
|
# Binds
|
|
|
|
$altMod=ALT
|
|
$ctrlMod=CTRL
|
|
$mainMod=SUPER
|
|
|
|
# Binds :: Programs
|
|
|
|
$none=
|
|
# :Meta-Bind: :Key: :Command: :Args:
|
|
bind=$altMod, Return, exec, ghostty
|
|
bind=$altMod SHIFT, Return, exec, alacritty
|
|
bind=$mainMod SHIFT, D, exec, $discord
|
|
bind=$mainMod SHIFT, E, exec, $emacs
|
|
bind=$mainMod SHIFT, F, exec, focus-linux
|
|
bind=$mainMod, SPACE, exec, pkill wofi || wofi
|
|
bind=$mainMod, E, exec, nautilus
|
|
bind=$mainMod, S, exec, spotify
|
|
bind=$mainMod, P, exec, $colorpick
|
|
bind=$none, Print, exec, $screenshotarea
|
|
bind=SHIFT, Print, exec, $screenshot
|
|
bind=$mainMod CTRL, Q, exec, $lock
|
|
bind=$mainMod SHIFT, P, pseudo
|
|
bind=$mainMod, C, killactive
|
|
bind=$mainMod, V, togglefloating
|
|
bind=$mainMod SHIFT, S, togglesplit
|
|
bind=$mainMod, F4, exit
|
|
|
|
# bind = SUPER, grave, hyprexpo:expo, toggle # Commented out cos "version mismatch (bs)"
|
|
|
|
# Workspace Name:Bind Numbers
|
|
$ws_game=1
|
|
$ws_shell=2
|
|
$ws_browser=3
|
|
$ws_music=4
|
|
$ws_image=5
|
|
$ws_chat=6
|
|
$ws_audio=7
|
|
$ws_video=8
|
|
$ws_program=9
|
|
$ws_extra=0
|
|
|
|
# Binds :: Navigation
|
|
|
|
# :Meta-Bind: :Key: :Command: :Args:
|
|
bind=$mainMod, F, fullscreen
|
|
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=$mainMod SHIFT, H, movewindow, l
|
|
bind=$mainMod SHIFT, L, movewindow, r
|
|
bind=$mainMod SHIFT, K, movewindow, u
|
|
bind=$mainMod SHIFT, J, movewindow, d
|
|
bind=$mainMod SHIFT, comma, movecurrentworkspacetomonitor, -1
|
|
bind=$mainMod SHIFT, period, movecurrentworkspacetomonitor, +1
|
|
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=$mainMod, $ws_game, workspace, name:game
|
|
bind=$mainMod, $ws_shell, workspace, name:shell
|
|
bind=$mainMod, $ws_browser, workspace, name:browser
|
|
bind=$mainMod, $ws_music, workspace, name:music
|
|
bind=$mainMod, $ws_image, workspace, name:image
|
|
bind=$mainMod, $ws_chat, workspace, name:chat
|
|
bind=$mainMod, $ws_audio, workspace, name:audio
|
|
bind=$mainMod, $ws_video, workspace, name:video
|
|
bind=$mainMod, $ws_program, workspace, name:program
|
|
bind=$mainMod, $ws_extra, workspace, name:extra
|
|
bind=$mainMod SHIFT, $ws_game, movetoworkspace, name:game
|
|
bind=$mainMod SHIFT, $ws_shell, movetoworkspace, name:shell
|
|
bind=$mainMod SHIFT, $ws_browser, movetoworkspace, name:browser
|
|
bind=$mainMod SHIFT, $ws_music, movetoworkspace, name:music
|
|
bind=$mainMod SHIFT, $ws_image, movetoworkspace, name:image
|
|
bind=$mainMod SHIFT, $ws_chat, movetoworkspace, name:chat
|
|
bind=$mainMod SHIFT, $ws_audio, movetoworkspace, name:audio
|
|
bind=$mainMod SHIFT, $ws_video, movetoworkspace, name:video
|
|
bind=$mainMod SHIFT, $ws_program, movetoworkspace, name:program
|
|
bind=$mainMod SHIFT, $ws_extra, movetoworkspace, name:extra
|
|
bind=$mainMod SHIFT CTRL, right, movetoworkspace, +1
|
|
bind=$mainMod SHIFT CTRL, left, movetoworkspace, -1
|
|
bind=$mainMod, mouse_down, workspace, e+1
|
|
bind=$mainMod, mouse_up, workspace, e-1
|
|
bind=$mainMod, Tab, workspace, e+1
|
|
bind=$mainMod SHIFT, Tab, workspace, e-1
|
|
bind=$mainMod CTRL, right, workspace, +1
|
|
bind=$mainMod CTRL, left, workspace, -1
|
|
|
|
bindm=$mainMod, mouse:272, movewindow
|
|
bindm=$mainMod, mouse:273, resizewindow
|
|
|
|
# Binds :: MultiMedia
|
|
|
|
$brightness=$NIX_CONFIG_DIR/scripts/progress-notify.sh brightness
|
|
$volume=$NIX_CONFIG_DIR/scripts/progress-notify.sh audio
|
|
$mute=$NIX_CONFIG_DIR/scripts/progress-notify.sh mute
|
|
|
|
binde=$none, XF86MonBrightnessDown, exec, brightnessctl set 10%- && $brightness
|
|
binde=$none, XF86MonBrightnessUp, exec, brightnessctl set 10%+ && $brightness
|
|
bindel=, XF86AudioRaiseVolume, exec, pamixer -i 5 && $volume
|
|
bindel=, XF86AudioLowerVolume, exec, pamixer -d 5 && $volume
|
|
bindel=, XF86AudioMute, exec, pamixer -t && $mute
|
|
bindl=$none, XF86AudioPlay, exec, playerctl play-pause
|
|
bindl=$none, XF86AudioNext, exec, playerctl next
|
|
bindl=$none, XF86AudioPrev, exec, playerctl previous
|
|
|
|
# Binds :: Submaps
|
|
|
|
# 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
|
|
|
|
# Submap::Browser
|
|
bind=$mainMod, B, submap, browser
|
|
submap=browser
|
|
|
|
bind=$none, B, exec, brave
|
|
bind=$none, B, submap, reset
|
|
|
|
bind=SHIFT, F, exec, firefox
|
|
bind=SHIFT, F, submap, reset
|
|
|
|
bind=$none, F, exec, floorp
|
|
bind=$none, F, submap, reset
|
|
|
|
bind=$none, escape,submap,reset
|
|
submap=reset
|
|
|
|
# Submap::Video
|
|
bind=$mainMod SHIFT, V, submap, video
|
|
submap=video
|
|
|
|
bind=$none, O, exec, obs
|
|
bind=$none, O, submap, reset
|
|
|
|
bind=$none, V, exec , kdenlive
|
|
bind=$none, V, submap, reset
|
|
|
|
bind=$none, escape,submap,reset
|
|
submap=reset
|