diff --git a/.config/hypr/conf/animations/InoriShio-animation.conf b/.config/hypr/conf/animations/InoriShio-animation.conf
new file mode 100644
index 0000000..ff0f791
--- /dev/null
+++ b/.config/hypr/conf/animations/InoriShio-animation.conf
@@ -0,0 +1,24 @@
+# -----------------------------------------------------
+# Animations
+# name "Dynamic"
+# -----------------------------------------------------
+animations {
+ enabled = true
+ bezier = wind, 0.05, 0.9, 0.1, 1
+ bezier = winIn, 0.1, 1.0, 0.1, 1.0
+ bezier = winOut, 1, 0.35, 1, 1
+ bezier = liner, 1, 1, 1, 1
+ bezier = cubic-bezier, 0.215, 0.61, 0.355, 1
+ animation = windows, 1, 3, wind, popin
+ animation = windowsIn, 1, 3, winIn, popin 70%
+ animation = windowsOut, 1, 3, default, popin 80%
+ animation = windowsMove, 1, 3, wind, slide
+ animation = border, 1, 1, liner
+ animation = borderangle, 0, 30, liner, loop
+ animation = fadeOut, 1, 3, default
+ animation = fadeIn, 1, 4, default
+ animation = workspaces, 1, 4, wind
+ animation = layers, 1, 5, cubic-bezier, fade
+ animation = fadeLayers, 0, 1, default
+ animation = fadePopups, 0
+}
diff --git a/.config/hypr/conf/custom.conf b/.config/hypr/conf/custom.conf
new file mode 100644
index 0000000..ce6b497
--- /dev/null
+++ b/.config/hypr/conf/custom.conf
@@ -0,0 +1,15 @@
+debug {
+ full_cm_proto = true
+}
+
+ecosystem {
+ no_update_news = true
+}
+
+cursor {
+ no_hardware_cursors = true
+}
+
+xwayland {
+ force_zero_scaling = true
+}
diff --git a/.config/hypr/conf/decorations/InoriShio-decoration.conf b/.config/hypr/conf/decorations/InoriShio-decoration.conf
new file mode 100644
index 0000000..739a173
--- /dev/null
+++ b/.config/hypr/conf/decorations/InoriShio-decoration.conf
@@ -0,0 +1,43 @@
+# General window decoration
+source = ~/.config/hypr/effects/colors/colors.conf
+
+general {
+ border_size = 4
+ col.inactive_border = $vivian1 $ado 90deg
+ col.active_border = $pink $vivian2 60deg
+}
+
+decoration {
+ rounding = 10
+ rounding_power = 2
+ blur {
+ enabled = true
+ size = 2
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = true
+ contrast = 1.0
+ brightness = 1.0
+ vibrancy = 0.0
+ vibrancy_darkness = 0.0
+ xray = false
+ noise = 0
+ popups = true
+ input_methods = true
+ }
+ active_opacity = 1.0
+ inactive_opacity = 1.0
+ dim_inactive = true
+ dim_strength = 0.0
+ fullscreen_opacity = 1.0
+
+ shadow {
+ enabled = true
+ range = 100
+ render_power = 4
+ color = 0x66000000
+ color_inactive = 0x33000000
+ offset = 0, 10
+ scale = 1
+ }
+}
diff --git a/.config/hypr/conf/decorations/default.conf b/.config/hypr/conf/decorations/default.conf
new file mode 100644
index 0000000..0c7e99e
--- /dev/null
+++ b/.config/hypr/conf/decorations/default.conf
@@ -0,0 +1,36 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Default"
+# -----------------------------------------------------
+general {
+ border_size = 2
+}
+
+decoration {
+ rounding = 10
+ blur {
+ enabled = true
+ size = 6
+ passes = 2
+ new_optimizations = on
+ ignore_opacity = true
+ xray = false
+ # blurls = waybar
+ }
+ active_opacity = 1.0
+ inactive_opacity = 0.8
+ fullscreen_opacity = 1.0
+
+
+ shadow {
+ enabled = true
+ range = 30
+ render_power = 3
+ color = 0x66000000
+ }
+
+ #drop_shadow = true
+ #shadow_range = 30
+ #shadow_render_power = 13
+ #col.shadow = 0x66000000
+}
diff --git a/.config/hypr/conf/decorations/zachery-decoration.conf b/.config/hypr/conf/decorations/zachery-decoration.conf
new file mode 100644
index 0000000..1c7402f
--- /dev/null
+++ b/.config/hypr/conf/decorations/zachery-decoration.conf
@@ -0,0 +1,47 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ border_size = 2
+ col.inactive_border = rgba(d50000ff) rgba(c300afff) 90deg
+ col.active_border = rgba(9a00ffff) rgba(de00e7ff) 90deg
+}
+
+decoration {
+ rounding = 10
+ rounding_power = 2
+ blur {
+ enabled = true
+ size = 2
+ passes = 4
+ new_optimizations = on
+ ignore_opacity = true
+ contrast = 1.0
+ brightness = 1.0
+ vibrancy = 0.5
+ vibrancy_darkness = 0.1
+ xray = false
+ noise = 0
+ popups = true
+ input_methods = true
+ }
+ active_opacity = 1.0
+ inactive_opacity = 1.0
+ dim_inactive = true
+ dim_strength = 0.0
+ fullscreen_opacity = 1.0
+
+ shadow {
+ enabled = true
+ range = 100
+ render_power = 4
+ color = 0x66000000
+ color_inactive = 0x33000000
+ offset = 0, 10
+ scale = 1
+ }
+}
+
+windowrule = nodim 1, fullscreenstate:* 2
diff --git a/.config/hypr/conf/environments/nvidia.conf b/.config/hypr/conf/environments/nvidia.conf
new file mode 100644
index 0000000..461fb2a
--- /dev/null
+++ b/.config/hypr/conf/environments/nvidia.conf
@@ -0,0 +1,6 @@
+# Environment Variables
+
+opengl {
+ nvidia_anti_flicker = false
+}
+
diff --git a/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf b/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf
new file mode 100644
index 0000000..9cb8ef6
--- /dev/null
+++ b/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf
@@ -0,0 +1,93 @@
+$mainMod = SUPER
+$altMod = ALT
+
+# Main
+bind = , code:121, exec, uwsm-app -S out -- wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bind = , code:122, exec, uwsm-app -S out -- wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-
+bind = , code:123, exec, uwsm-app -S out -- wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+ --limit 1.0
+bind = , PRINT, exec, uwsm-app -S out -- wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+bind = CTRL, PRINT, exec, uwsm-app -S out -- wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bind = $mainMod, PRINT, exec, uwsm-app -S out -- wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.32
+bind = $mainMod, RETURN, exec, uwsm-app -S out -- zterm # Open terminal
+bind = $mainMod, B, exec, uwsm-app -S out -- librewolf # Open browser
+bind = $mainMod, E, exec, uwsm-app -S out -- dolphin # Open filemanager
+bind = $mainMod, V, exec, uwsm-app -S out -- discord # Open Discord
+bind = $mainMod, C, exec, uwsm-app -S out -- Telegram # Open Telegram
+bind = $mainMod, S, exec, uwsm-app -S out -- spotify-launcher # Open Spotify
+bind = $mainMod, X, exec, uwsm-app -S out -- env SDL_VIDEODRIVER="x11" osu-lazer # pen Osu-Lazer!
+
+# Actions
+bind = $mainMod CTRL, Q, exec, uwsm-app -S out -- hyprshutdown --post-cmd 'systemctl poweroff'
+# bind = $mainMod SHIFT, S, exec, uwsm-app -S out -- hyprshot -m region -o /home/inorishio/Pictures/Screenshots -s
+bind = $mainMod, TAB, workspace, m+1 # Open next workspace
+bind = $mainMod, Escape, workspace, m-1 # Open previous workspace
+
+# QML
+bind = CTRL, mouse:274, global, I-DeskPet:toggle-Region
+bind = SHIFT, mouse:274, global, I-DeskPet:toggle-Layer
+bind = $mainMod CTRL, RETURN, global, z-cast:toggle-launcher
+bind = $mainMod, N, global, zshell-nc:toggle-nc
+bind = $mainMod, L, global, zshell-lock:lock
+bind = $mainMod SHIFT, S, global, ZShell:screenshot
+bind = $mainMod CTRL, S, global, ZShell:screenshotFreeze
+
+# Mediakeys
+bind = $mainMod, code:67, exec, uwsm-app -S out -- playerctl play-pause # F1
+bind = $mainMod, code:68, exec, uwsm-app -S out -- playerctl previous # F2
+bind = $mainMod, code:69, exec, uwsm-app -S out -- playerctl next # F3
+bind = , code:172, exec, uwsm-app -S out -- wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle # Mouse sidebutton
+bind = , code:171, workspace, m+1 # Mouse upleft
+bind = , code:173, workspace, m-1 # Mouse upright
+
+# Windows
+bind = $mainMod, Q, killactive # Kill window
+bind = $mainMod, F, fullscreen # Fullscreen
+bind = $mainMod, T, togglefloating # Toggle float
+bind = $mainMod, J, togglesplit # Toggle split
+bind = $mainMod, K, swapsplit # Swapsplit
+bind = $mainMod, left, movefocus, l # Move focus left
+bind = $mainMod, right, movefocus, r # Move focus right
+bind = $mainMod, up, movefocus, u # Move focus up
+bind = $mainMod, down, movefocus, d # Move focus down
+bindm = $mainMod, mouse:272, movewindow # Move window with the mouse
+bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse
+bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard
+bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard
+bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard
+bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard
+
+# Workspaces
+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 only window to workspace
+bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
+bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
+bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
+bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
+bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
+bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
+bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
+bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
+bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
+bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
+
+# Move with window to workspace
+bind = $mainMod CTRL, 1, movetoworkspace, 1
+bind = $mainMod CTRL, 2, movetoworkspace, 2
+bind = $mainMod CTRL, 3, movetoworkspace, 3
+bind = $mainMod CTRL, 4, movetoworkspace, 4
+bind = $mainMod CTRL, 5, movetoworkspace, 5
+bind = $mainMod CTRL, 6, movetoworkspace, 6
+bind = $mainMod CTRL, 7, movetoworkspace, 7
+bind = $mainMod CTRL, 8, movetoworkspace, 8
+bind = $mainMod CTRL, 9, movetoworkspace, 9
+bind = $mainMod CTRL, 0, movetoworkspace, 10
diff --git a/.config/hypr/conf/layers.conf b/.config/hypr/conf/layers.conf
new file mode 100644
index 0000000..e1f8be9
--- /dev/null
+++ b/.config/hypr/conf/layers.conf
@@ -0,0 +1,24 @@
+# QT
+layerrule = blur on, match:namespace ZShell-Notifs
+layerrule = blur_popups on, match:namespace ZShell-Notifs
+layerrule = ignore_alpha 0.5, match:namespace ZShell-Notifs
+
+layerrule = blur on, match:namespace ZShell-Bar
+layerrule = blur_popups on, match:namespace ZShell-Bar
+layerrule = ignore_alpha 0.5, match:namespace ZShell-Bar
+
+layerrule = blur on, match:namespace ZShell-Bar-Exclusion
+layerrule = blur_popups on, match:namespace ZShell-Bar-Exclusion
+layerrule = ignore_alpha 0.5, match:namespace ZShell-Bar-Exclusion
+
+layerrule = blur on, match:namespace ZShell-Wallpaper
+layerrule = blur_popups on, match:namespace ZShell-Wallpaper
+layerrule = ignore_alpha 0.5, match:namespace ZShell-Wallpaper
+
+layerrule = blur on, match:namespace ZShell-Launcher
+layerrule = blur_popups on, match:namespace ZShell-Launcher
+layerrule = ignore_alpha 0.5, match:namespace ZShell-Launcher
+
+layerrule = blur on, match:namespace IDeskPet-Pet
+layerrule = blur_popups on, match:namespace IDeskPet-Pet
+layerrule = ignore_alpha 0.5, match:namespace IDeskPet-Pet
diff --git a/.config/hypr/conf/layouts/computer.conf b/.config/hypr/conf/layouts/computer.conf
new file mode 100644
index 0000000..f67b6d9
--- /dev/null
+++ b/.config/hypr/conf/layouts/computer.conf
@@ -0,0 +1,17 @@
+# PC Layouts
+
+dwindle {
+ pseudotile = true
+ preserve_split = true
+}
+
+master {
+ # Commented out due to compatibility reasons
+ # new_status = master
+}
+
+binds {
+ workspace_back_and_forth = true
+ allow_workspace_cycles = true
+ pass_mouse_when_bound = false
+}
diff --git a/.config/hypr/conf/layouts/keyboard.conf b/.config/hypr/conf/layouts/keyboard.conf
new file mode 100644
index 0000000..2853b2e
--- /dev/null
+++ b/.config/hypr/conf/layouts/keyboard.conf
@@ -0,0 +1,15 @@
+# Keyboard Layout
+# https://wiki.hyprland.org/Configuring/Variables/#input
+
+input {
+ kb_layout = us
+ kb_variant =
+ kb_model =
+ numlock_by_default = true
+ follow_mouse = 1
+ mouse_refocus=false
+ accel_profile = flat
+ sensitivity = 0
+# ESC and CAPS swap
+ kb_options = compose:ralt, #caps:swapescape
+}
diff --git a/.config/hypr/conf/layouts/laptop.conf b/.config/hypr/conf/layouts/laptop.conf
new file mode 100644
index 0000000..01c65c8
--- /dev/null
+++ b/.config/hypr/conf/layouts/laptop.conf
@@ -0,0 +1,28 @@
+# Laptop Layouts
+
+dwindle {
+ pseudotile = true
+ preserve_split = true
+}
+
+master {
+ # Commented out due to compatibility reasons
+ # new_status = master
+}
+
+gestures {
+ workspace_swipe = true
+ workspace_swipe_fingers = 3
+ workspace_swipe_distance = 500
+ workspace_swipe_invert = true
+ workspace_swipe_min_speed_to_force = 30
+ workspace_swipe_cancel_ratio = 0.5
+ workspace_swipe_create_new = true
+ workspace_swipe_forever = true
+}
+
+binds {
+ workspace_back_and_forth = true
+ allow_workspace_cycles = true
+ pass_mouse_when_bound = false
+}
diff --git a/.config/hypr/conf/misc.conf b/.config/hypr/conf/misc.conf
new file mode 100644
index 0000000..475e338
--- /dev/null
+++ b/.config/hypr/conf/misc.conf
@@ -0,0 +1,12 @@
+# -----------------------------------------------------
+# Misc settings
+# -----------------------------------------------------
+
+misc {
+ mouse_move_enables_dpms = true
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+ allow_session_lock_restore = true
+ session_lock_xray = true
+ animate_manual_resizes = true
+}
diff --git a/.config/hypr/conf/monitors/2560x1440@120.conf b/.config/hypr/conf/monitors/2560x1440@120.conf
new file mode 100644
index 0000000..f777ec1
--- /dev/null
+++ b/.config/hypr/conf/monitors/2560x1440@120.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "2560x1440@120"
+# -----------------------------------------------------
+
+monitor=,2560x1440@120,auto,1
\ No newline at end of file
diff --git a/.config/hypr/conf/monitors/InoriShio-Display.conf b/.config/hypr/conf/monitors/InoriShio-Display.conf
new file mode 100644
index 0000000..43252e8
--- /dev/null
+++ b/.config/hypr/conf/monitors/InoriShio-Display.conf
@@ -0,0 +1,9 @@
+# Monitor Setup
+
+monitorv2 {
+ output = DP-1
+ mode = 2560x1440@143.97
+ position = 0x0
+ scale = 1.334
+ cm = auto
+}
diff --git a/.config/hypr/conf/scripts.conf b/.config/hypr/conf/scripts.conf
new file mode 100644
index 0000000..7b14e8e
--- /dev/null
+++ b/.config/hypr/conf/scripts.conf
@@ -0,0 +1,5 @@
+# exec-once = uwsm app -S out -- ~/.config/hypr/scripts/Workspace_Wallpapers.sh
+# exec-once = uwsm app -S out -- ~/.config/hypr/scripts/Stream.sh
+# exec-once = uwsm app -S out -- ~/.config/hypr/scripts/Z-Cast.sh
+# exec-once = uwsm app -S out -- ~/.config/hypr/scripts/OBS.sh
+exec-once = uwsm app -S out -- ~/.config/hypr/scripts/Gtk-Settings.sh
diff --git a/.config/hypr/conf/windowrules/default.conf b/.config/hypr/conf/windowrules/default.conf
new file mode 100644
index 0000000..1f5d6ab
--- /dev/null
+++ b/.config/hypr/conf/windowrules/default.conf
@@ -0,0 +1,43 @@
+# Basic apps
+windowrule = tile on, match:class ^(librewolf)$
+windowrule = float on, match:class ^(pavucontrol)$
+windowrule = float on, match:class ^(blueman-manager)$
+windowrule = float on, match:class ^(nm-connection-editor)$
+windowrule = float on, match:class ^(mpv)$
+windowrule = float on, match:class ^(swayimg)$
+
+windowrule = float on, match:title ^(Picture-in-Picture)$
+windowrule = pin on, match:title ^(Picture-in-Picture)$
+windowrule = move 69.5% 4%, match:title ^(Picture-in-Picture)$
+windowrule = float on, match:title ^(Friends List)$
+windowrule = float on, match:title ^(Save Image - *)$
+
+# Pavucontrol floating
+windowrule = float on, match:class (.*org.pulseaudio.pavucontrol.*)
+windowrule = size 700 600, match:class (.*org.pulseaudio.pavucontrol.*)
+windowrule = center on, match:class (.*org.pulseaudio.pavucontrol.*)
+windowrule = pin on, match:class (.*org.pulseaudio.pavucontrol.*)
+
+# Hyprland Share Picker
+windowrule = float on, match:class (hyprland-share-picker)
+windowrule = pin on, match:class (hyprland-share-picker)
+windowrule = center on, match:title (hyprland-share-picker)
+windowrule = size 600 400, match:class (hyprland-share-picker)
+
+# Screenlock
+windowrule = idle_inhibit always, match:content 2
+windowrule = idle_inhibit always, match:content 3
+windowrule = idle_inhibit always, match:fullscreen_state_client 2
+windowrule = idle_inhibit always, match:fullscreen_state_internal 2
+
+# Hypr Plugin Manager
+windowrule = darkwindow:shade chromakey bkg=[0.122 0.039 0.137] similarity=0.3 targetOpacity=0.9, match:class ^(org.telegram.desktop)$
+windowrule = darkwindow:shade chromakey bkg=[0.11 0.122 0.133] similarity=0.3 targetOpacity=0.9, match:class ^(org.openrgb.OpenRGB)$
+windowrule = darkwindow:shade chromakey bkg=[0.176 0.2 0.235] similarity=0.3 targetOpacity=0.9, match:class ^(steam)$
+windowrule = darkwindow:shade chromakey bkg=[0.125 0.137 0.149] similarity=0.3 targetOpacity=0.9, match:class ^(org.kde.dolphin)$
+
+# # General floating
+# windowrule = float on, match:class (dotfiles-floating)
+# windowrule = size 1000 700, match:class (dotfiles-floating)
+# windowrule = center on, match:class (dotfiles-floating)
+# windowrule = pin on, match:class (dotfiles-floating)
diff --git a/.config/hypr/conf/windows/default.conf b/.config/hypr/conf/windows/default.conf
new file mode 100644
index 0000000..bc08873
--- /dev/null
+++ b/.config/hypr/conf/windows/default.conf
@@ -0,0 +1,8 @@
+# General window layout and colors
+
+general {
+ gaps_in = 3
+ gaps_out = 6
+ layout = dwindle
+ resize_on_border = true
+}
diff --git a/.config/hypr/effects/colors/colors.conf b/.config/hypr/effects/colors/colors.conf
new file mode 100644
index 0000000..f570f68
--- /dev/null
+++ b/.config/hypr/effects/colors/colors.conf
@@ -0,0 +1,5 @@
+$pink = rgb(e46a97) # rgb(228, 106, 151)
+$vivian1 = rgb(6a4c9c) # rgb(106, 76, 156)
+$vivian2 = rgb(a388db) # rgb(163, 136, 219)
+$ado = rgb(1274b8) # rgb(18, 116, 184)
+$suisei = rgb(66daff) # rgb(102, 218, 255)
diff --git a/.config/hypr/effects/colors/default.css b/.config/hypr/effects/colors/default.css
new file mode 100644
index 0000000..3aee18e
--- /dev/null
+++ b/.config/hypr/effects/colors/default.css
@@ -0,0 +1,20 @@
+$color6: #E46A97; // Color I like
+$background: #10111e;
+$foreground: #c3c3c6;
+$cursor: #c3c3c6;
+
+$color0: #10111e;
+$color1: #534776;
+$color2: #974A74;
+$color3: #48409C;
+$color4: #5F5194;
+$color5: #9F5D9B;
+$color7: #c3c3c6;
+$color8: #5d5f71;
+$color9: #534776;
+$color10: #974A74;
+$color11: #48409C;
+$color12: #5F5194;
+$color13: #9F5D9B;
+$color14: #E46A97;
+$color15: #c3c3c6;
diff --git a/.config/hypr/effects/colors/default.scss b/.config/hypr/effects/colors/default.scss
new file mode 100644
index 0000000..622bba0
--- /dev/null
+++ b/.config/hypr/effects/colors/default.scss
@@ -0,0 +1,22 @@
+$pink: #E46A97; // Color I like
+$vivian1: #6a4c9c;
+$vivian2: #A388DB;
+$background: #10111e;
+$foreground: #c3c3c6;
+$cursor: #c3c3c6;
+
+$color0: #10111e;
+$color1: #534776;
+$color2: #974A74;
+$color3: #48409C;
+$color4: #5F5194;
+$color5: #9F5D9B;
+$color7: #c3c3c6;
+$color8: #5d5f71;
+$color9: #534776;
+$color10: #974A74;
+$color11: #48409C;
+$color12: #5F5194;
+$color13: #9F5D9B;
+$color14: #E46A97;
+$color15: #c3c3c6;
diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf
new file mode 100644
index 0000000..4c89307
--- /dev/null
+++ b/.config/hypr/hypridle.conf
@@ -0,0 +1,27 @@
+general {
+ lock_cmd = pidof hyprlock || hyprlock
+ before_sleep_cmd = loginctl lock-session
+ after_sleep_cmd = hyprctl dispatch dpms on
+}
+
+listener {
+ timeout = 180
+ on-timeout = hyprctl notify -1 3000 "rgb(ff1ea3)" "Your system will lock in 60 seconds"
+}
+
+# listener {
+# timeout = 240
+# on-timeout = loginctl lock-session
+# }
+
+# listener {
+# timeout = 300
+# on-timeout = pkill hyprlock
+# on-resume = sleep 3 && hyprlock
+# }
+
+# listener {
+# timeout = 300
+# on-timeout = hyprctl dispatch dpms off
+# on-resume = hyprctl dispatch dpms on
+# }
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..f95cd0f
--- /dev/null
+++ b/.config/hypr/hyprland.conf
@@ -0,0 +1,24 @@
+# Run on boot
+exec-once = uwsm app -S out -- hyprpm reload
+exec-once = uwsm app -S out -- obs --scene "Recording" --startreplaybuffer --minimize-to-tray
+exec-once = uwsm app -S out -- /usr/bin/otd-daemon
+exec-once = uwsm app -S out -- Telegram -startintray
+exec-once = uwsm app -S out -- discord --start-minimized
+exec-once = uwsm app -S out -- steam -silent
+exec-once = uwsm app -S out -- qs -d -p /home/inorishio/.config/quickshell/z-bar-qt/shell.qml
+exec-once = uwsm app -S out -- qs -d -p /home/inorishio/.config/quickshell/I-DesktopPet/shell.qml
+
+# Sourcing config files
+source = ~/.config/hypr/conf/animations/InoriShio-animation.conf
+source = ~/.config/hypr/conf/custom.conf
+source = ~/.config/hypr/conf/decorations/InoriShio-decoration.conf
+source = ~/.config/hypr/conf/environments/nvidia.conf
+source = ~/.config/hypr/conf/keybindings/InoriShio-Keybindings.conf
+source = ~/.config/hypr/conf/layers.conf
+source = ~/.config/hypr/conf/layouts/computer.conf
+source = ~/.config/hypr/conf/layouts/keyboard.conf
+source = ~/.config/hypr/conf/misc.conf
+source = ~/.config/hypr/conf/monitors/InoriShio-Display.conf
+source = ~/.config/hypr/conf/windowrules/default.conf
+source = ~/.config/hypr/conf/windows/default.conf
+source = ~/.config/hypr/conf/scripts.conf
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
new file mode 100644
index 0000000..e85b07b
--- /dev/null
+++ b/.config/hypr/hyprlock.conf
@@ -0,0 +1,95 @@
+source = /home/inorishio/.config/hypr/effects/colors/colors.conf
+
+general {
+
+}
+
+background {
+ monitor =
+ path = /home/inorishio/Pictures/Backgrounds/128063483_p0.png
+ blur_size = 4
+ blur_passes = 3 # 0 disables blurring
+ noise = 0.0117
+ contrast = 1
+ brightness = 1
+ vibrancy = 0.0
+ vibrancy_darkness = 0.0
+}
+
+# Hours
+label {
+ monitor =
+ text = cmd[update:1000] echo " $(date +"%H") "
+ color = $vivian2
+ font_size = 112
+ font_family = Geist Mono 10
+ shadow_passes = 3
+ shadow_size = 4
+
+ position = 0, 400
+ halign = center
+ valign = center
+}
+
+# Minutes
+label {
+ monitor =
+ text = cmd[update:1000] echo " $(date +"%M") "
+ color = $vivian2
+ font_size = 112
+ font_family = Geist Mono 10
+ shadow_passes = 3
+ shadow_size = 4
+
+ position = 0, 270
+ halign = center
+ valign = center
+}
+
+# Today
+label {
+ monitor =
+ text = cmd[update:18000000] echo " "$(date +'%A')" "
+ color = $vivian2
+ font_size = 22
+ font_family = JetBrainsMono Nerd Font 10
+
+ position = 0, 180
+ halign = center
+ valign = center
+}
+
+# Week
+label {
+ monitor =
+ text = cmd[update:18000000] echo " "$(date +'%d %b')" "
+ color = $vivian2
+ font_size = 18
+ font_family = JetBrainsMono Nerd Font 10
+
+ position = 0, 155
+ halign = center
+ valign = center
+}
+
+input-field {
+ monitor =
+ size = 250, 50
+ outline_thickness = 3
+
+ dots_size = 0.26 # 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
+ dots_rounding = -1
+
+ rounding = 22
+ outer_color = $vivian2
+ inner_color = $vivian2
+ font_color = $vivian1
+ fade_on_empty = true
+ placeholder_text = Password... # Text rendered in the input box when it's empty.
+
+ position = 0, 120
+ halign = center
+ valign = bottom
+}
diff --git a/.config/hypr/hyprsunset.conf b/.config/hypr/hyprsunset.conf
new file mode 100644
index 0000000..7e9d202
--- /dev/null
+++ b/.config/hypr/hyprsunset.conf
@@ -0,0 +1,11 @@
+profile {
+ time = 9:30
+ identity = true
+ gamma = 1
+}
+
+profile {
+ time = 21:00
+ temperature = 3200
+ gamma = 1
+}
diff --git a/.config/hypr/scheme/current.conf b/.config/hypr/scheme/current.conf
new file mode 100644
index 0000000..405235a
--- /dev/null
+++ b/.config/hypr/scheme/current.conf
@@ -0,0 +1,110 @@
+$primary_paletteKeyColor = 7371ac
+$secondary_paletteKeyColor = 77758b
+$tertiary_paletteKeyColor = 956b81
+$neutral_paletteKeyColor = 78767d
+$neutral_variant_paletteKeyColor = 787680
+$background = 131318
+$onBackground = e5e1e9
+$surface = 131318
+$surfaceDim = 131318
+$surfaceBright = 39383f
+$surfaceContainerLowest = 0e0e13
+$surfaceContainerLow = 1c1b21
+$surfaceContainer = 201f25
+$surfaceContainerHigh = 2a292f
+$surfaceContainerHighest = 35343a
+$onSurface = e5e1e9
+$surfaceVariant = 47464f
+$onSurfaceVariant = c8c5d0
+$inverseSurface = e5e1e9
+$inverseOnSurface = 313036
+$outline = 928f9a
+$outlineVariant = 47464f
+$shadow = 000000
+$scrim = 000000
+$surfaceTint = c3c0ff
+$primary = c3c0ff
+$onPrimary = 2c2960
+$primaryContainer = 434078
+$onPrimaryContainer = e3dfff
+$inversePrimary = 5a5891
+$secondary = c7c4dd
+$onSecondary = 2f2e42
+$secondaryContainer = 48475b
+$onSecondaryContainer = e3e0f9
+$tertiary = eab9d1
+$onTertiary = 472639
+$tertiaryContainer = b1849b
+$onTertiaryContainer = 000000
+$error = ffb4ab
+$onError = 690005
+$errorContainer = 93000a
+$onErrorContainer = ffdad6
+$primaryFixed = e3dfff
+$primaryFixedDim = c3c0ff
+$onPrimaryFixed = 16134a
+$onPrimaryFixedVariant = 434078
+$secondaryFixed = e3e0f9
+$secondaryFixedDim = c7c4dd
+$onSecondaryFixed = 1a1a2c
+$onSecondaryFixedVariant = 464559
+$tertiaryFixed = ffd8ea
+$tertiaryFixedDim = eab9d1
+$onTertiaryFixed = 2f1123
+$onTertiaryFixedVariant = 603b4f
+$term0 = 353434
+$term1 = af71ff
+$term2 = 44def5
+$term3 = ffdcf2
+$term4 = 9aa9d8
+$term5 = b59eea
+$term6 = 9dceff
+$term7 = e8d3de
+$term8 = ac9fa9
+$term9 = c293ff
+$term10 = 89ecff
+$term11 = fff0f6
+$term12 = b5c1dd
+$term13 = cbb4f4
+$term14 = bae0ff
+$term15 = ffffff
+$rosewater = f7eff9
+$flamingo = e9ddf3
+$pink = e3d7ff
+$mauve = c1b8ff
+$red = c3a5fd
+$maroon = cab5ec
+$peach = e1c2f8
+$yellow = ffecf3
+$green = c8e3ff
+$teal = d4dfff
+$sky = d1daff
+$sapphire = b8c4ff
+$blue = b2b7ff
+$lavender = c8c8ff
+$klink = 7581d2
+$klinkSelection = 7681d2
+$kvisited = 8371d9
+$kvisitedSelection = 8571d9
+$knegative = a466ff
+$knegativeSelection = a665ff
+$kneutral = cc91ff
+$kneutralSelection = cd91ff
+$kpositive = 60adff
+$kpositiveSelection = 60adff
+$text = e5e1e9
+$subtext1 = c8c5d0
+$subtext0 = 928f9a
+$overlay2 = 7f7c87
+$overlay1 = 6b6973
+$overlay0 = 5a5861
+$surface2 = 49474f
+$surface1 = 37373d
+$surface0 = 25252a
+$base = 131318
+$mantle = 131318
+$crust = 121217
+$success = B5CCBA
+$onSuccess = 213528
+$successContainer = 374B3E
+$onSuccessContainer = D1E9D6
diff --git a/.config/hypr/scripts/Create_WalThemes.sh b/.config/hypr/scripts/Create_WalThemes.sh
new file mode 100755
index 0000000..eef89f2
--- /dev/null
+++ b/.config/hypr/scripts/Create_WalThemes.sh
@@ -0,0 +1,11 @@
+#!/bin/zsh
+
+rm -rf /home/inorishio/.cache/wal/schemes/*
+
+for file in /home/inorishio/Pictures/Backgrounds/*; do
+ wal -i "$file" -n -b '#000000' -I cursor
+done
+for file in /home/inorishio/.cache/wal/schemes/*; do
+ name="$(basename "$file" | sed 's/^_home_inorishio_Pictures_Backgrounds_//' | sed 's/_.*$//')"
+ mv "$file" /home/inorishio/.cache/wal/schemes/"$name".json
+done
diff --git a/.config/hypr/scripts/Github.py b/.config/hypr/scripts/Github.py
new file mode 100755
index 0000000..da16192
--- /dev/null
+++ b/.config/hypr/scripts/Github.py
@@ -0,0 +1,89 @@
+import os
+import shutil
+import re
+import subprocess
+
+FOLDERS = [
+ "/home/inorishio/.config/hypr/",
+ "/home/inorishio/.config/zshrc/",
+ "/home/inorishio/.config/ohmyposh/",
+ "/home/inorishio/.config/fastfetch/",
+ "/home/inorishio/.config/uwsm/",
+ "/home/inorishio/.config/waybar/",
+ "/usr/share/sddm/themes/inorishio-theme/",
+ "/home/inorishio/.config/foot/",
+ "/home/inorishio/NVML/",
+ "/home/inorishio/.config/rofi/",
+ "/home/inorishio/.config/swaync/",
+ "/home/inorishio/.config/swayimg/",
+ "/home/inorishio/.config/quickshell/",
+]
+GITREPO = "/home/inorishio/Documents/Git/Hyprland/Programs/"
+
+EXCLUDE_PATTERN = re.compile(r'.*\.git$')
+
+def get_file_date(filepath):
+ return os.path.getmtime(filepath)
+
+def sync_folders():
+ all_files_in_repo = set()
+
+ # Track existing files in the GITREPO
+ for root, _, files in os.walk(GITREPO):
+ for file in files:
+ if EXCLUDE_PATTERN.match(file):
+ continue
+ relative_path = os.path.relpath(os.path.join(root, file), GITREPO)
+ all_files_in_repo.add(relative_path)
+
+ for folder in FOLDERS:
+ if not os.path.exists(folder):
+ continue
+
+ base_folder_name = os.path.basename(os.path.normpath(folder))
+
+ for root, _, files in os.walk(folder):
+ for file in files:
+ source_path = os.path.join(root, file)
+
+ if EXCLUDE_PATTERN.match(file):
+ continue
+
+ relative_path = os.path.relpath(source_path, folder)
+ dest_path = os.path.join(GITREPO, base_folder_name, relative_path)
+
+ os.makedirs(os.path.dirname(dest_path), exist_ok=True)
+
+ try:
+ if os.path.exists(dest_path):
+ source_time = get_file_date(source_path)
+ dest_time = get_file_date(dest_path)
+
+ if source_time > dest_time:
+ shutil.copy2(source_path, dest_path)
+ elif dest_time > source_time:
+ shutil.copy2(dest_path, source_path)
+ else:
+ shutil.copy2(source_path, dest_path)
+
+ all_files_in_repo.discard(os.path.join(base_folder_name, relative_path))
+ except Exception as e:
+ print(f"Error copying file {source_path} to {dest_path}: {e}")
+
+ for remaining_file in all_files_in_repo:
+ try:
+ os.remove(os.path.join(GITREPO, remaining_file))
+ except Exception as e:
+ print(f"Error removing file {remaining_file} from {GITREPO}: {e}")
+
+def push_to_github():
+ try:
+ subprocess.run(['git', 'add', '.'], cwd=GITREPO, check=True)
+ subprocess.run(['git', 'commit', '-m', 'Sync folders'], cwd=GITREPO, check=True)
+ subprocess.run(['git', 'push'], cwd=GITREPO, check=True)
+ except subprocess.CalledProcessError as e:
+ print(f"Error pushing to GitHub: {e}")
+
+if __name__ == "__main__":
+ sync_folders()
+ push_to_github()
diff --git a/.config/hypr/scripts/Gtk-Settings.sh b/.config/hypr/scripts/Gtk-Settings.sh
new file mode 100755
index 0000000..2e021c6
--- /dev/null
+++ b/.config/hypr/scripts/Gtk-Settings.sh
@@ -0,0 +1,4 @@
+#!/bin/zsh
+
+# Set the GTK theme
+gsettings set org.gnome.desktop.interface cursor-theme "BreezeX-RosePine-Linux"
diff --git a/.config/hypr/scripts/InstallHyprland.sh b/.config/hypr/scripts/InstallHyprland.sh
new file mode 100644
index 0000000..93e834e
--- /dev/null
+++ b/.config/hypr/scripts/InstallHyprland.sh
@@ -0,0 +1,71 @@
+#!/bin/zsh
+
+ArchPkgs=(
+ grub
+ grub-btrfs
+)
+
+HyprPkgs=(
+ hypridle
+ hyprland
+ hyprlock
+ hyprls-git
+ hyprpicker
+ hyprpolkitagent-git
+ hyprshot-git
+ hyprsunset
+)
+
+Pkgs=(
+ 7zip
+ alsa-firmware
+ alsa-utils
+ btdu
+ btop
+ btrfs
+ btrfs-progs
+ croc
+ cronie
+ curseforge
+ dart-sass
+ discord
+ foot
+ gamemode
+ gamescope
+ gimp
+ git
+ git-credential-oauth
+ gparted
+ gpu-usage-waybar-git
+ hwinfo
+ iwd
+ librewolf
+ lua-language-server
+ networkmanager-iwd
+ networkmanager-openconnect
+ nvtop
+ obs-studio-browser
+ olympus-git
+ opentabletdriver
+ osu-lazer-bin
+ pacseek
+ pipewire-alsa
+ proton-tricks
+ protonup-git
+ pwvucontrol
+ socat
+ sddm-git
+ steam
+ swayimg
+ swww
+ telegram-desktop
+ tmux
+ ttf-0xproto-nerd
+ uwsm
+ waybar
+ wev
+ wl-clip-persist
+ yabsnap
+ yay
+ zoxide
+)
diff --git a/.config/hypr/scripts/OBS.sh b/.config/hypr/scripts/OBS.sh
new file mode 100755
index 0000000..8a1b6cc
--- /dev/null
+++ b/.config/hypr/scripts/OBS.sh
@@ -0,0 +1,51 @@
+#!/bin/zsh
+
+# Var
+OBS='ws://localhost:4455'
+PASSWORD="B9AybRWAAmxjUKdy"
+last_recording_state=""
+last_streaming_state=""
+
+# Connect w/Websocket
+coproc websocat -t "$OBS"
+
+# Set Hello var
+read -r hello <&p
+
+# Extract from Hello msg
+SALT=$(echo "$hello" | grep -o '"salt":"[^"]*"' | cut -d'"' -f4)
+CHALLENGE=$(echo "$hello" | grep -o '"challenge":"[^"]*"' | cut -d'"' -f4)
+
+# Secret
+secret=$(printf "%s" "$PASSWORD$SALT" | openssl dgst -sha256 -binary | base64)
+auth=$(printf "%s" "$secret$CHALLENGE" | openssl dgst -sha256 -binary | base64)
+
+# Websocket Auth
+print -p '{"op":1,"d":{"rpcVersion":1,"authentication":"'"$auth"'","eventSubscriptions":1023}}'
+
+# Events
+while IFS= read -r msg; do
+ eventType=$(echo "$msg" | grep -o '"eventType":"[^"]*"' | cut -d':' -f2 | tr -d '"')
+ outputActive=$(echo "$msg" | grep -o '"outputActive":[^,}]*' | cut -d':' -f2)
+
+ case "$eventType" in
+ RecordStateChanged)
+ if [[ "$outputActive" != "$last_recording_state" ]]; then
+ if [[ "$outputActive" == "true" ]]; then
+ swaync-client --inhibitor-add "xdg-desktop-portal-hyprland"
+ else
+ swaync-client --inhibitor-remove "xdg-desktop-portal-hyprland"
+ fi
+ last_recording_state="$outputActive"
+ fi;;
+ StreamStateChanged)
+ if [[ "$outputActive" != "$last_streaming_state" ]]; then
+ if [[ "$outputActive" == "true" ]]; then
+ swaync-client --inhibitor-add "xdg-desktop-portal-hyprland"
+ else
+ swaync-client --inhibitor-remove "xdg-desktop-portal-hyprland"
+ fi
+ last_streaming_state="$outputActive"
+ fi;;
+ esac
+done <&p
diff --git a/.config/hypr/scripts/Pet-March.sh b/.config/hypr/scripts/Pet-March.sh
new file mode 100755
index 0000000..ab4d867
--- /dev/null
+++ b/.config/hypr/scripts/Pet-March.sh
@@ -0,0 +1,3 @@
+#!/bin/zsh
+
+qs -p $HOME/.config/quickshell/QtDesktopPet/
diff --git a/.config/hypr/scripts/ResetWaybar.sh b/.config/hypr/scripts/ResetWaybar.sh
new file mode 100755
index 0000000..416a805
--- /dev/null
+++ b/.config/hypr/scripts/ResetWaybar.sh
@@ -0,0 +1,8 @@
+#!/bin/zsh
+
+if pgrep waybar; then
+ pkill waybar && sass ~/.config/waybar/zbar/zbar.scss ~/.config/waybar/zbar/zbar.css && waybar -c ~/.config/waybar/zbar/config.jsonc -s ~/.config/waybar/zbar/zbar.css # Reload waybar
+else
+ sass ~/.config/waybar/zbar/zbar.scss ~/.config/waybar/zbar/zbar.css && waybar -c ~/.config/waybar/zbar/config.jsonc -s ~/.config/waybar/zbar/zbar.css # Reload waybar
+fi
+
diff --git a/.config/hypr/scripts/Stream.sh b/.config/hypr/scripts/Stream.sh
new file mode 100755
index 0000000..8ee490d
--- /dev/null
+++ b/.config/hypr/scripts/Stream.sh
@@ -0,0 +1,17 @@
+#!/bin/zsh
+
+XDG_RUNTIME_DIR="/run/user/1000"
+
+handle() {
+ case $1 in
+ "screencast>>1,"*)
+ swaync-client --inhibitor-add "xdg-desktop-portal-hyprland" &
+ ;;
+ "screencast>>0,"*)
+ echo hi &
+ swaync-client --inhibitor-remove "xdg-desktop-portal-hyprland" &
+ ;;
+ esac
+}
+
+socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock | while read -r line; do handle "$line"; done
diff --git a/.config/hypr/scripts/VPN.sh b/.config/hypr/scripts/VPN.sh
new file mode 100755
index 0000000..7ff8b12
--- /dev/null
+++ b/.config/hypr/scripts/VPN.sh
@@ -0,0 +1,9 @@
+#!/bin/zsh
+
+VPN="https://anyconnect.vught.nl"
+
+if ( pgrep openconnect > /dev/null ); then
+ pkill openconnect
+else
+ openconnect-sso --server $VPN
+fi
diff --git a/.config/hypr/scripts/Workspace_Wallpapers.sh b/.config/hypr/scripts/Workspace_Wallpapers.sh
new file mode 100755
index 0000000..63040c2
--- /dev/null
+++ b/.config/hypr/scripts/Workspace_Wallpapers.sh
@@ -0,0 +1,114 @@
+#!/bin/zsh
+
+export XDG_RUNTIME_DIR="/run/user/1000"
+
+num_workspaces=10
+
+random_images=()
+
+background_dir="/home/inorishio/Pictures/Backgrounds/"
+
+populate_random_images() {
+ local images=($(find $background_dir -type f | shuf -n $num_workspaces))
+ random_images=("${images[@]}")
+}
+
+wal_ran_for_ws=(0 0 0 0 0 0 0 0 0 0)
+
+set_wal_for_workspace() {
+ for i in {1..10}; do
+ wal_ran_for_ws[$i]=0
+ done
+}
+
+handle_background() {
+ case $1 in
+ "workspace>>1") swww img --transition-type none "${random_images[1]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 1 ]]; then
+ if [[ "${wal_ran_for_ws[1]}" -eq 0 ]]; then
+ wal -i "${random_images[1]}" -I cursor
+ set_wal_for_workspace 1
+ fi
+ wal_ran_for_ws[1]=1
+ fi ;;
+ "workspace>>2") swww img --transition-type none "${random_images[2]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 2 ]]; then
+ if [[ "${wal_ran_for_ws[2]}" -eq 0 ]]; then
+ wal -i "${random_images[2]}" -I cursor
+ set_wal_for_workspace 2
+ fi
+ wal_ran_for_ws[2]=1
+ fi ;;
+ "workspace>>3") swww img --transition-type none "${random_images[3]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 3 ]]; then
+ if [[ "${wal_ran_for_ws[3]}" -eq 0 ]]; then
+ wal -i "${random_images[3]}" -I cursor
+ set_wal_for_workspace 3
+ fi
+ wal_ran_for_ws[3]=1
+ fi ;;
+ "workspace>>4") swww img --transition-type none "${random_images[4]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 4 ]]; then
+ if [[ "${wal_ran_for_ws[4]}" -eq 0 ]]; then
+ wal -i "${random_images[4]}" -I cursor
+ set_wal_for_workspace 4
+ fi
+ wal_ran_for_ws[4]=1
+ fi ;;
+ "workspace>>5") swww img --transition-type none "${random_images[5]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 5 ]]; then
+ if [[ "${wal_ran_for_ws[5]}" -eq 0 ]]; then
+ wal -i "${random_images[5]}" -I cursor
+ set_wal_for_workspace 5
+ fi
+ wal_ran_for_ws[5]=1
+ fi ;;
+ "workspace>>6") swww img --transition-type none "${random_images[6]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 6 ]]; then
+ if [[ "${wal_ran_for_ws[6]}" -eq 0 ]]; then
+ wal -i "${random_images[6]}" -I cursor
+ set_wal_for_workspace 6
+ fi
+ wal_ran_for_ws[6]=1
+ fi ;;
+ "workspace>>7") swww img --transition-type none "${random_images[7]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 7 ]]; then
+ if [[ "${wal_ran_for_ws[7]}" -eq 0 ]]; then
+ wal -i "${random_images[7]}" -I cursor
+ set_wal_for_workspace 7
+ fi
+ wal_ran_for_ws[7]=1
+ fi ;;
+ "workspace>>8") swww img --transition-type none "${random_images[8]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 8 ]]; then
+ if [[ "${wal_ran_for_ws[8]}" -eq 0 ]]; then
+ wal -i "${random_images[8]}" -I cursor
+ set_wal_for_workspace 8
+ fi
+ wal_ran_for_ws[8]=1
+ fi ;;
+ "workspace>>9") swww img --transition-type none "${random_images[9]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 9 ]]; then
+ if [[ "${wal_ran_for_ws[9]}" -eq 0 ]]; then
+ wal -i "${random_images[9]}" -I cursor
+ set_wal_for_workspace 9
+ fi
+ wal_ran_for_ws[9]=1
+ fi ;;
+ "workspace>>10") swww img --transition-type none "${random_images[10]}"
+ if [[ "$(hyprctl activewindow | grep 'initialClass:' | awk '{print $2}')" == "footclient" && "$(hyprctl activewindow | grep 'workspace:' | awk '{print $2}')" -eq 10 ]]; then
+ if [[ "${wal_ran_for_ws[10]}" -eq 0 ]]; then
+ wal -i "${random_images[10]}" -I cursor
+ set_wal_for_workspace 10
+ fi
+ wal_ran_for_ws[10]=1
+ fi ;;
+ esac
+}
+
+populate_random_images
+
+socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock |
+ while read -r line; do
+ handle_background "$line"
+done
diff --git a/.config/hypr/scripts/Z-Cast.sh b/.config/hypr/scripts/Z-Cast.sh
new file mode 100755
index 0000000..aac4cc1
--- /dev/null
+++ b/.config/hypr/scripts/Z-Cast.sh
@@ -0,0 +1,5 @@
+#!/bin/zsh
+
+cd ~/Documents/Git/Z-Cast/
+
+exec ~/miniconda3/envs/Zachjittery/bin/python main.py
diff --git a/.config/hypr/scripts/old/Wallpaper/PopulateImages.sh b/.config/hypr/scripts/old/Wallpaper/PopulateImages.sh
new file mode 100755
index 0000000..59dd9c4
--- /dev/null
+++ b/.config/hypr/scripts/old/Wallpaper/PopulateImages.sh
@@ -0,0 +1,8 @@
+#!/bin/zsh
+
+dir="/home/inorishio/Pictures/Backgrounds/"
+output_file="/tmp/random_images.list"
+images=10
+
+# Generate random images
+find "$dir" -type f | shuf -n $images > "$output_file"
diff --git a/.config/hypr/scripts/old/Wallpaper/Terminal.sh b/.config/hypr/scripts/old/Wallpaper/Terminal.sh
new file mode 100755
index 0000000..10719ca
--- /dev/null
+++ b/.config/hypr/scripts/old/Wallpaper/Terminal.sh
@@ -0,0 +1,33 @@
+#!/bin/zsh
+
+export XDG_RUNTIME_DIR="/run/user/1000"
+
+output_file="/tmp/random_images.list"
+scheme_dir="/home/inorishio/.cache/wal/schemes/"
+background_dir="/home/inorishio/Pictures/Backgrounds/"
+random_images=("${(@f)$(< "$output_file")}")
+
+populate_random_schemes() {
+ substract0=("${random_images[@]/$background_dir/$scheme_dir}")
+ substract1=("${substract0[@]/.png/}")
+ random_schemes=("${substract1[@]/.jpg/}")
+}
+
+populate_random_schemes
+
+wal_ran_for_ws=0
+
+handle_terminal_workspace() {
+ if [[ "$1" =~ workspace* ]]; then
+ local ws="${1##*>>}"
+ if [[ "$ws" == "1" && "$wal_ran_for_ws" -eq 0 ]]; then
+ wal -f "${random_schemes[1]}"
+ wal_ran_for_ws=1
+ fi
+ fi
+}
+
+socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock |
+ while read -r line; do
+ handle_terminal_workspace "$line"
+done
diff --git a/.config/hypr/scripts/old/Wallpaper/Terminal2.sh b/.config/hypr/scripts/old/Wallpaper/Terminal2.sh
new file mode 100755
index 0000000..77308fb
--- /dev/null
+++ b/.config/hypr/scripts/old/Wallpaper/Terminal2.sh
@@ -0,0 +1,45 @@
+#!/bin/zsh
+
+export XDG_RUNTIME_DIR="/run/user/1000"
+
+output_file="/tmp/random_images.list"
+scheme_dir="/home/inorishio/.cache/wal/schemes/"
+background_dir="/home/inorishio/Pictures/Backgrounds/"
+
+# Load list of random images
+random_images=("${(@f)$(< "$output_file")}")
+
+populate_random_schemes() {
+ local tmp=()
+ for img in "${random_images[@]}"; do
+ img_name="${img##*/}" # get filename
+ img_name="${img_name%.*}" # remove extension
+ tmp+=("$scheme_dir/$img_name.json")
+ done
+ random_schemes=("${tmp[@]}")
+}
+
+populate_random_schemes
+
+current_workspace=""
+
+handle_workspace_event() {
+ if [[ "$1" == *"workspace>>"* ]]; then
+ ws="${1##*>>}"
+ current_workspace="$ws"
+
+ # Map workspace number to array index (Zsh arrays start at 1)
+ if (( ws <= ${#random_schemes[@]} )); then
+ wal -f "${random_schemes[$ws]}"
+ echo "Applied ${random_schemes[$ws]} for workspace $ws"
+ else
+ echo "No theme assigned for workspace $ws"
+ fi
+ fi
+}
+
+# Listen for events from Hyprland
+socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock |
+ while read -r line; do
+ handle_workspace_event "$line"
+ done
diff --git a/.config/hypr/scripts/old/Wallpaper/Terminal3.sh b/.config/hypr/scripts/old/Wallpaper/Terminal3.sh
new file mode 100755
index 0000000..9198635
--- /dev/null
+++ b/.config/hypr/scripts/old/Wallpaper/Terminal3.sh
@@ -0,0 +1,65 @@
+#!/bin/zsh
+
+export XDG_RUNTIME_DIR="/run/user/1000"
+
+output_file="/tmp/random_images.list"
+scheme_dir="/home/inorishio/.cache/wal/schemes/"
+background_dir="/home/inorishio/Pictures/Backgrounds/"
+
+# Load list of random images
+random_images=("${(@f)$(< "$output_file")}")
+
+populate_random_schemes() {
+ local tmp=()
+ for img in "${random_images[@]}"; do
+ img_name="${img##*/}" # get filename
+ img_name="${img_name%.*}" # remove extension
+ tmp+=("$scheme_dir/$img_name.json")
+ done
+ random_schemes=("${tmp[@]}")
+}
+
+populate_random_schemes
+
+current_workspace=""
+
+handle_workspace_event() {
+ if [[ "$1" == *"workspace>>"* ]]; then
+ ws="${1##*>>}"
+ current_workspace="$ws"
+
+ if (( ws <= ${#random_schemes[@]} )); then
+ wal -f "${random_schemes[$ws]}"
+ echo "Applied ${random_schemes[$ws]} for workspace $ws"
+ else
+ echo "No theme assigned for workspace $ws"
+ fi
+ fi
+}
+
+# 📦 Poll terminal workspace assignment in background
+track_terminal_workspace() {
+ local last_ws=""
+ while true; do
+ terminal_ws=$(hyprctl clients -j | jq -r '.[] | select(.class == "foot") | .workspace.id' | head -n1)
+
+ if [[ "$terminal_ws" != "$last_ws" && "$terminal_ws" != "null" ]]; then
+ if (( terminal_ws <= ${#random_schemes[@]} )); then
+ wal -f "${random_schemes[$terminal_ws]}"
+ echo "Applied ${random_schemes[$terminal_ws]} for foot terminal on workspace $terminal_ws"
+ fi
+ last_ws="$terminal_ws"
+ fi
+
+ sleep 0.5
+ done
+}
+
+# Start the terminal workspace watcher in background
+track_terminal_workspace &
+
+# Listen for Hyprland events in foreground
+socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock |
+ while read -r line; do
+ handle_workspace_event "$line"
+ done
diff --git a/.config/hypr/scripts/old/Wallpaper/Wallpaper.sh b/.config/hypr/scripts/old/Wallpaper/Wallpaper.sh
new file mode 100755
index 0000000..0957f03
--- /dev/null
+++ b/.config/hypr/scripts/old/Wallpaper/Wallpaper.sh
@@ -0,0 +1,26 @@
+#!/bin/zsh
+
+export XDG_RUNTIME_DIR="/run/user/1000"
+
+output_file="/tmp/random_images.list"
+random_images=("${(@f)$(< "$output_file")}")
+
+handle_background() {
+ case $1 in
+ "workspace>>1") swww img --transition-type none "${random_images[1]}" ;;
+ "workspace>>2") swww img --transition-type none "${random_images[2]}" ;;
+ "workspace>>3") swww img --transition-type none "${random_images[3]}" ;;
+ "workspace>>4") swww img --transition-type none "${random_images[4]}" ;;
+ "workspace>>5") swww img --transition-type none "${random_images[5]}" ;;
+ "workspace>>6") swww img --transition-type none "${random_images[6]}" ;;
+ "workspace>>7") swww img --transition-type none "${random_images[7]}" ;;
+ "workspace>>8") swww img --transition-type none "${random_images[8]}" ;;
+ "workspace>>9") swww img --transition-type none "${random_images[9]}" ;;
+ "workspace>>10") swww img --transition-type none "${random_images[10]}" ;;
+ esac
+}
+
+socat -U - UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock |
+ while read -r line; do
+ handle_background "$line"
+done
diff --git a/.config/hypr/scripts/old/hyprsunset.sh b/.config/hypr/scripts/old/hyprsunset.sh
new file mode 100755
index 0000000..346665c
--- /dev/null
+++ b/.config/hypr/scripts/old/hyprsunset.sh
@@ -0,0 +1,9 @@
+#!/bin/zsh
+
+hour=$(date +%H)
+
+if [ $hour -ge 09 ] && [ $hour -lt 21 ]; then
+ pkill hyprsunset
+elif [ $hour -ge 21 ] || [ $hour -lt 09 ]; then
+ WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/1000 hyprsunset -t 3200 &
+fi
diff --git a/.config/hypr/scripts/old/hyprsunset/hyprsunset-v2.sh b/.config/hypr/scripts/old/hyprsunset/hyprsunset-v2.sh
new file mode 100755
index 0000000..e4e0045
--- /dev/null
+++ b/.config/hypr/scripts/old/hyprsunset/hyprsunset-v2.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+START=21
+END=10
+CURRENT=$(date +%H)
+
+if { [[ $CURRENT -lt $START ]] && [[ $CURRENT -ge $END ]] }; then
+ systemctl --user start stophyprsunset.service
+else
+ if { [[ $CURRENT -ge $START ]] || [[ $CURRENT -lt $END ]] }; then
+ systemctl --user start starthyprsunset.service
+ fi
+fi
diff --git a/.config/hypr/scripts/old/hyprsunset/hyprsunset-v3.sh b/.config/hypr/scripts/old/hyprsunset/hyprsunset-v3.sh
new file mode 100644
index 0000000..3006637
--- /dev/null
+++ b/.config/hypr/scripts/old/hyprsunset/hyprsunset-v3.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+START=20
+END=11
+CURRENT=$(date +%H)
+HYPRPRO=$(pgrep -x hyprsunset)
+
+if { [[ $CURRENT -lt $START ]] || [[ $CURRENT -ge $END ]] }; then
+ pkill hyprsunset
+else
+ if { [[ $CURRENT -ge $START ]] || [[ $CURRENT -lt $END ]] }; then
+ systemctl --user start newhyprsunset.service
+ fi
+fi
diff --git a/.config/hypr/scripts/old/hyprsunset/hyprsunset.sh b/.config/hypr/scripts/old/hyprsunset/hyprsunset.sh
new file mode 100755
index 0000000..2fb5c5e
--- /dev/null
+++ b/.config/hypr/scripts/old/hyprsunset/hyprsunset.sh
@@ -0,0 +1,17 @@
+#!/bin/zsh
+
+APP="hyprsunset"
+
+START=14
+END=09
+
+CURRENT=$(date +%H)
+
+if { [[ $CURRENT -lt $START ]] && [[ $CURRENT -ge $END ]] }; then
+ pkill -x "$APP"
+ exit 0
+else
+ if { [[ $CURRENT -ge $START ]] || [[ $CURRENT -lt $END ]] }; then
+ XDG_RUNTIME_DIR="/run/user/1000" WAYLAND_DISPLAY="wayland-1" hyprsunset -t 2600 &
+ fi
+fi
diff --git a/.config/hypr/scripts/old/ml4w/cleanup.sh b/.config/hypr/scripts/old/ml4w/cleanup.sh
new file mode 100755
index 0000000..096d929
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/cleanup.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+# Remove gamemode flag
+if [ -f ~/.cache/gamemode ] ;then
+ rm ~/.cache/gamemode
+ echo ":: ~/.cache/gamemode removed"
+fi
diff --git a/.config/hypr/scripts/old/ml4w/diagnosis.sh b/.config/hypr/scripts/old/ml4w/diagnosis.sh
new file mode 100755
index 0000000..6f6208d
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/diagnosis.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+clear
+sleep 0.5
+figlet -f smslant "Diagnosis"
+echo
+echo "This script will check that essential packages and "
+echo "execution commands are available on your system."
+echo
+
+_commandExists() {
+ package="$1";
+ if ! type $package > /dev/null 2>&1; then
+ echo ":: ERROR: $package doesn't exists. Please install it with yay -S $2"
+ else
+ echo ":: OK: $package found."
+ fi
+}
+
+_folderExists() {
+ folder="$1";
+ if [ ! -d $folder ]; then
+ echo ":: ERROR: $folder doesn't exists."
+ else
+ echo ":: OK: $folder found."
+ fi
+}
+
+_commandExists "rofi" "rofi-wayland"
+_commandExists "dunst" "dunst"
+_commandExists "waybar" "waybar"
+_commandExists "hyprpaper" "hyprpaper"
+_commandExists "hyprlock" "hyprpaper"
+_commandExists "hypridle" "hyprpaper"
+_commandExists "hyprshade" "hyprshade"
+_commandExists "wal" "python-pywal"
+_commandExists "gum" "gum"
+_commandExists "wlogout" "wlogout"
+_commandExists "ags" "ags"
+_commandExists "magick" "imagemagick"
+_commandExists "figlet" "figlet"
+_commandExists "waypaper" "waypaper"
+
+echo
+echo "Press return to exit"
+read
diff --git a/.config/hypr/scripts/old/ml4w/disabledm.sh b/.config/hypr/scripts/old/ml4w/disabledm.sh
new file mode 100755
index 0000000..ee5e612
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/disabledm.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+clear
+figlet -f smslant "Disable DM"
+echo "Hyprland recommends the start with the tty login."
+echo "You can deactivate the current display manager (if exists)."
+echo ""
+echo "-> Do you really want to deactivate the display manager?"
+while true; do
+ read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn
+ case $yn in
+ [Yy]* )
+ if [ -f /etc/systemd/system/display-manager.service ]; then
+ sudo rm /etc/systemd/system/display-manager.service
+ echo "Current display manager removed."
+ else
+ echo "No active display manager found."
+ fi
+ break;;
+ [Nn]* )
+ exit
+ break;;
+ * ) echo "Please answer yes or no.";;
+ esac
+done
\ No newline at end of file
diff --git a/.config/hypr/scripts/old/ml4w/gamemode.sh b/.config/hypr/scripts/old/ml4w/gamemode.sh
new file mode 100755
index 0000000..76b1fa5
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/gamemode.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+if [ -f ~/.cache/gamemode ] ;then
+ hyprctl reload
+ rm ~/.cache/gamemode
+ notify-send "Gamemode deactivated" "Animations and blur enabled"
+else
+ hyprctl --batch "\
+ keyword animations:enabled 0;\
+ keyword decoration:drop_shadow 0;\
+ keyword decoration:blur:enabled 0;\
+ keyword general:gaps_in 0;\
+ keyword general:gaps_out 0;\
+ keyword general:border_size 1;\
+ keyword decoration:rounding 0"
+ touch ~/.cache/gamemode
+ notify-send "Gamemode activated" "Animations and blur disabled"
+fi
diff --git a/.config/hypr/scripts/old/ml4w/gtk.sh b/.config/hypr/scripts/old/ml4w/gtk.sh
new file mode 100755
index 0000000..d04ed45
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/gtk.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
+
+config="$HOME/.config/gtk-3.0/settings.ini"
+if [ ! -f "$config" ]; then exit 1; fi
+
+gnome_schema="org.gnome.desktop.interface"
+gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')"
+font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
+
+echo $gtk_theme
+echo $icon_theme
+echo $cursor_theme
+echo $cursor_size
+echo $font_name
+
+gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
+gsettings set "$gnome_schema" icon-theme "$icon_theme"
+gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
+gsettings set "$gnome_schema" font-name "$font_name"
+gsettings set "$gnome_schema" color-scheme "prefer-dark"
+
+if [ -f ~/.config/hypr/conf/cursor.conf ] ;then
+ echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf
+ hyprctl setcursor $cursor_theme $cursor_size
+fi
diff --git a/.config/hypr/scripts/old/ml4w/hypridle.sh b/.config/hypr/scripts/old/ml4w/hypridle.sh
new file mode 100755
index 0000000..3883b31
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/hypridle.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+SERVICE="hypridle"
+if [[ "$1" == "status" ]]; then
+ sleep 1
+ if pgrep -x "$SERVICE" >/dev/null ;then
+ echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active\nLeft: Deactivate\nRight: Lock Screen"}'
+ else
+ echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate\nRight: Lock Screen"}'
+ fi
+fi
+if [[ "$1" == "toggle" ]]; then
+ if pgrep -x "$SERVICE" >/dev/null ;then
+ killall hypridle
+ else
+ hypridle
+ fi
+fi
diff --git a/.config/hypr/scripts/old/ml4w/init-wallpaper-engine.sh b/.config/hypr/scripts/old/ml4w/init-wallpaper-engine.sh
new file mode 100755
index 0000000..a8262a6
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/init-wallpaper-engine.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh)
+if [ "$wallpaper_engine" == "swww" ] ;then
+ # swww
+ echo ":: Using swww"
+ swww init
+ swww-daemon --format xrgb
+ sleep 0.5
+ ~/.config/hypr/scripts/wallpaper.sh init
+elif [ "$wallpaper_engine" == "hyprpaper" ] ;then
+ # hyprpaper
+ echo ":: Using hyprpaper"
+ sleep 0.5
+ ~/.config/hypr/scripts/wallpaper.sh init
+else
+ echo ":: Wallpaper Engine disabled"
+ ~/.config/hypr/scripts/wallpaper.sh init
+fi
+
diff --git a/.config/hypr/scripts/old/ml4w/keybindings.sh b/.config/hypr/scripts/old/ml4w/keybindings.sh
new file mode 100755
index 0000000..ac7f599
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/keybindings.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# -----------------------------------------------------
+# Get keybindings location based on variation
+# -----------------------------------------------------
+config_file=$(cat ~/.config/hypr/conf/keybinding.conf)
+config_file=${config_file/source = ~/}
+config_file=${config_file/source=~/}
+
+# -----------------------------------------------------
+# Path to keybindings config file
+# -----------------------------------------------------
+config_file="/home/$USER$config_file"
+echo "Reading from: $config_file"
+
+keybinds=""
+
+# Detect Start String
+while read -r line
+do
+ if [[ "$line" == "bind"* ]]; then
+
+ line="$(echo "$line" | sed 's/$mainMod/SUPER/g')"
+ line="$(echo "$line" | sed 's/bind = //g')"
+ line="$(echo "$line" | sed 's/bindm = //g')"
+
+ IFS='#'
+ read -a strarr <<<"$line"
+ kb_str=${strarr[0]}
+ cm_str=${strarr[1]}
+
+ IFS=','
+ read -a kbarr <<<"$kb_str"
+
+ item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}"
+ keybinds=$keybinds"$item"$'\n'
+ fi
+done < "$config_file"
+
+sleep 0.2
+echo -e "$keybinds" | walker -l 10 -p "Keybinds: "
diff --git a/.config/hypr/scripts/old/ml4w/ml4w-autostart.sh b/.config/hypr/scripts/old/ml4w/ml4w-autostart.sh
new file mode 100755
index 0000000..0566294
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/ml4w-autostart.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+if [ -f ~/.config/ml4w/version/compare.sh ] ;then
+ $HOME/.config/ml4w/version/compare.sh
+fi
+
+if [ ! -f ~/.cache/ml4w-post-install ] ;then
+ if [ ! -f $HOME/.cache/ml4w-welcome-autostart ] ;then
+ echo ":: Autostart of ML4W Welcome App enabled."
+ if [ -f $HOME/.config/ml4w/apps/ML4W_Welcome-x86_64.AppImage ] ;then
+ echo ":: Starting ML4W Welcome App ..."
+ sleep 2
+ $HOME/.config/ml4w/apps/ML4W_Welcome-x86_64.AppImage
+ else
+ echo ":: ML4W Welcome App not found."
+ fi
+
+ else
+ echo ":: Autostart of ML4W Welcome App disabled."
+ fi
+else
+ rm ~/.cache/ml4w-post-install
+ terminal=$(cat ~/.config/ml4w/settings/terminal.sh)
+ $terminal --class dotfiles-floating -e ~/.config/ml4w/postinstall.sh
+ $HOME/.config/ml4w/apps/ML4W_Welcome-x86_64.AppImage
+fi
diff --git a/.config/hypr/scripts/old/ml4w/moveTo.sh b/.config/hypr/scripts/old/ml4w/moveTo.sh
new file mode 100755
index 0000000..eccd49c
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/moveTo.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Function to log messages (useful for debugging)
+log_message() {
+ # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt
+ echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
+}
+
+# Get the target workspace from the argument
+target_workspace=$1
+
+# Check if a target workspace was provided
+if [ -z "$target_workspace" ]; then
+ log_message "Error: No target workspace provided"
+ exit 1
+fi
+
+# Get the current active workspace
+current_workspace=$(hyprctl activewindow -j | jq '.workspace.id')
+
+if [ -z "$current_workspace" ]; then
+ log_message "Error: Couldn't determine current workspace"
+ exit 1
+fi
+
+log_message "Moving from workspace $current_workspace to $target_workspace"
+
+# Get all window addresses in the current workspace
+window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address")
+
+# Move each window to the target workspace
+for address in $window_addresses; do
+ log_message "Moving window $address to workspace $target_workspace"
+ hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address"
+done
+
+log_message "Finished moving windows"
+
+# Switch to the target workspace
+hyprctl dispatch workspace "$target_workspace"
+
+log_message "Switched to workspace $target_workspace"
diff --git a/.config/hypr/scripts/old/ml4w/power.sh b/.config/hypr/scripts/old/ml4w/power.sh
new file mode 100755
index 0000000..a4efb5a
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/power.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+# Check if eww is open
+FILE="$HOME/.cache/ml4w_sidebar"
+
+if [[ "$1" == "exit" ]]; then
+ echo ":: Exit"
+ if [[ -f "$FILE" ]]; then
+ rm $FILE
+ fi
+ sleep 0.5
+ killall -9 Hyprland
+ sleep 2
+fi
+
+if [[ "$1" == "lock" ]]; then
+ echo ":: Lock"
+ sleep 0.5
+ hyprlock
+fi
+
+if [[ "$1" == "reboot" ]]; then
+ echo ":: Reboot"
+ if [[ -f "$FILE" ]]; then
+ rm $FILE
+ fi
+ sleep 0.5
+ systemctl reboot
+fi
+
+if [[ "$1" == "shutdown" ]]; then
+ echo ":: Shutdown"
+ if [[ -f "$FILE" ]]; then
+ rm $FILE
+ fi
+ sleep 0.5
+ systemctl poweroff
+fi
+
+if [[ "$1" == "suspend" ]]; then
+ echo ":: Suspend"
+ sleep 0.5
+ systemctl suspend
+fi
+
+if [[ "$1" == "hibernate" ]]; then
+ echo ":: Hibernate"
+ sleep 1;
+ systemctl hibernate
+fi
diff --git a/.config/hypr/scripts/old/ml4w/restart-hypridle.sh b/.config/hypr/scripts/old/ml4w/restart-hypridle.sh
new file mode 100755
index 0000000..fe29461
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/restart-hypridle.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+killall hypridle
+sleep 1
+hypridle &
+notify-send "hypridle has been restarted."
\ No newline at end of file
diff --git a/.config/hypr/scripts/old/ml4w/screenshot.sh b/.config/hypr/scripts/old/ml4w/screenshot.sh
new file mode 100755
index 0000000..855d965
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/screenshot.sh
@@ -0,0 +1,217 @@
+#!/bin/bash
+# -----------------------------------------------------
+
+# Screenshots will be stored in $HOME by default.
+# The screenshot will be moved into the screenshot directory
+
+# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder:
+# XDG_SCREENSHOTS_DIR="$HOME/Screenshots"
+
+prompt='Screenshot'
+mesg="DIR: ~/Screenshots"
+
+# Screenshot Filename
+source ~/.config/ml4w/settings/screenshot-filename.sh
+
+# Screenshot Folder
+source ~/.config/ml4w/settings/screenshot-folder.sh
+
+# Screenshot Editor
+export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)"
+
+# Example for keybindings
+# bind = SUPER, p, exec, grimblast save active
+# bind = SUPER SHIFT, p, exec, grimblast save area
+# bind = SUPER ALT, p, exec, grimblast save output
+# bind = SUPER CTRL, p, exec, grimblast save screen
+
+# Options
+option_1="Immediate"
+option_2="Delayed"
+
+option_capture_1="Capture Everything"
+option_capture_2="Capture Active Display"
+option_capture_3="Capture Selection"
+
+option_time_1="5s"
+option_time_2="10s"
+option_time_3="20s"
+option_time_4="30s"
+option_time_5="60s"
+#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :)
+
+list_col='1'
+list_row='2'
+
+copy='Copy'
+save='Save'
+copy_save='Copy & Save'
+edit='Edit'
+
+# Rofi CMD
+rofi_cmd() {
+ rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot"
+}
+
+# Pass variables to rofi dmenu
+run_rofi() {
+ echo -e "$option_1\n$option_2" | rofi_cmd
+}
+
+####
+# Choose Timer
+# CMD
+timer_cmd() {
+ rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer"
+}
+
+# Ask for confirmation
+timer_exit() {
+ echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd
+}
+
+# Confirm and execute
+timer_run() {
+ selected_timer="$(timer_exit)"
+ if [[ "$selected_timer" == "$option_time_1" ]]; then
+ countdown=5
+ ${1}
+ elif [[ "$selected_timer" == "$option_time_2" ]]; then
+ countdown=10
+ ${1}
+ elif [[ "$selected_timer" == "$option_time_3" ]]; then
+ countdown=20
+ ${1}
+ elif [[ "$selected_timer" == "$option_time_4" ]]; then
+ countdown=30
+ ${1}
+ elif [[ "$selected_timer" == "$option_time_5" ]]; then
+ countdown=60
+ ${1}
+ else
+ exit
+ fi
+}
+###
+
+####
+# Chose Screenshot Type
+# CMD
+type_screenshot_cmd() {
+ rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot"
+}
+
+# Ask for confirmation
+type_screenshot_exit() {
+ echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd
+}
+
+# Confirm and execute
+type_screenshot_run() {
+ selected_type_screenshot="$(type_screenshot_exit)"
+ if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then
+ option_type_screenshot=screen
+ ${1}
+ elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then
+ option_type_screenshot=output
+ ${1}
+ elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then
+ option_type_screenshot=area
+ ${1}
+ else
+ exit
+ fi
+}
+###
+
+####
+# Choose to save or copy photo
+# CMD
+copy_save_editor_cmd() {
+ rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save"
+}
+
+# Ask for confirmation
+copy_save_editor_exit() {
+ echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd
+}
+
+# Confirm and execute
+copy_save_editor_run() {
+ selected_chosen="$(copy_save_editor_exit)"
+ if [[ "$selected_chosen" == "$copy" ]]; then
+ option_chosen=copy
+ ${1}
+ elif [[ "$selected_chosen" == "$save" ]]; then
+ option_chosen=save
+ ${1}
+ elif [[ "$selected_chosen" == "$copy_save" ]]; then
+ option_chosen=copysave
+ ${1}
+ elif [[ "$selected_chosen" == "$edit" ]]; then
+ option_chosen=edit
+ ${1}
+ else
+ exit
+ fi
+}
+###
+
+timer() {
+ if [[ $countdown -gt 10 ]]; then
+ notify-send -t 1000 "Taking screenshot in ${countdown} seconds"
+ countdown_less_10=$((countdown - 10))
+ sleep $countdown_less_10
+ countdown=10
+ fi
+ while [[ $countdown -ne 0 ]]; do
+ notify-send -t 1000 "Taking screenshot in ${countdown} seconds"
+ countdown=$((countdown - 1))
+ sleep 1
+ done
+}
+
+# take shots
+takescreenshot() {
+ sleep 1
+ grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME
+ if [ -f $HOME/$NAME ] ;then
+ if [ -d $screenshot_folder ] ;then
+ mv $HOME/$NAME $screenshot_folder/
+ fi
+ fi
+}
+
+takescreenshot_timer() {
+ sleep 1
+ timer
+ grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME
+ if [ -f $HOME/$NAME ] ;then
+ if [ -d $screenshot_folder ] ;then
+ mv $HOME/$NAME $screenshot_folder/
+ fi
+ fi
+}
+
+# Execute Command
+run_cmd() {
+ if [[ "$1" == '--opt1' ]]; then
+ type_screenshot_run
+ copy_save_editor_run "takescreenshot"
+ elif [[ "$1" == '--opt2' ]]; then
+ timer_run
+ type_screenshot_run
+ copy_save_editor_run "takescreenshot_timer"
+ fi
+}
+
+# Actions
+chosen="$(run_rofi)"
+case ${chosen} in
+$option_1)
+ run_cmd --opt1
+ ;;
+$option_2)
+ run_cmd --opt2
+ ;;
+esac
diff --git a/.config/hypr/scripts/old/ml4w/shaders/invert-colors.glsl b/.config/hypr/scripts/old/ml4w/shaders/invert-colors.glsl
new file mode 100644
index 0000000..a504901
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/shaders/invert-colors.glsl
@@ -0,0 +1,8 @@
+precision highp float;
+varying vec2 v_texcoord;
+uniform sampler2D tex;
+
+void main() {
+ vec4 pixColor = texture2D(tex, v_texcoord);
+ gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a);
+}
diff --git a/.config/hypr/scripts/old/ml4w/toggle-animations.sh b/.config/hypr/scripts/old/ml4w/toggle-animations.sh
new file mode 100755
index 0000000..7eedb1d
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/toggle-animations.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+cache_file="$HOME/.cache/toggle_animation"
+if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then
+ echo ":: Toggle blocked by disabled.conf variation."
+else
+ if [ -f $cache_file ] ;then
+ hyprctl keyword animations:enabled true
+ rm $cache_file
+ else
+ hyprctl keyword animations:enabled false
+ touch $cache_file
+ fi
+fi
\ No newline at end of file
diff --git a/.config/hypr/scripts/old/ml4w/wallpaper-automation.sh b/.config/hypr/scripts/old/ml4w/wallpaper-automation.sh
new file mode 100755
index 0000000..c00535f
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/wallpaper-automation.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh)
+_setWallpaperRandomly() {
+ waypaper --random
+ echo ":: Next wallpaper in 60 seconds..."
+ sleep $sec
+ _setWallpaperRandomly
+}
+
+if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ] ;then
+ touch ~/.config/ml4w/cache/wallpaper-automation
+ echo ":: Start wallpaper automation script"
+ notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds."
+ _setWallpaperRandomly
+else
+ rm ~/.config/ml4w/cache/wallpaper-automation
+ notify-send "Wallpaper automation process stopped."
+ echo ":: Wallpaper automation script process $wp stopped"
+ wp=$(pgrep -f wallpaper-automation.sh)
+ kill -KILL $wp
+fi
diff --git a/.config/hypr/scripts/old/ml4w/wallpaper-cache.sh b/.config/hypr/scripts/old/ml4w/wallpaper-cache.sh
new file mode 100755
index 0000000..899a06a
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/wallpaper-cache.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated"
+rm $generated_versions/*
+echo ":: Wallpaper cache cleared"
+notify-send "Wallpaper cache cleared"
\ No newline at end of file
diff --git a/.config/hypr/scripts/old/ml4w/wallpaper-effects.sh b/.config/hypr/scripts/old/ml4w/wallpaper-effects.sh
new file mode 100755
index 0000000..94f55cd
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/wallpaper-effects.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# Open rofi to select the Hyprshade filter for toggle
+options="$(ls ~/.config/hypr/effects/wallpaper/)\noff"
+
+# Open rofi
+choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade")
+if [ ! -z $choice ] ;then
+ echo "$choice" > ~/.config/ml4w/settings/wallpaper-effect.sh
+ dunstify "Changing Wallpaper Effect to " "$choice"
+ ~/.config/hypr/scripts/wallpaper.sh
+fi
diff --git a/.config/hypr/scripts/old/ml4w/wallpaper.sh b/.config/hypr/scripts/old/ml4w/wallpaper.sh
new file mode 100755
index 0000000..2e1ddf5
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/wallpaper.sh
@@ -0,0 +1,152 @@
+#!/bin/bash
+# -----------------------------------------------------
+# Check to use wallpaper cache
+# -----------------------------------------------------
+
+use_cache=0
+if [ -f ~/.config/ml4w/settings/wallpaper_cache ] ;then
+ use_cache=1
+fi
+
+if [ "$use_cache" == "1" ] ;then
+ echo ":: Using Wallpaper Cache"
+else
+ echo ":: Wallpaper Cache disabled"
+fi
+
+# -----------------------------------------------------
+# Set defaults
+# -----------------------------------------------------
+
+force_generate=0
+generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated"
+cache_file="$HOME/.config/ml4w/cache/current_wallpaper"
+blurred_wallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png"
+square_wallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png"
+rasi_file="$HOME/.config/ml4w/cache/current_wallpaper.rasi"
+blur_file="$HOME/.config/ml4w/settings/blur.sh"
+default_wallpaper="$HOME/wallpaper/default.jpg"
+wallpaper_effect="$HOME/.config/ml4w/settings/wallpaper-effect.sh"
+blur="50x30"
+blur=$(cat $blur_file)
+
+# Create folder with generated versions of wallpaper if not exists
+if [ ! -d $generated_versions ] ;then
+ mkdir $generated_versions
+fi
+
+# -----------------------------------------------------
+# Get selected wallpaper
+# -----------------------------------------------------
+
+if [ -z $1 ] ;then
+ if [ -f $cache_file ] ;then
+ wallpaper=$(cat $cache_file)
+ else
+ wallpaper=$default_wallpaper
+ fi
+else
+ wallpaper=$1
+fi
+used_wallpaper=$wallpaper
+echo ":: Setting wallpaper with original image $wallpaper"
+tmp_wallpaper=$wallpaper
+
+# -----------------------------------------------------
+# Copy path of current wallpaper to cache file
+# -----------------------------------------------------
+
+if [ ! -f $cache_file ] ;then
+ touch $cache_file
+fi
+echo "$wallpaper" > $cache_file
+echo ":: Path of current wallpaper copied to $cache_file"
+
+# -----------------------------------------------------
+# Get wallpaper filename
+# -----------------------------------------------------
+wallpaper_filename=$(basename $wallpaper)
+echo ":: Wallpaper Filename: $wallpaper_filename"
+
+# -----------------------------------------------------
+# Wallpaper Effects
+# -----------------------------------------------------
+
+if [ -f $wallpaper_effect ] ;then
+ effect=$(cat $wallpaper_effect)
+ if [ ! "$effect" == "off" ] ;then
+ used_wallpaper=$generated_versions/$effect-$wallpaper_filename
+ if [ -f $generated_versions/$effect-$wallpaper_filename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ] ;then
+ echo ":: Use cached wallpaper $effect-$wallpaper_filename"
+ else
+ echo ":: Generate new cached wallpaper $effect-$wallpaper_filename with effect $effect"
+ dunstify "Using wallpaper effect $effect..." "with image $wallpaper_filename" -h int:value:10 -h string:x-dunst-stack-tag:wallpaper
+ source $HOME/.config/hypr/effects/wallpaper/$effect
+ fi
+ echo ":: Loading wallpaper $generated_versions/$effect-$wallpaper_filename with effect $effect"
+ else
+ echo ":: Wallpaper effect is set to off"
+ fi
+fi
+
+# -----------------------------------------------------
+# Execute pywal
+# -----------------------------------------------------
+
+echo ":: Execute pywal with $used_wallpaper"
+wal -q -i $used_wallpaper
+source "$HOME/.cache/wal/colors.sh"
+
+# -----------------------------------------------------
+# Write hyprpaper.conf
+# -----------------------------------------------------
+
+echo ":: Setting wallpaper with $used_wallpaper"
+killall -e hyprpaper &
+sleep 1;
+wal_tpl=$(cat $HOME/.config/ml4w/settings/hyprpaper.tpl)
+output=${wal_tpl//WALLPAPER/$used_wallpaper}
+echo "$output" > $HOME/.config/hypr/hyprpaper.conf
+hyprpaper & > /dev/null 2>&1
+
+# -----------------------------------------------------
+# Reload Waybar
+# -----------------------------------------------------
+~/.config/waybar/launch.sh
+
+# -----------------------------------------------------
+# Reload AGS
+# -----------------------------------------------------
+killall ags
+ags &
+
+# -----------------------------------------------------
+# Created blurred wallpaper
+# -----------------------------------------------------
+
+echo ":: Generate new cached wallpaper blur-$blur-$wallpaper_filename with blur $blur"
+magick $used_wallpaper -resize 75% $blurred_wallpaper
+echo ":: Resized to 75%"
+if [ ! "$blur" == "0x0" ] ;then
+ magick $blurred_wallpaper -blur $blur $blurred_wallpaper
+ cp $blurred_wallpaper $generated_versions/blur-$blur-$wallpaper_filename.png
+ echo ":: Blurred"
+fi
+cp $generated_versions/blur-$blur-$wallpaper_filename.png $blurred_wallpaper
+
+# -----------------------------------------------------
+# Create rasi file
+# -----------------------------------------------------
+
+if [ ! -f $rasi_file ] ;then
+ touch $rasi_file
+fi
+echo "* { current-image: url(\"$blurred_wallpaper\", height); }" > "$rasi_file"
+
+# -----------------------------------------------------
+# Created square wallpaper
+# -----------------------------------------------------
+
+echo ":: Generate new cached wallpaper square-$wallpaper_filename"
+magick $tmp_wallpaper -gravity Center -extent 1:1 $square_wallpaper
+cp $square_wallpaper $generated_versions/square-$wallpaper_filename.png
diff --git a/.config/hypr/scripts/old/ml4w/xdg.sh b/.config/hypr/scripts/old/ml4w/xdg.sh
new file mode 100755
index 0000000..eab1eb0
--- /dev/null
+++ b/.config/hypr/scripts/old/ml4w/xdg.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+sleep 1
+
+# kill all possible running xdg-desktop-portals
+killall -e xdg-desktop-portal-hyprland
+killall -e xdg-desktop-portal-gnome
+killall -e xdg-desktop-portal-kde
+killall -e xdg-desktop-portal-lxqt
+killall -e xdg-desktop-portal-wlr
+killall -e xdg-desktop-portal-gtk
+killall -e xdg-desktop-portal
+sleep 1
+
+# start xdg-desktop-portal-hyprland
+/usr/lib/xdg-desktop-portal-hyprland &
+sleep 2
+
+# start xdg-desktop-portal
+/usr/lib/xdg-desktop-portal &
+sleep 1
diff --git a/.config/hypr/scripts/old/other/Sync_Src&Dest-Folders.py b/.config/hypr/scripts/old/other/Sync_Src&Dest-Folders.py
new file mode 100644
index 0000000..caafc16
--- /dev/null
+++ b/.config/hypr/scripts/old/other/Sync_Src&Dest-Folders.py
@@ -0,0 +1,59 @@
+import os
+from datetime import datetime
+import shutil
+import re
+
+FOLDERS = [
+ "/home/inorishio/.config/nvim/",
+ "/home/inorishio/.config/hypr/",
+ "/home/inorishio/.config/yay",
+ "/home/inorishio/.config/zshrc/",
+ "/home/inorishio/.config/zellij/",
+ "/home/inorishio/.config/ohmyposh/",
+ "/home/inorishio/.config/fastfetch/"
+]
+GITREPO = "/home/inorishio/Documents/Git/Hyprland/Programs/"
+
+EXCLUDE_PATTERN = re.compile(r'.*\.git$')
+
+def get_file_date(filepath):
+ return os.path.getmtime(filepath)
+
+def sync_folders():
+ for folder in FOLDERS:
+ if not os.path.exists(folder):
+ continue
+
+ for root, _, files in os.walk(folder):
+ for file in files:
+ source_path = os.path.join(root, file)
+
+ # Apply regex pattern to exclude files
+ if EXCLUDE_PATTERN.match(file):
+ continue
+
+ # Create corresponding path in GITREPO
+ relative_path = os.path.relpath(source_path, folder)
+ dest_path = os.path.join(GITREPO, relative_path)
+
+ # Ensure destination directory exists
+ os.makedirs(os.path.dirname(dest_path), exist_ok=True)
+
+ try:
+ # Compare modification times
+ if os.path.exists(dest_path):
+ source_time = get_file_date(source_path)
+ dest_time = get_file_date(dest_path)
+
+ if source_time > dest_time:
+ shutil.copy2(source_path, dest_path)
+ elif dest_time > source_time:
+ shutil.copy2(dest_path, source_path)
+ else:
+ # If file doesn't exist in destination, copy it
+ shutil.copy2(source_path, dest_path)
+ except Exception as e:
+ print(f"Error copying file {source_path} to {dest_path}: {e}")
+
+if __name__ == "__main__":
+ sync_folders()
diff --git a/.config/hypr/scripts/old/other/osu.sh b/.config/hypr/scripts/old/other/osu.sh
new file mode 100755
index 0000000..e4efde4
--- /dev/null
+++ b/.config/hypr/scripts/old/other/osu.sh
@@ -0,0 +1,2 @@
+!/bin/zsh
+SDL_VIDEODRIVER='' gamemoderun gamescope ~/Games/osu/osu.AppImage