diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 13ec356..5719967 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,16 +1,10 @@ -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# -# - # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,highrr,auto,auto # Wayland related environment variables. env = XCURSOR_SIZE,24 env = WLR_NO_HARDWARE_CURSORS,1 -env = TERMINAL,footclient +env = TERMINAL,foot # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { @@ -73,11 +67,12 @@ animations { # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = linear, 0.0, 0.0, 1.0, 1.0 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default - animation = borderangle, 1, 8, default + animation = borderangle, 1, 100, linear, loop animation = fade, 1, 7, default animation = workspaces, 1, 6, default } @@ -90,6 +85,7 @@ dwindle { master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_on_top = true new_is_master = true no_gaps_when_only = true } @@ -103,28 +99,27 @@ misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers enable_swallow = true - swallow_regex = ^footclient$ + swallow_regex = ^(st|foot|footclient)$ mouse_move_enables_dpms = true } -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -# device:epic-mouse-v1 { -# sensitivity = -0.5 -# } - # Window rules windowrule = tile,title:^(VRChat)$ +windowrule = tile,title:^(nsxiv)$ +windowrule = rounding 0,title:^(rofi.*)$ +# windowrule = opacity 0.99,title:^(Obsidian.*)$ $mainMod = SUPER # Program spawning hotkeys -bind = CONTROL ALT, BACKSPACE, exec, footclient -e zsh -c 'htop' -bind = $mainMod, RETURN, exec, footclient +bind = CONTROL ALT, BACKSPACE, exec, foot -e zsh -c 'btop' +bind = $mainMod, RETURN, exec, foot bind = $mainMod, W, exec, firefox -bind = $mainMod, E, exec, footclient -e zsh -c 'tmp="$(mktemp)" && command lf -last-dir-path="$tmp" "$@" && test -f "$tmp" && dir="$(command cat "$tmp")" && rm -f "$tmp" && test -d "$dir" && cd "$dir" && exec $SHELL' +bind = $mainMod, E, exec, foot -e zsh -c 'tmp="$(mktemp)" && command lf -last-dir-path="$tmp" "$@" && test -f "$tmp" && dir="$(command cat "$tmp")" && rm -f "$tmp" && test -d "$dir" && cd "$dir" && exec $SHELL' bind = $mainMod SHIFT, E, exec, emacsclient -c -a 'emacs' -bind = $mainMod, P, exec, rofi-pass +# bind = $mainMod, C, exec, emacsclient -c -a "emacs" -n --eval '(progn (set-frame-font "FiraCode Nerd Font") (cfw:open-org-calendar))' +bind = $mainMod, C, exec, foot -e zsh -c 'khal interactive' +bind = $mainMod, M, exec, foot -e zsh -c 'neomutt' # Menu hoykeys bind = $mainMod, R, exec, menu-run @@ -140,6 +135,25 @@ binde = ,F6, exec, change-brightness down binde = ,XF86MonBrightnessDown, exec, change-brightness down bind = $mainMod, L, exec, hyprctl dispatch dpms off; swaylock -e -c 000000 + +# Print area, screen, and all, respectively +bind = $mainMod, P, exec, grimblast --freeze copysave area /tmp/screenshot; mv /tmp/screenshot ~/$(rofi -dmenu -l 0 -p "Screenshot filename:" < /dev/null).png +bind = $mainMod SHIFT, P, exec, grimblast --freeze copysave output /tmp/screenshot; mv /tmp/screenshot ~/$(rofi -dmenu -l 0 -p "Screenshot filename:" < /dev/null).png +bind = $mainMod CONTROL SHIFT, P, exec, grimblast --freeze copysave screen /tmp/screenshot; mv /tmp/screenshot ~/$(rofi -dmenu -l 0 -p "Screenshot filename:" < /dev/null).png + +# Launch menu scripts with Super-D keychord +bind = $mainMod, D, exec, hyprctl dispatch submap menu-submap; sleep 2; hyprctl dispatch submap reset +submap = menu-submap +bind = ,O, exec, menu-wpio sink +bind = ,O, submap, reset +bind = ,I, exec, menu-wpio source +bind = ,I, submap, reset +bind = ,L, exec, hyprmonitors menu +bind = ,L, submap, reset +bind = ,P, exec, rofi-pass +bind = ,P, submap, reset +submap = reset + # Hide waybar bind = $mainMod, B, exec, pkill -SIGUSR1 waybar @@ -148,8 +162,10 @@ bind = $mainMod CONTROL SHIFT, Q, exit, bind = $mainMod, Q, killactive, # Change gaps -binde = $mainMod, Z, exec, hyprgaps -i 3 -binde = $mainMod, X, exec, hyprgaps -d 3 +binde = $mainMod, Z, exec, hyprgaps -i 3 +binde = $mainMod, X, exec, hyprgaps -d 3 +bind = $mainMod, A, exec, hyprgaps -t +bind = $mainMod SHIFT, A, exec, hyprgaps -r # Master stack movement commands bind = $mainMod, J, layoutmsg, cyclenext @@ -169,6 +185,7 @@ bind = $mainMod SHIFT, T, layoutmsg, orientationtop # Special windows bind = $mainMod, F, togglefloating, +bind = $mainMod SHIFT, F, fakefullscreen bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic @@ -216,19 +233,5 @@ bind = $mainMod, mouse_up, workspace, e-1 bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow -exec-once = swww init # Do this early so the daemon has time to load - -# Set default workspace per monitor -exec-once = sleep 1 && hyprctl dispatch focusmonitor 1; hyprctl dispatch exec 'hyprdwm goto 1' -exec-once = sleep 1 && hyprctl dispatch focusmonitor 2; hyprctl dispatch exec 'hyprdwm goto 1' -exec-once = sleep 1 && hyprctl dispatch focusmonitor 3; hyprctl dispatch exec 'hyprdwm goto 1' - -exec-once = waybar -exec-once = hyprland-autoname-workspaces -# exec-once = kanshi -exec-once = ~/.local/bin/hyprmonitors - -exec-once = fcitx5 -exec-once = foot --server -exec-once = sleep 1 && swww img ~/.config/wallpaper +exec-once = startw diff --git a/.config/hyprland-autoname-workspaces/config.toml b/.config/hyprland-autoname-workspaces/config.toml index cb084bf..244a0de 100644 --- a/.config/hyprland-autoname-workspaces/config.toml +++ b/.config/hyprland-autoname-workspaces/config.toml @@ -32,13 +32,18 @@ workspace = "{id}:{delim}{clients}" # {id}, {delim} and {clients} are supported "(?i)Kitty" = " " "(?i)foot" = " " "(?i)st" = " " +"(?i)mpv" = " " "[Ff]irefox" = " " "(?i)slack" = "󰒱 " -"(?i)discord" = "󰙯 " +"(?i)discord" = "󰊴 " "(?i)spotify" = " " "(?i)chromium" = " " "(?i)emacs" = " " "(?i)steam" = " " +"(?i)zathura" = " " +"(?i)Anki" = " " +"(?i)libreoffice-writer" = "󰷈 " +"(?i)blueman-manager-wrapped" = " " # [class_active] # DEFAULT = "*{icon}*"