From ac31f6fb001edf7752f21c165da578d001d40851 Mon Sep 17 00:00:00 2001 From: xsghetti Date: Tue, 27 Feb 2024 23:19:42 -0500 Subject: [PATCH] Split hyprland config --- .config/hypr/animations.conf | 53 +++++++++ .config/hypr/exec.conf | 11 ++ .config/hypr/hyprland.conf | 201 +++------------------------------- .config/hypr/keybindings.conf | 104 ++++++++++++++++++ .config/hypr/windowrule.conf | 40 +++++++ 5 files changed, 222 insertions(+), 187 deletions(-) create mode 100644 .config/hypr/animations.conf create mode 100644 .config/hypr/exec.conf create mode 100644 .config/hypr/keybindings.conf create mode 100644 .config/hypr/windowrule.conf diff --git a/.config/hypr/animations.conf b/.config/hypr/animations.conf new file mode 100644 index 00000000..72f39dac --- /dev/null +++ b/.config/hypr/animations.conf @@ -0,0 +1,53 @@ + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 0 + + blur { + enabled = true + size = 6 + passes = 3 + new_optimizations = true + ignore_opacity = on + xray = false + brightness = 1 + + } + + drop_shadow = yes + shadow_range = 8 + shadow_render_power = 20 + col.shadow = rgb(AHG444) + active_opacity = 1 + inactive_opacity = 1 + +} + + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = workspaces, 1, 6, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default +# animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide +# animation = windowsOut, 1, 5, winOut, slide +# animation = windowsMove, 1, 5, wind, slide +# animation = border, 1, 1, liner +# animation = borderangle, 1, 30, liner, loop +# animation = fade, 1, 10, default +# animation = workspaces, 1, 5, wind +} \ No newline at end of file diff --git a/.config/hypr/exec.conf b/.config/hypr/exec.conf new file mode 100644 index 00000000..246a41c4 --- /dev/null +++ b/.config/hypr/exec.conf @@ -0,0 +1,11 @@ +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox +exec-once = waybar +exec-once = waybar --config ~/.config/waybar/config-taskbar +exec-once = sleep 5 && swww init +exec-once = blueman-applet +exec-once = /usr/lib/polkit-kde-authentication-agent-1 +exec-once = nm-applet --indicator +exec-once = $discord +exec-once = wal -r +exec-once = swaync \ No newline at end of file diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 6d85a571..a35a3144 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -14,20 +14,14 @@ monitor = HDMI-A-1, transform, 3 workspace = DP-1,1 workspace = HDMI-A-1,6 +#Laptop Config +monitor = eDP-1, 1920x1080@144, auto, 1 +workspace = eDP-1,1 + # See https://wiki.hyprland.org/Configuring/Keywords/ for more -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox -exec-once = waybar -exec-once = waybar --config ~/.config/waybar/config-taskbar -exec-once = sleep 5 && swww init -exec-once = blueman-applet -exec-once = /usr/lib/polkit-kde-authentication-agent-1 -exec-once = nm-applet --indicator -exec-once = $discord -exec-once = wal -r -exec-once = swaync + # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf @@ -108,33 +102,6 @@ decoration { } -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - bezier = wind, 0.05, 0.9, 0.1, 1.05 - bezier = winIn, 0.1, 1.1, 0.1, 1.1 - bezier = winOut, 0.3, -0.3, 0, 1 - bezier = liner, 1, 1, 1, 1 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = workspaces, 1, 6, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default -# animation = windows, 1, 6, wind, slide - animation = windowsIn, 1, 6, winIn, slide -# animation = windowsOut, 1, 5, winOut, slide -# animation = windowsMove, 1, 5, wind, slide -# animation = border, 1, 1, liner -# animation = borderangle, 1, 30, liner, loop -# animation = fade, 1, 10, default -# animation = workspaces, 1, 5, wind -} - dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below @@ -158,157 +125,9 @@ misc { # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -#device:epic-mouse-v1 { - #sensitivity = -0.5 -#} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. -windowrule = move 1250 50,^(blueman-manager)$ -windowrulev2= opacity 0.70 0.70,class:^(Spotify)$ -windowrulev2= opacity 0.80 0.80,class:^(Code)$ -windowrulev2= opacity 0.80 0.80,class:^(waypaper)$ -windowrulev2= opacity 0.80 0.80,class:^(dolphin)$ -windowrulev2= opacity 0.80 0.80,class:^(discord)$ -windowrulev2= opacity 0.80 0.80,class:^($discord2)$ -windowrulev2= opacity 0.80 0.80,class:^(lutris)$ -windowrulev2= opacity 0.80 0.80,class:^(firefox)$ -windowrulev2 = float,class:^(qt5ct)$ -windowrulev2 = float,class:^(nwg-look)$ -windowrulev2 = float,class:^(org.kde.ark)$ -windowrulev2 = float,class:^(Signal)$ #Signal-Gtk -windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk -windowrulev2 = float,class:^(app.drey.Warp)$ #Warp-Gtk -windowrulev2 = float,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt -windowrulev2 = float,class:^(yad)$ #Protontricks-Gtk -windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk -windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk -windowrulev2 = float,class:^(pavucontrol)$ -windowrulev2 = float,class:^(blueman-manager)$ -windowrulev2 = float,class:^(nm-applet)$ -windowrulev2 = float,class:^(nm-connection-editor)$ -windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = float,class:^(steam)$ -windowrulev2 = stayfocused, title:^()$,class:^(steam)$ -windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ -layerrule = unset,class:^([Rr]ofi)$ -layerrule = blur,class:^([Rr]ofi)$ -layerrule = ignorezero, -windowrule = float, rofi - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# My Keybinds -bind = $mainMod, F, exec, $browser -bind = $mainMod, A, exec, $menu -bind = $mainMod, ESCAPE, exec, killall waybar || waybar -bind = $mainMod, ESCAPE, exec, waybar --config ~/.config/waybar/config-taskbar -bind = $mainMod, D, exec, $discord -bind = $mainMod SHIFT, W, exec, wp -bind = $mainMod SHIFT, F, fullscreen -bind = $mainMod CTRL, F, exec, hyprctl dispatch workspaceopt allfloat -bind = $mainMod, B, exec, pypr expose -bind = $mainMod, N, exec, swaync-client -t -sw -bind = $mainMod, L, exec, hyprlock - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, T, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, E, exec, $fileManager -bind = $mainMod, V, togglefloating, -bind = $mainMod, R, exec, $menu -bind = $mainMod SHIFT, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Move active window to a relative workspace with mainMod + CTRL + ALT + [←→] -bind = $mainMod CTRL ALT, right, movetoworkspace, r+1 -bind = $mainMod CTRL ALT, left, movetoworkspace, r-1 - -# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] -bind = $mainMod SHIFT $CONTROL, left, movewindow, l -bind = $mainMod SHIFT $CONTROL, right, movewindow, r -bind = $mainMod SHIFT $CONTROL, up, movewindow, u -bind = $mainMod SHIFT $CONTROL, down, movewindow, d - -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic - -# 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 - -# Screenshot/Screencapture -bind = $mainMod, P, exec, /home/crux/.config/hypr/scripts/screenshot.sh s # drag to snip an area / click on a window to print it -bind = $mainMod CTRL, P, exec, /home/crux/.config/hypr/scripts/screenshot.sh sf # frozen screen, drag to snip an area / click on a window to print it -bind = $mainMod ALT, P, exec, /home/crux/.config/hypr/scripts/screenshot.sh m # print focused monitor -bind = ,print, exec, /home/crux/.config/hypr/scripts/screenshot.sh p # print all monitor outputs - -# Audio control -bindel = , F11, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume -bindel = , F12, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o i # increase volume -bindl = , XF86AudioMute, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o m # toggle audio mute -bindl = , XF86AudioMicMute, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -i m # toggle microphone mute -bindel = , XF86AudioLowerVolume, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume -bindel = , XF86AudioRaiseVolume, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o i # increase volume -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPrev, exec, playerctl previous - -bind = $mainMod ALT, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode -bind = $mainMod ALT, right, exec, /home/crux/.config/hypr/scripts/wallpaper.sh # next wallpaper -bind = $mainMod SHIFT, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # rofi style select menu -bind = $mainMod SHIFT, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # rofi wall select menu -bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # open Pasteboard in screen center -bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # change keyboard layout - -# Blur Waybar -layerrule=blur, rofi -layerrule=blur, waybar - +# Plugins # When entering overview mode, you can use left-button to jump, right-button to kill or use keybind @@ -346,3 +165,11 @@ plugin { color = rgba(9a8ca3ff) } } + + + + +source = ~/.config/hypr/keybindings.conf +source = ~/.config/hypr/windowrule.conf +source = ~/.config/hypr/animations.conf +source = ~/.config/hypr/exec.conf \ No newline at end of file diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf new file mode 100644 index 00000000..a0f8a79e --- /dev/null +++ b/.config/hypr/keybindings.conf @@ -0,0 +1,104 @@ +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = SUPER + +# My Keybinds +bind = $mainMod, F, exec, $browser +bind = $mainMod, A, exec, $menu +bind = $mainMod, ESCAPE, exec, killall waybar || waybar +bind = $mainMod, ESCAPE, exec, waybar --config ~/.config/waybar/config-taskbar +bind = $mainMod, D, exec, $discord +bind = $mainMod SHIFT, W, exec, wp +bind = $mainMod SHIFT, F, fullscreen +bind = $mainMod CTRL, F, exec, hyprctl dispatch workspaceopt allfloat +bind = $mainMod, B, exec, pypr expose +bind = $mainMod, N, exec, swaync-client -t -sw +bind = $mainMod, L, exec, hyprlock + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, T, exec, $terminal +bind = $mainMod, Q, killactive, +bind = $mainMod, M, exit, +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, V, togglefloating, +bind = $mainMod, R, exec, $menu +bind = $mainMod SHIFT, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Move active window to a relative workspace with mainMod + CTRL + ALT + [←→] +bind = $mainMod CTRL ALT, right, movetoworkspace, r+1 +bind = $mainMod CTRL ALT, left, movetoworkspace, r-1 + +# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] +bind = $mainMod SHIFT $CONTROL, left, movewindow, l +bind = $mainMod SHIFT $CONTROL, right, movewindow, r +bind = $mainMod SHIFT $CONTROL, up, movewindow, u +bind = $mainMod SHIFT $CONTROL, down, movewindow, d + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# 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 + +# Screenshot/Screencapture +bind = $mainMod, P, exec, /home/crux/.config/hypr/scripts/screenshot.sh s # drag to snip an area / click on a window to print it +bind = $mainMod CTRL, P, exec, /home/crux/.config/hypr/scripts/screenshot.sh sf # frozen screen, drag to snip an area / click on a window to print it +bind = $mainMod ALT, P, exec, /home/crux/.config/hypr/scripts/screenshot.sh m # print focused monitor +bind = ,print, exec, /home/crux/.config/hypr/scripts/screenshot.sh p # print all monitor outputs + +# Audio control +bindel = , F11, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume +bindel = , F12, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioMute, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o m # toggle audio mute +bindl = , XF86AudioMicMute, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -i m # toggle microphone mute +bindel = , XF86AudioLowerVolume, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume +bindel = , XF86AudioRaiseVolume, exec, /home/crux/.config/hypr/scripts/volumecontrol.sh -o i # increase volume +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPrev, exec, playerctl previous + +bind = $mainMod ALT, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode +bind = $mainMod ALT, right, exec, /home/crux/.config/hypr/scripts/wallpaper.sh # next wallpaper + + +bind = $mainMod SHIFT, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # rofi style select menu +bind = $mainMod SHIFT, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # rofi wall select menu +bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # open Pasteboard in screen center +bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # change keyboard layout \ No newline at end of file diff --git a/.config/hypr/windowrule.conf b/.config/hypr/windowrule.conf new file mode 100644 index 00000000..49e8f09e --- /dev/null +++ b/.config/hypr/windowrule.conf @@ -0,0 +1,40 @@ +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. +windowrule = move 1250 50,^(blueman-manager)$ +windowrulev2= opacity 0.70 0.70,class:^(Spotify)$ +windowrulev2= opacity 0.80 0.80,class:^(Code)$ +windowrulev2= opacity 0.80 0.80,class:^(waypaper)$ +windowrulev2= opacity 0.80 0.80,class:^(dolphin)$ +windowrulev2= opacity 0.80 0.80,class:^(discord)$ +windowrulev2= opacity 0.80 0.80,class:^($discord2)$ +windowrulev2= opacity 0.80 0.80,class:^(lutris)$ +windowrulev2= opacity 0.80 0.80,class:^(firefox)$ +windowrulev2 = float,class:^(qt5ct)$ +windowrulev2 = float,class:^(nwg-look)$ +windowrulev2 = float,class:^(org.kde.ark)$ +windowrulev2 = float,class:^(Signal)$ #Signal-Gtk +windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk +windowrulev2 = float,class:^(app.drey.Warp)$ #Warp-Gtk +windowrulev2 = float,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt +windowrulev2 = float,class:^(yad)$ #Protontricks-Gtk +windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk +windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk +windowrulev2 = float,class:^(pavucontrol)$ +windowrulev2 = float,class:^(blueman-manager)$ +windowrulev2 = float,class:^(nm-applet)$ +windowrulev2 = float,class:^(nm-connection-editor)$ +windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrulev2 = float,class:^(steam)$ +windowrulev2 = stayfocused, title:^()$,class:^(steam)$ +windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ +layerrule = unset,class:^([Rr]ofi)$ +layerrule = blur,class:^([Rr]ofi)$ +layerrule = ignorezero, +windowrule = float, rofi +# Blur Waybar +layerrule=blur, rofi +layerrule=blur, waybar \ No newline at end of file