# Startup exec-once= bash -c "wl-paste --watch cliphist store &" exec-once= fcitx5 -d exec-once= emacs --daemon exec-once= dms run # DankShell # Monitors monitor=eDP-1,1920x1080@60,0x0,1 monitor=HDMI-A-1,2560x1440@144,auto,1,mirror,eDP-1 monitor=,preferred,auto,1,mirror,eDP-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,wayland env=XCURSOR_THEME,Bibata-Modern-Ice env=XCURSOR_SIZE,24 # Color # Color :: Definition $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) $shadowBlack = rgba(1a1a1aee) # Color :: Option $active_border = rgb(f3f8ff) $inactive_border = rgb(8e9195) $shadow = $shadowBlack # 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=$active_border col.inactive_border=$inactive_border 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 $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 = 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 name:shell, class:^(KeePassXC)$ windowrule = $ws name:browser, class:^(firefox)$ windowrule = $ws name:browser, class:^(floorp)$ windowrule = $ws name:browser, class:^(brave-browser)$ windowrule = $ws name:music, class:^(Spotify)$ windowrule = $ws name:chat, class:^(discord)$ windowrule = $ws name:chat, class:^(Signal)$ windowrule = $ws name:video, class:^(.*obs.*)$ windowrule = $ws name: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, E, exec, $emacs bind = $mainMod, Space, exec, dms ipc call spotlight toggle 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, 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 = $mainShift, P, pseudo, bind = $mainMod, C, killactive, bind = $mainMod, F, togglefloating, bind = $mainShift, F, fullscreen bind = $mainShift, 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 = $mainMod, L, exec, $lock bind = $mainCtrl, Q, exec, $lock bind = $mainMod, F4, exit, $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 #: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, 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 = $mainShift, $ws_game, movetoworkspace, name:game bind = $mainShift, $ws_shell, movetoworkspace, name:shell bind = $mainShift, $ws_browser, movetoworkspace, name:browser bind = $mainShift, $ws_music, movetoworkspace, name:music bind = $mainShift, $ws_image, movetoworkspace, name:image bind = $mainShift, $ws_chat, movetoworkspace, name:chat bind = $mainShift, $ws_audio, movetoworkspace, name:audio bind = $mainShift, $ws_video, movetoworkspace, name:video bind = $mainShift, $ws_program, movetoworkspace, name: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