From f1430c5cd52e2289e22849e77967330937e00df8 Mon Sep 17 00:00:00 2001
From: Dante <150515748+xsghetti@users.noreply.github.com>
Date: Sat, 6 Apr 2024 00:09:50 -0400
Subject: [PATCH] Who knows at this point. It's been a minute lmao
---
animations.conf | 69 ++++++++++++++++++++++++
exec.conf | 12 +++++
hypridle.conf | 5 ++
hyprland.conf | 129 +++++++++++++++++++++++++++++++++++++++++++++
hyprlock.conf | 71 +++++++++++++++++++++++++
keybindings.conf | 134 +++++++++++++++++++++++++++++++++++++++++++++++
monitors.conf | 0
pyprland.toml | 10 ++++
windowrule.conf | 30 +++++++++++
workspaces.conf | 0
10 files changed, 460 insertions(+)
create mode 100644 animations.conf
create mode 100644 exec.conf
create mode 100644 hypridle.conf
create mode 100644 hyprland.conf
create mode 100644 hyprlock.conf
create mode 100644 keybindings.conf
create mode 100644 monitors.conf
create mode 100644 pyprland.toml
create mode 100644 windowrule.conf
create mode 100644 workspaces.conf
diff --git a/animations.conf b/animations.conf
new file mode 100644
index 00000000..a5599163
--- /dev/null
+++ b/animations.conf
@@ -0,0 +1,69 @@
+general {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ gaps_in = 8
+ gaps_out = 20
+ border_size = 2
+ col.active_border = $foreground
+ col.inactive_border = $color4 color6 $color7 $color1 30deg
+ resize_on_border = true
+
+ layout = dwindle
+
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+}
+
+
+decoration {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ rounding = 0
+
+ blur {
+ enabled = true
+ size = 4
+ passes = 3
+ new_optimizations = true
+ ignore_opacity = on
+ xray = false
+ brightness = 1
+ vibrancy = 0.50
+ vibrancy_darkness = 0.50
+ contrast = 1.0
+ popups = true
+
+ }
+
+ drop_shadow = no
+ shadow_range = 8
+ shadow_render_power = 1
+ col.shadow = $color4
+ 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, slidefade
+ animation = borderangle, 1, 8, default
+ animation = fade, 1, 7, default
+# animation = windows, 1, 6, wind, slide
+ animation = windowsIn, 1, 6, winIn, slide
+# animation = border, 1, 1, liner
+# animation = borderangle, 1, 100, liner, loop
+}
\ No newline at end of file
diff --git a/exec.conf b/exec.conf
new file mode 100644
index 00000000..3d5f0dca
--- /dev/null
+++ b/exec.conf
@@ -0,0 +1,12 @@
+# Execute your favorite apps at launch
+# exec-once = waybar & hyprpaper & firefox
+exec-once = waybar
+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 = wal -r
+exec-once = swaync
+exec-once = pypr
+exec-once = hyprpm reload
+exec-once = hypridle
\ No newline at end of file
diff --git a/hypridle.conf b/hypridle.conf
new file mode 100644
index 00000000..8c6605b9
--- /dev/null
+++ b/hypridle.conf
@@ -0,0 +1,5 @@
+listener {
+ timeout = 1000 # in seconds.
+ on-timeout = hyprlock # command to run when timeout has passed.
+ on-resume = notify-send "Welcome back, $USER!" # command to run when activity is detected after timeout has fired.
+}
diff --git a/hyprland.conf b/hyprland.conf
new file mode 100644
index 00000000..1b80c145
--- /dev/null
+++ b/hyprland.conf
@@ -0,0 +1,129 @@
+source = ~/.cache/wal/colors-hyprland.conf
+
+#
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki
+
+
+#autogenerated = 1 # remove this line to remove the warning
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+#monitor = ,preferred,auto,1
+
+# Desktop
+monitor = DP-1, 1920x1080@100, 0x540, 1
+monitor = HDMI-A-1, 1920x1080@100, auto, 1
+monitor = HDMI-A-1, transform, 3
+workspace = 1, persistent:true,monitor:DP-1,default:true
+workspace = 2, persistent:true,monitor:DP-1
+workspace = 3, persistent:true,monitor:DP-1
+workspace = 4, persistent:true,monitor:DP-1
+workspace = 5, persistent:true,monitor:DP-1
+workspace = 6, persistent:true,monitor:HDMI-A-1
+workspace = 7, persistent:true,monitor:HDMI-A-1
+workspace = 8, persistent:true,monitor:HDMI-A-1
+workspace = 9, persistent:true,monitor:HDMI-A-1
+workspace = 0, persistent:true,monitor:HDMI-A-1
+
+# Laptop
+# monitor = eDP-1, 1920x1080@144, auto, 1
+# workspace = eDP-1,1
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+
+
+
+# Source a file (multi-file configs)
+# source = ~/.config/hypr/myColors.conf
+
+# Set programs that you use
+$terminal = kitty
+$fileManager = dolphin
+$menu = rofi -show drun
+$browser = firefox
+$discord = discord --enable-features=UseOzonePlatform --ozone-platform=wayland
+
+# Some default env vars.
+env = XCURSOR_SIZE,24
+env = XCURSOR_THEME,Oxygen-35-Black-Ghost
+env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
+env = LIBVA_DRIVER_NAME,nvidia
+env = XDG_SESSION_TYPE,wayland
+env = GBM_BACKEND,nvidia-drm
+env = __GLX_VENDOR_LIBRARY_NAME,nvidia
+env = WLR_NO_HARDWARE_CURSORS,1
+env = WLR_RENDERER_ALLOW_SOFTWARE,1
+
+
+# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+input {
+ kb_layout = us
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ touchpad {
+ natural_scroll = no
+ }
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+}
+
+
+
+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
+ preserve_split = yes # you probably want this
+}
+
+master {
+ # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+ new_is_master = true
+}
+
+gestures {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ workspace_swipe = off
+}
+
+misc {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ force_default_wallpaper = -3 # Set to 0 to disable the anime mascot wallpapers
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
+
+
+
+
+plugin {
+ hyprtrails {
+ color = $color5
+ }
+
+ hyprexpo {
+ columns = 3
+ gap_size = 20
+ bg_col = $color3
+ workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
+
+ enable_gesture = true # laptop touchpad, 4 fingers
+ gesture_distance = 300 # how far is the "max"
+ gesture_positive = true # positive = swipe down. Negative = swipe up.
+ }
+
+}
+
+
+
+
+source = ~/.config/hypr/keybindings.conf
+source = ~/.config/hypr/windowrule.conf
+source = ~/.config/hypr/animations.conf
+source = ~/.config/hypr/exec.conf
diff --git a/hyprlock.conf b/hyprlock.conf
new file mode 100644
index 00000000..a9e4e9f2
--- /dev/null
+++ b/hyprlock.conf
@@ -0,0 +1,71 @@
+source = $HOME/.cache/wal/colors-hyprland.conf
+
+background {
+ monitor =
+ path = $HOME/.config/rofi/.current_wallpaper # only png supported for now
+ color = $color7
+
+ # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
+ blur_size = 4
+ blur_passes = 3 # 0 disables blurring
+ noise = 0.0117
+ contrast = 1.3000 # Vibrant!!!
+ brightness = 0.8000
+ vibrancy = 0.2100
+ vibrancy_darkness = 0.0
+}
+
+input-field {
+ monitor = DP-1
+ size = 250, 50
+ outline_thickness = 3
+ dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.64 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true
+ outer_color = $color1
+ inner_color = $color0
+ font_color = $color7
+ fade_on_empty = true
+ placeholder_text = Password... # Text rendered in the input box when it's empty.
+ hide_input = false
+ position = 0, 50
+ halign = center
+ valign = bottom
+}
+
+# Current time
+label {
+ monitor = DP-1
+ text = cmd[update:1300] echo " $(date +"%H:%M") "
+ color = $color7
+ font_size = 64
+ font_family = JetBrains Mono Nerd Font 10
+ position = 0, 16
+ halign = center
+ valign = center
+}
+
+# User label
+label {
+ monitor = DP-1
+ text = Hey $USER
+ color = $color7
+ font_size = 20
+ font_family = JetBrains Mono Nerd Font 10
+ position = 0, 0
+ halign = center
+ valign = center
+}
+
+
+# Type to unlock
+label {
+ monitor = DP-1
+ text = Type to unlock!
+ color = $color7
+ font_size = 16
+ font_family = JetBrains Mono Nerd Font 10
+ position = 0, 30
+ halign = center
+ valign = bottom
+}
\ No newline at end of file
diff --git a/keybindings.conf b/keybindings.conf
new file mode 100644
index 00000000..d3f75171
--- /dev/null
+++ b/keybindings.conf
@@ -0,0 +1,134 @@
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+$mainMod = SUPER
+
+# My Keybinds
+bind = $mainMod, F, exec, $browser
+bind = $mainMod, R, exec, pypr toggle term
+bind = $mainMod, ESCAPE, exec, killall waybar || waybar
+bind = $mainMod, D, exec, $discord
+bind = $mainMod SHIFT, W, exec, wp
+bind = $mainMod SHIFT, F, fullscreen
+bind = $mainMod, N, exec, swaync-client -t -sw
+bind = $mainMod, L, exec, hyprlock
+bind = $mainMod, W, exec, $HOME/.config/hypr/scripts/wallpaperselect.sh
+bind = $mainMod SHIFT, G, exec, hyprpm enable hycov
+bind = $mainMod, G, exec, hyprpm disable hycov
+
+
+# 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, A, 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 window silently to workspace Super + Alt + [0-9]
+bind = $mainMod ALT, 1, movetoworkspacesilent, 1
+bind = $mainMod ALT, 2, movetoworkspacesilent, 2
+bind = $mainMod ALT, 3, movetoworkspacesilent, 3
+bind = $mainMod ALT, 4, movetoworkspacesilent, 4
+bind = $mainMod ALT, 5, movetoworkspacesilent, 5
+bind = $mainMod ALT, 6, movetoworkspacesilent, 6
+bind = $mainMod ALT, 7, movetoworkspacesilent, 7
+bind = $mainMod ALT, 8, movetoworkspacesilent, 8
+bind = $mainMod ALT, 9, movetoworkspacesilent, 9
+bind = $mainMod ALT, 0, movetoworkspacesilent, 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/.config/hypr/scripts/screenshot.sh s # drag to snip an area / click on a window to print it
+bind = $mainMod CTRL, P, exec, $HOME/.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/.config/hypr/scripts/screenshot.sh m # print focused monitor
+bind = ,print, exec, $HOME/.config/hypr/scripts/screenshot.sh p # print all monitor outputs
+
+# Audio control
+bindel = , F11, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume
+bindel = , F12, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o i # increase volume
+bindl = , XF86AudioMute, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o m # toggle audio mute
+bindl = , XF86AudioMicMute, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -i m # toggle microphone mute
+bindel = , XF86AudioLowerVolume, exec, $HOME/.config/hypr/scripts/volumecontrol.sh -o d # decrease volume
+bindel = , XF86AudioRaiseVolume, exec, $HOME/.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/.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
+
+# bind key to toggle overview (normal)
+#bind = ALT,tab,hycov:toggleoverview,`
+
+# bind key to toggle overview (force mode, not affected by `only_active_workspace` or `only_active_monitor`)
+#bind = ALT,grave,hycov:toggleoverview,forceall #grave key is the '~' key
+
+# bind key to toggle overview (shows all windows in one monitor, not affected by `only_active_workspace` or `only_active_monitor`)
+bind = ALT, tab ,hyprexpo:expo, toggle on
+
+# Special Keys
+bind = , xf86monbrightnessup, exec, brightnessctl set 10%+
+bind = , xf86monbrightnessdown, exec, brightnessctl set 10%-
+bind = , xf86audioraisevolume, exec, wpctl set-volume -l 1.0 @DEFAULT_SINK@ 5%+
+bind = , xf86audiolowervolume, exec, wpctl set-volume -l 1.0 @DEFAULT_SINK@ 5%-
+bind = , xf86audiomute, exec, wpctl set-mute @DEFAULT_SINK@ toggle
+
diff --git a/monitors.conf b/monitors.conf
new file mode 100644
index 00000000..e69de29b
diff --git a/pyprland.toml b/pyprland.toml
new file mode 100644
index 00000000..f09bad86
--- /dev/null
+++ b/pyprland.toml
@@ -0,0 +1,10 @@
+[pyprland]
+plugins = ["scratchpads"]
+
+[scratchpads.term]
+animation = "fromTop"
+command = "kitty --class kitty-dropterm"
+class = "kitty-dropterm"
+size = "60% 30%"
+max_size = "1920px 40%"
+margin = 50
\ No newline at end of file
diff --git a/windowrule.conf b/windowrule.conf
new file mode 100644
index 00000000..b24a859d
--- /dev/null
+++ b/windowrule.conf
@@ -0,0 +1,30 @@
+# 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
+windowrule = move 1250 50,^(blueman-manager)$
+windowrulev2= opacity 0.80 0.80,class:^(Spotify)$
+windowrulev2= opacity 0.70 0.70,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:^(lutris)$
+windowrulev2= opacity 1.00 1.00,class:^(firefox)$
+windowrulev2= opacity 0.80 0.80,class:^(steam)$
+windowrulev2 = float,class:^(nwg-look)$
+windowrulev2 = float,class:^(org.kde.ark)$
+windowrulev2 = float,class:^(eog)$ #Imageviewer-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 = stayfocused, title:^()$,class:^(steam)$
+windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
+
+# Blur Rofi
+
+layerrule = blur, rofi
+layerrule = animation popin,rofi
+layerrule = ignorezero, rofi
\ No newline at end of file
diff --git a/workspaces.conf b/workspaces.conf
new file mode 100644
index 00000000..e69de29b