From 567faff34e98b34cd13192c722da42fb88100900 Mon Sep 17 00:00:00 2001 From: Zacharias-Brohn Date: Mon, 19 Jan 2026 18:40:28 +0100 Subject: [PATCH] test --- .config/hypr/application-style.conf | 1 + .config/hypr/colorschemes/mocha.conf | 77 ++++++ .config/hypr/conf/animation.conf | 1 + .config/hypr/conf/animations/default.conf | 22 ++ .config/hypr/conf/autostart.conf | 24 ++ .config/hypr/conf/cursor.conf | 1 + .config/hypr/conf/custom.conf | 46 ++++ .config/hypr/conf/decoration.conf | 1 + .config/hypr/conf/decorations/default.conf | 51 ++++ .config/hypr/conf/environment.conf | 1 + .config/hypr/conf/keybinding.conf | 1 + .config/hypr/conf/keybindings/default.conf | 101 +++++++ .config/hypr/conf/keyboard.conf | 22 ++ .config/hypr/conf/layout.conf | 1 + .config/hypr/conf/layouts/default.conf | 23 ++ .config/hypr/conf/misc.conf | 8 + .config/hypr/conf/ml4w.conf | 44 ++++ .config/hypr/conf/monitor.conf | 1 + .config/hypr/conf/monitors/default.conf | 28 ++ .config/hypr/conf/permissions.conf | 1 + .config/hypr/conf/plugins.conf | 5 + .config/hypr/conf/restorevariations.sh | 51 ++++ .config/hypr/conf/rules/layerrules.conf | 13 + .config/hypr/conf/rules/windowrules.conf | 53 ++++ .config/hypr/conf/windowrule.conf | 2 + .config/hypr/effects/wallpaper/blackwhite | 1 + .../hypr/effects/wallpaper/blackwhite-blur | 2 + .../effects/wallpaper/blackwhite-brightness40 | 2 + .../effects/wallpaper/blackwhite-brightness60 | 2 + .../effects/wallpaper/blackwhite-brightness80 | 2 + .config/hypr/effects/wallpaper/blur1 | 1 + .../hypr/effects/wallpaper/blur1-brightness40 | 2 + .../hypr/effects/wallpaper/blur1-brightness60 | 2 + .../hypr/effects/wallpaper/blur1-brightness80 | 2 + .config/hypr/effects/wallpaper/blur2 | 1 + .config/hypr/effects/wallpaper/negate | 1 + .../effects/wallpaper/negate-brightness40 | 2 + .../effects/wallpaper/negate-brightness60 | 2 + .../effects/wallpaper/negate-brightness80 | 2 + .config/hypr/hypridle.conf | 11 + .config/hypr/hyprland.conf | 67 +++++ .config/hypr/hyprlauncher.conf | 9 + .config/hypr/hyprqt6engine.conf | 6 + .config/hypr/hyprsunset.conf | 11 + .config/hypr/hyprtoolkit.conf | 1 + .config/hypr/scheme/current.conf | 110 ++++++++ .config/hypr/scripts/closeapp.sh | 7 + .config/hypr/scripts/daivin.sh | 32 +++ .config/hypr/scripts/diagnosis.sh | 53 ++++ .config/hypr/scripts/disabledm.sh | 24 ++ .config/hypr/scripts/dunst-nc.sh | 12 + .config/hypr/scripts/fabric-launcher.sh | 5 + .config/hypr/scripts/gamemode.sh | 25 ++ .config/hypr/scripts/gtk.sh | 34 +++ .config/hypr/scripts/hypridle.sh | 25 ++ .config/hypr/scripts/hyprshade.sh | 56 ++++ .config/hypr/scripts/init-wallpaper-engine.sh | 26 ++ .config/hypr/scripts/keybindings.sh | 47 ++++ .config/hypr/scripts/keybindtestscript.sh | 7 + .config/hypr/scripts/loadconfig.sh | 2 + .config/hypr/scripts/magic.sh | 9 + .config/hypr/scripts/mic-vol-percent.sh | 14 + .config/hypr/scripts/monitor-fix-nvidia.sh | 5 + .config/hypr/scripts/moveTo.sh | 48 ++++ .config/hypr/scripts/power.sh | 56 ++++ .config/hypr/scripts/restart-hypridle.sh | 5 + .config/hypr/scripts/restart-qs.sh | 7 + .config/hypr/scripts/screencast-inhib.sh | 16 ++ .config/hypr/scripts/screenshot.sh | 224 ++++++++++++++++ .config/hypr/scripts/skill-issue.sh | 247 ++++++++++++++++++ .config/hypr/scripts/terminal.sh | 3 + .config/hypr/scripts/testscript.sh | 20 ++ .config/hypr/scripts/testvenv.sh | 5 + .config/hypr/scripts/toggle-animations.sh | 13 + .config/hypr/scripts/toggleallfloat.sh | 10 + .config/hypr/scripts/vol-percent.sh | 14 + .config/hypr/scripts/wait-for-hyprland.sh | 17 ++ .config/hypr/scripts/wallpaper-automation.sh | 28 ++ .config/hypr/scripts/wallpaper-cache.sh | 5 + .config/hypr/scripts/wallpaper-effects.sh | 18 ++ .config/hypr/scripts/wallpaper.sh | 159 +++++++++++ .config/hypr/scripts/xdg.sh | 27 ++ .config/hypr/shaders/invert-colors.glsl | 8 + .config/hypr/xdph.conf | 3 + .config/z-bar/config.json | 48 ++++ 85 files changed, 2182 insertions(+) create mode 100644 .config/hypr/application-style.conf create mode 100644 .config/hypr/colorschemes/mocha.conf create mode 100644 .config/hypr/conf/animation.conf create mode 100644 .config/hypr/conf/animations/default.conf create mode 100644 .config/hypr/conf/autostart.conf create mode 100644 .config/hypr/conf/cursor.conf create mode 100644 .config/hypr/conf/custom.conf create mode 100644 .config/hypr/conf/decoration.conf create mode 100644 .config/hypr/conf/decorations/default.conf create mode 100644 .config/hypr/conf/environment.conf create mode 100644 .config/hypr/conf/keybinding.conf create mode 100644 .config/hypr/conf/keybindings/default.conf create mode 100644 .config/hypr/conf/keyboard.conf create mode 100644 .config/hypr/conf/layout.conf create mode 100644 .config/hypr/conf/layouts/default.conf create mode 100644 .config/hypr/conf/misc.conf create mode 100644 .config/hypr/conf/ml4w.conf create mode 100644 .config/hypr/conf/monitor.conf create mode 100644 .config/hypr/conf/monitors/default.conf create mode 100644 .config/hypr/conf/permissions.conf create mode 100644 .config/hypr/conf/plugins.conf create mode 100755 .config/hypr/conf/restorevariations.sh create mode 100644 .config/hypr/conf/rules/layerrules.conf create mode 100644 .config/hypr/conf/rules/windowrules.conf create mode 100644 .config/hypr/conf/windowrule.conf create mode 100644 .config/hypr/effects/wallpaper/blackwhite create mode 100644 .config/hypr/effects/wallpaper/blackwhite-blur create mode 100644 .config/hypr/effects/wallpaper/blackwhite-brightness40 create mode 100644 .config/hypr/effects/wallpaper/blackwhite-brightness60 create mode 100644 .config/hypr/effects/wallpaper/blackwhite-brightness80 create mode 100644 .config/hypr/effects/wallpaper/blur1 create mode 100644 .config/hypr/effects/wallpaper/blur1-brightness40 create mode 100644 .config/hypr/effects/wallpaper/blur1-brightness60 create mode 100644 .config/hypr/effects/wallpaper/blur1-brightness80 create mode 100644 .config/hypr/effects/wallpaper/blur2 create mode 100644 .config/hypr/effects/wallpaper/negate create mode 100644 .config/hypr/effects/wallpaper/negate-brightness40 create mode 100644 .config/hypr/effects/wallpaper/negate-brightness60 create mode 100644 .config/hypr/effects/wallpaper/negate-brightness80 create mode 100644 .config/hypr/hypridle.conf create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/hyprlauncher.conf create mode 100644 .config/hypr/hyprqt6engine.conf create mode 100644 .config/hypr/hyprsunset.conf create mode 100644 .config/hypr/hyprtoolkit.conf create mode 100644 .config/hypr/scheme/current.conf create mode 100755 .config/hypr/scripts/closeapp.sh create mode 100644 .config/hypr/scripts/daivin.sh create mode 100755 .config/hypr/scripts/diagnosis.sh create mode 100755 .config/hypr/scripts/disabledm.sh create mode 100755 .config/hypr/scripts/dunst-nc.sh create mode 100755 .config/hypr/scripts/fabric-launcher.sh create mode 100755 .config/hypr/scripts/gamemode.sh create mode 100755 .config/hypr/scripts/gtk.sh create mode 100755 .config/hypr/scripts/hypridle.sh create mode 100755 .config/hypr/scripts/hyprshade.sh create mode 100755 .config/hypr/scripts/init-wallpaper-engine.sh create mode 100755 .config/hypr/scripts/keybindings.sh create mode 100755 .config/hypr/scripts/keybindtestscript.sh create mode 100755 .config/hypr/scripts/loadconfig.sh create mode 100755 .config/hypr/scripts/magic.sh create mode 100755 .config/hypr/scripts/mic-vol-percent.sh create mode 100755 .config/hypr/scripts/monitor-fix-nvidia.sh create mode 100755 .config/hypr/scripts/moveTo.sh create mode 100755 .config/hypr/scripts/power.sh create mode 100755 .config/hypr/scripts/restart-hypridle.sh create mode 100755 .config/hypr/scripts/restart-qs.sh create mode 100755 .config/hypr/scripts/screencast-inhib.sh create mode 100755 .config/hypr/scripts/screenshot.sh create mode 100755 .config/hypr/scripts/skill-issue.sh create mode 100755 .config/hypr/scripts/terminal.sh create mode 100755 .config/hypr/scripts/testscript.sh create mode 100755 .config/hypr/scripts/testvenv.sh create mode 100755 .config/hypr/scripts/toggle-animations.sh create mode 100755 .config/hypr/scripts/toggleallfloat.sh create mode 100755 .config/hypr/scripts/vol-percent.sh create mode 100755 .config/hypr/scripts/wait-for-hyprland.sh create mode 100755 .config/hypr/scripts/wallpaper-automation.sh create mode 100755 .config/hypr/scripts/wallpaper-cache.sh create mode 100755 .config/hypr/scripts/wallpaper-effects.sh create mode 100755 .config/hypr/scripts/wallpaper.sh create mode 100755 .config/hypr/scripts/xdg.sh create mode 100644 .config/hypr/shaders/invert-colors.glsl create mode 100644 .config/hypr/xdph.conf create mode 100644 .config/z-bar/config.json diff --git a/.config/hypr/application-style.conf b/.config/hypr/application-style.conf new file mode 100644 index 0000000..484e453 --- /dev/null +++ b/.config/hypr/application-style.conf @@ -0,0 +1 @@ +roundness = 3 diff --git a/.config/hypr/colorschemes/mocha.conf b/.config/hypr/colorschemes/mocha.conf new file mode 100644 index 0000000..2b80922 --- /dev/null +++ b/.config/hypr/colorschemes/mocha.conf @@ -0,0 +1,77 @@ +$rosewater = rgb(f5e0dc) +$rosewaterAlpha = f5e0dc + +$flamingo = rgb(f2cdcd) +$flamingoAlpha = f2cdcd + +$pink = rgb(f5c2e7) +$pinkAlpha = f5c2e7 + +$mauve = rgb(cba6f7) +$mauveAlpha = cba6f7 + +$red = rgb(f38ba8) +$redAlpha = f38ba8 + +$maroon = rgb(eba0ac) +$maroonAlpha = eba0ac + +$peach = rgb(fab387) +$peachAlpha = fab387 + +$yellow = rgb(f9e2af) +$yellowAlpha = f9e2af + +$green = rgb(a6e3a1) +$greenAlpha = a6e3a1 + +$teal = rgb(94e2d5) +$tealAlpha = 94e2d5 + +$sky = rgb(89dceb) +$skyAlpha = 89dceb + +$sapphire = rgb(74c7ec) +$sapphireAlpha = 74c7ec + +$blue = rgb(89b4fa) +$blueAlpha = 89b4fa + +$lavender = rgb(b4befe) +$lavenderAlpha = b4befe + +$text = rgb(cdd6f4) +$textAlpha = cdd6f4 + +$subtext1 = rgb(bac2de) +$subtext1Alpha = bac2de + +$subtext0 = rgb(a6adc8) +$subtext0Alpha = a6adc8 + +$overlay2 = rgb(9399b2) +$overlay2Alpha = 9399b2 + +$overlay1 = rgb(7f849c) +$overlay1Alpha = 7f849c + +$overlay0 = rgb(6c7086) +$overlay0Alpha = 6c7086 + +$surface2 = rgb(585b70) +$surface2Alpha = 585b70 + +$surface1 = rgb(45475a) +$surface1Alpha = 45475a + +$surface0 = rgb(313244) +$surface0Alpha = 313244 + +$base = rgb(1e1e2e) +$baseAlpha = 1e1e2e + +$mantle = rgb(181825) +$mantleAlpha = 181825 + +$crust = rgb(11111b) +$crustAlpha = 11111b diff --git a/.config/hypr/conf/animation.conf b/.config/hypr/conf/animation.conf new file mode 100644 index 0000000..a210389 --- /dev/null +++ b/.config/hypr/conf/animation.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/animations/default.conf diff --git a/.config/hypr/conf/animations/default.conf b/.config/hypr/conf/animations/default.conf new file mode 100644 index 0000000..85182a4 --- /dev/null +++ b/.config/hypr/conf/animations/default.conf @@ -0,0 +1,22 @@ +# ----------------------------------------------------- +# 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 = fade, 1, 4, default + animation = workspaces, 1, 4, wind, slide + animation = specialWorkspace, 1, 4, wind, slide + animation = fadeLayers, 0 + animation = fadePopups, 0 +} diff --git a/.config/hypr/conf/autostart.conf b/.config/hypr/conf/autostart.conf new file mode 100644 index 0000000..df00d70 --- /dev/null +++ b/.config/hypr/conf/autostart.conf @@ -0,0 +1,24 @@ +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- + +exec-once = uwsm app -S out -- qs -p ~/GitProjects/z-bar-qt/shell.qml + +exec-once = [workspace 1] sleep 3s && uwsm app -S out -- discord --enable-features=WaylandLinuxDrmSyncobj +exec-once = [workspace 3 silent] sleep 3s && uwsm app -S out -- openrgb +exec-once = [workspace 2 silent] sleep 3s && uwsm app -S out -- keepassxc +# exec-once = [workspace 1 silent] sleep 3s && uwsm app -S out -- 64gram-desktop +exec-once = [workspace 1 silent] sleep 3s && uwsm app -S out -- AyuGram +exec-once = [workspace 3 silent] sleep 3s && uwsm app -S out -- solaar +exec-once = [workspace 2 silent] sleep 3s && uwsm app -S out -- librewolf +exec-once = uwsm app -S out -- kbuildsycoca6 + +# exec-once = sleep 3s && uwsm app -S out -- ~/.config/cronjobscripts/color-scheme.sh + +# Load GTK settings +exec-once = uwsm app -S out -- ~/.config/hypr/scripts/gtk.sh + +# Load cliphist history +exec-once = uwsm app -S out -- wl-paste --watch cliphist store + +# exec-once = hyprpm reload diff --git a/.config/hypr/conf/cursor.conf b/.config/hypr/conf/cursor.conf new file mode 100644 index 0000000..1c7dc37 --- /dev/null +++ b/.config/hypr/conf/cursor.conf @@ -0,0 +1 @@ +exec-once = hyprctl setcursor BreezeX-RosePine-Linux 28 diff --git a/.config/hypr/conf/custom.conf b/.config/hypr/conf/custom.conf new file mode 100644 index 0000000..0fea98e --- /dev/null +++ b/.config/hypr/conf/custom.conf @@ -0,0 +1,46 @@ +xwayland { + use_nearest_neighbor = true + force_zero_scaling = true + create_abstract_socket = true +} + +workspace = 1, monitor:DP-2 +workspace = 2, monitor:DP-1 +workspace = 3, monitor:DP-3 + +render { + direct_scanout = 1 + new_render_scheduling = true + ctm_animation = false +} + +cursor { + sync_gsettings_theme = true + no_hardware_cursors = false + use_cpu_buffer = 2 + default_monitor = DP-2 +} + +ecosystem { + no_donation_nag = true +} + +misc { + disable_splash_rendering = false + vfr = true + vrr = 3 + animate_manual_resizes = true + animate_mouse_windowdragging = false + anr_missed_pings = 20 + size_limits_tiled = true + allow_session_lock_restore = true + session_lock_xray = false +} + +experimental { + # xx_color_management_v4 = false +} + +debug { + full_cm_proto = true +} diff --git a/.config/hypr/conf/decoration.conf b/.config/hypr/conf/decoration.conf new file mode 100644 index 0000000..9e49187 --- /dev/null +++ b/.config/hypr/conf/decoration.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/decorations/default.conf \ No newline at end of file diff --git a/.config/hypr/conf/decorations/default.conf b/.config/hypr/conf/decorations/default.conf new file mode 100644 index 0000000..a2736ff --- /dev/null +++ b/.config/hypr/conf/decorations/default.conf @@ -0,0 +1,51 @@ +# ----------------------------------------------------- +# General window decoration +# name: "Default" +# ----------------------------------------------------- +general { + border_size = 1 + col.inactive_border = rgba(d50000ff) rgba(c300afff) 90deg + col.active_border = rgba(00cdffff) rgba(00ff80ff) 90deg + gaps_in = 2 + gaps_out = 4 + layout = dwindle + resize_on_border = true + allow_tearing = true +} + +decoration { + rounding = 6 + rounding_power = 2 + blur { + enabled = true + size = 6 + passes = 2 + new_optimizations = on + ignore_opacity = true + contrast = 1.0 + brightness = 1.0 + vibrancy = 0 + vibrancy_darkness = 0 + xray = false + noise = 0.05 + 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 + } +} + +windowrulev2 = nodim 1, fullscreenstate:* 2 diff --git a/.config/hypr/conf/environment.conf b/.config/hypr/conf/environment.conf new file mode 100644 index 0000000..0188687 --- /dev/null +++ b/.config/hypr/conf/environment.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/environments/default.conf \ No newline at end of file diff --git a/.config/hypr/conf/keybinding.conf b/.config/hypr/conf/keybinding.conf new file mode 100644 index 0000000..b3b4d58 --- /dev/null +++ b/.config/hypr/conf/keybinding.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/keybindings/default.conf \ No newline at end of file diff --git a/.config/hypr/conf/keybindings/default.conf b/.config/hypr/conf/keybindings/default.conf new file mode 100644 index 0000000..9c2f369 --- /dev/null +++ b/.config/hypr/conf/keybindings/default.conf @@ -0,0 +1,101 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER + +# Applications +# bind = $mainMod, RETURN, plugin:xtd:moveorexec, class:kitty,app2unit -- kitty -o allow_remote_control=yes --single-instance --listen-on unix:@mykitty +bind = $mainMod, RETURN, exec, app2unit -- zterm +bind = $mainMod, B, exec, uwsm-app -S out -- librewolf +bind = $mainMod, E, exec, uwsm-app -S out -- dolphin +bind = $mainMod CTRL, E, exec, uwsm-app -S out -- hyprlauncher +bind = $mainMod CTRL SHIFT, S, toggleswallow +bind = $mainMod CTRL ALT, O, exec, uwsm-app -S out -- ~/.config/hypr/scripts/keybindtestscript.sh + +# Windows +# bind = $mainMod, Q, exec, uwsm-app -S out -- ~/.config/hypr/scripts/closeapp.sh +bind = $mainMod, Q, exec, hyprctl dispatch killactive +bind = $mainMod, F, fullscreen +bind = $mainMod, T, togglefloating +bind = $mainMod, J, togglesplit +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +bind = $mainMod SHIFT, right, resizeactive, 100 0 +bind = $mainMod SHIFT, left, resizeactive, -100 0 +bind = $mainMod SHIFT, down, resizeactive, 0 100 +bind = $mainMod SHIFT, up, resizeactive, 0 -100 +bind = $mainMod, G, togglegroup +bind = $mainMod, K, swapsplit +bind = $mainMod CTRL, up, swapwindow, u +bind = $mainMod CTRL, down, swapwindow, d +bind = $mainMod CTRL, left, swapwindow, l +bind = $mainMod CTRL, right, swapwindow, r +bind = $mainMod, M, movetoworkspacesilent, special:minimized +bind = $mainMod CTRL, M, togglespecialworkspace, minimized +bind = $mainMod CTRL, M, submap, minimized +submap = minimized +bind = , Return, movetoworkspace, +0 +bind = , Return, submap, reset +bind = , mouse:272, movetoworkspace, +0 +bind = , mouse:272, submap, reset +bind = , escape, togglespecialworkspace, minimized +bind = , escape, submap, reset +submap = reset + +# Toggle mic mute +bind = CTRL SHIFT, M, exec, /home/zach/.config/cronjobscripts/wpctl-mute.sh + +# Actions +bind = $mainMod CTRL, L, global, zshell-lock:lock +bind = $mainMod CTRL, U, global, zshell-lock:unlock + +bind = $mainMod CTRL, RETURN, global, z-cast:toggle-launcher +bind = $mainMod CTRL SHIFT, R, exec, killall qs; sleep 0.5s; uwsm-app -S out -- qs -p ~/GitProjects/z-bar-qt/shell.qml +bind = $mainMod CTRL, V, exec, uwsm-app -S out -- cliphist list | fuzzel --dmenu | cliphist decode | wl-copy +bind = , PRINT, global, ZShell:screenshotFreeze + +bind = $mainMod, P, exec, uwsm-app -S out -- hyprpicker -a --format=hex + +bind = , code:171, exec, uwsm-app -S out -- ddcutil setvcp 10 + 20 --enable-dynamic-sleep --skip-ddc-checks --bus=7 && ddcutil setvcp 10 + 20 --enable-dynamic-sleep --skip-ddc-checks --bus=6 +bind = , code:173, exec, uwsm-app -S out -- ddcutil setvcp 10 - 20 --enable-dynamic-sleep --skip-ddc-checks --bus=7 && ddcutil setvcp 10 - 20 --enable-dynamic-sleep --skip-ddc-checks --bus=6 + +bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+ --limit 1.0 +bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- --limit 1.0 + +# 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 + +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 + +bind = $mainMod, Tab, workspace, m+1 +bind = $mainMod SHIFT, Tab, workspace, m-1 + +# Fn keys + +bind = , code:238, exec, uwsm-app -S out -- brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, uwsm-app -S out -- brightnessctl -d smc::kbd_backlight s 10- diff --git a/.config/hypr/conf/keyboard.conf b/.config/hypr/conf/keyboard.conf new file mode 100644 index 0000000..eee5219 --- /dev/null +++ b/.config/hypr/conf/keyboard.conf @@ -0,0 +1,22 @@ +# ----------------------------------------------------- +# Keyboard Layout +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- +input { + kb_layout = se,us + kb_variant = + kb_model = + kb_options = grp:win_space_toggle + numlock_by_default = true + mouse_refocus = false + + sensitivity = 0.1 + accel_profile = flat + follow_mouse = 1 + follow_mouse_threshold = 2 + focus_on_close = 1 +} + +# gestures { +# workspace_swipe = true +# } diff --git a/.config/hypr/conf/layout.conf b/.config/hypr/conf/layout.conf new file mode 100644 index 0000000..e009ed3 --- /dev/null +++ b/.config/hypr/conf/layout.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/layouts/default.conf \ No newline at end of file diff --git a/.config/hypr/conf/layouts/default.conf b/.config/hypr/conf/layouts/default.conf new file mode 100644 index 0000000..b69efd1 --- /dev/null +++ b/.config/hypr/conf/layouts/default.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +# gestures { +# workspace_swipe = false +# } + +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..50b28d5 --- /dev/null +++ b/.config/hypr/conf/misc.conf @@ -0,0 +1,8 @@ +# ----------------------------------------------------- +# Misc settings +# ----------------------------------------------------- + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true +} diff --git a/.config/hypr/conf/ml4w.conf b/.config/hypr/conf/ml4w.conf new file mode 100644 index 0000000..911ad55 --- /dev/null +++ b/.config/hypr/conf/ml4w.conf @@ -0,0 +1,44 @@ +# ----------------------------------------------------- +# ML4W configurations +# ----------------------------------------------------- + +# 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.*) + +# HyprPwCenter floating +windowrule = float on,match:class (hyprpwcenter) +windowrule = size 700 600,match:class (hyprpwcenter) +windowrule = center on,match:class (hyprpwcenter) +windowrule = pin on,match:class (hyprpwcenter) + +# KeePassXC floating +windowrule = float on,match:class (.*org.keepassxc.KeePassXC) +windowrule = center on,match:class (.*org.keepassxc.KeePassXC) +windowrule = pin on,match:class (.*org.keepassxc.KeePassXC) +windowrule = size 1000 700,match:class (.*org.keepassxc.KeePassXC) + +# ML4W Welcome App floating +windowrule = float on,match:class (.*waypaper.*) +windowrule = size 800 700,match:class (.*waypaper.*) +windowrule = center on,match:class (.*waypaper.*) +windowrule = pin on,match:class (.*waypaper.*) + +# System Mission Center +windowrule = float on, match:class (io.missioncenter.MissionCenter) +windowrule = pin on, match:class (io.missioncenter.MissionCenter) +windowrule = center on, match:class (io.missioncenter.MissionCenter) +windowrule = size 900 600, match:class (io.missioncenter.MissionCenter) + +# System Mission Center Preference Window +windowrule = float on, match:class (missioncenter),match:title ^(Preferences)$ +windowrule = pin on, match:class (missioncenter),match:title ^(Preferences)$ +windowrule = center on, match:class (missioncenter),match:title ^(Preferences)$ + +# Hyprland Share Picker +windowrule = float on, match:class (hyprland-share-picker) +windowrule = pin on, match:class (hyprland-share-picker) +windowrule = center on,match:class (hyprland-share-picker) +windowrule = size 600 400,match:class (hyprland-share-picker) diff --git a/.config/hypr/conf/monitor.conf b/.config/hypr/conf/monitor.conf new file mode 100644 index 0000000..5b3f3c8 --- /dev/null +++ b/.config/hypr/conf/monitor.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/monitors/default.conf diff --git a/.config/hypr/conf/monitors/default.conf b/.config/hypr/conf/monitors/default.conf new file mode 100644 index 0000000..ad1d114 --- /dev/null +++ b/.config/hypr/conf/monitors/default.conf @@ -0,0 +1,28 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Default" +# ----------------------------------------------------- + +monitorv2 { + output = DP-1 + mode = 2560x1440@144 + position = 0x0 + scale = 1 + cm = auto +} + +monitorv2 { + output = DP-2 + mode = 3840x2160 + position = auto-center-left + scale = 1.5 + cm = auto +} + +monitorv2 { + output = DP-3 + mode = 2560x1440@165 + position = auto-center-right + scale = 1 + cm = auto +} diff --git a/.config/hypr/conf/permissions.conf b/.config/hypr/conf/permissions.conf new file mode 100644 index 0000000..3f694be --- /dev/null +++ b/.config/hypr/conf/permissions.conf @@ -0,0 +1 @@ +permission = /usr/(bin|local/bin)/hyprpm, plugin, allow diff --git a/.config/hypr/conf/plugins.conf b/.config/hypr/conf/plugins.conf new file mode 100644 index 0000000..b19895d --- /dev/null +++ b/.config/hypr/conf/plugins.conf @@ -0,0 +1,5 @@ +Plugin { + darkwindow { + + } +} diff --git a/.config/hypr/conf/restorevariations.sh b/.config/hypr/conf/restorevariations.sh new file mode 100755 index 0000000..1036160 --- /dev/null +++ b/.config/hypr/conf/restorevariations.sh @@ -0,0 +1,51 @@ +#!/bin/bash +clear +cat <<"EOF" + ____ _ +| _ \ ___ ___| |_ ___ _ __ ___ +| |_) / _ \/ __| __/ _ \| '__/ _ \ +| _ < __/\__ \ || (_) | | | __/ +|_| \_\___||___/\__\___/|_| \___| + +__ __ _ _ _ +\ \ / /_ _ _ __(_) __ _| |_(_) ___ _ __ ___ + \ \ / / _` | '__| |/ _` | __| |/ _ \| '_ \/ __| + \ V / (_| | | | | (_| | |_| | (_) | | | \__ \ + \_/ \__,_|_| |_|\__,_|\__|_|\___/|_| |_|___/ + + +EOF +echo "You can restore to the default Hyprland Variations." +echo "PLEASE NOTE: You can reactivate to a customized variation or selection in the settings script." +echo "Your customized variation will not be overwritten or deleted." + +if gum confirm "Do you want to restore all variations to the default values?" ;then + echo + + echo "source = ~/.config/hypr/conf/keybindings/default.conf" > ~/.config/hypr/conf/keybinding.conf + echo "Hyprland keybinding.conf restored!" + + echo "source = ~/.config/hypr/conf/environments/default.conf" > ~/.config/hypr/conf/environment.conf + echo "Hyprland environment.conf restored!" + + echo "source = ~.config/hypr/conf/windowrules/default.conf" > ~/.config/hypr/conf/windowrule.conf + echo "Hyprland windowrule.conf restored!" + + echo "source = ~/.config/hypr/conf/animations/default.conf" > ~/.config/hypr/conf/animation.conf + echo "Hyprland animation.conf restored!" + + echo "source = ~/.config/hypr/conf/decorations/default.conf" > ~/.config/hypr/conf/decoration.conf + echo "Hyprland decoration.conf restored!" + + echo "source = ~/.config/hypr/conf/windows/default.conf" > ~/.config/hypr/conf/window.conf + echo "Hyprland window.conf restored!" + + echo "source = ~/.config/hypr/conf/monitors/default.conf" > ~/.config/hypr/conf/monitor.conf + echo "Hyprland monitor.conf restored!" + + echo + echo ":: Restore done!" +else + echo ":: Restore canceled!" + exit +fi \ No newline at end of file diff --git a/.config/hypr/conf/rules/layerrules.conf b/.config/hypr/conf/rules/layerrules.conf new file mode 100644 index 0000000..a23d050 --- /dev/null +++ b/.config/hypr/conf/rules/layerrules.conf @@ -0,0 +1,13 @@ +layerrule = blur on,match:namespace match:namespace quickshell + +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-Launcher +layerrule = blur_popups on,match:namespace ZShell-Launcher +layerrule = ignore_alpha 0.5,match:namespace ZShell-Launcher diff --git a/.config/hypr/conf/rules/windowrules.conf b/.config/hypr/conf/rules/windowrules.conf new file mode 100644 index 0000000..ae7ced4 --- /dev/null +++ b/.config/hypr/conf/rules/windowrules.conf @@ -0,0 +1,53 @@ +# ----------------------------------------------------- +# Window rules +# ----------------------------------------------------- + +windowrule = match:class ^(Microsoft-edge)$, tile on +windowrule = tile on,match:class ^(Brave-browser)$ +windowrule = tile on,match:class ^(Chromium)$ +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 ^(qalculate-gtk)$ +windowrule = no_focus on,float on,match:class net-runelite-client-RuneLite,match:title ^(win\d+)$ + +windowrule = suppress_event fullscreen maximize activate activatefocus fullscreenoutput,match:class ^(Windows Terminal Launcher Shim)$ +windowrule = float on,match:class ^(Windows Terminal Launcher Shim)$ + +# Browser Picture in Picture +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 = tile on,match:title ^(RuneLite)$ +windowrule = no_max_size on,match:class ^(net-runelite-client-RuneLite)$ + +windowrule = no_max_size on,match:class ^(org.VideoLAN.VLC)$ +windowrule = tile on,match:class ^(org.VideoLAN.VLC)$ + +windowrule = border_color rgba(ffffff1f), match:class ^(wofi) +windowrule = border_size 1, match:class ^(wofi) +windowrule = rounding 8, match:class ^(wofi) +windowrule = no_anim on, match:class ^(wofi) + +windowrule = idle_inhibit always, match:class ^(TSR)$ +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 +windowrule = immediate yes, match:class ^(gamescope)$ +windowrule = no_shadow on,match:float off + +windowrule = darkwindow:shade chromakey bkg=[0.122 0.039 0.137] similarity=0.3 targetOpacity=0.9, match:class ^(com.ayugram.desktop)$ +windowrule = darkwindow:shade chromakey bkg=[0.231 0.231 0.239] similarity=0.3 targetOpacity=0.9, match:class ^(org.keepassxc.KeePassXC)$ +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 ^(solaar)$ +windowrule = darkwindow:shade chromakey bkg=[0.125 0.137 0.149] similarity=0.3 targetOpacity=0.9, match:class ^(org.kde.dolphin)$ +# windowrule = darkwindow:shade chromakey bkg=[0.196 0.2 0.224], match:class ^(discord)$ + +windowrule { + name = kittyAnim + match:class = ^(kitty)$ +} diff --git a/.config/hypr/conf/windowrule.conf b/.config/hypr/conf/windowrule.conf new file mode 100644 index 0000000..e04eb93 --- /dev/null +++ b/.config/hypr/conf/windowrule.conf @@ -0,0 +1,2 @@ +source = ~/.config/hypr/conf/rules/windowrules.conf +source = ~/.config/hypr/conf/rules/layerrules.conf diff --git a/.config/hypr/effects/wallpaper/blackwhite b/.config/hypr/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/.config/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blackwhite-blur b/.config/hypr/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/.config/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blackwhite-brightness40 b/.config/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/.config/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blackwhite-brightness60 b/.config/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/.config/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blackwhite-brightness80 b/.config/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/.config/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blur1 b/.config/hypr/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/.config/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blur1-brightness40 b/.config/hypr/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/.config/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blur1-brightness60 b/.config/hypr/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/.config/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blur1-brightness80 b/.config/hypr/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/.config/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/blur2 b/.config/hypr/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/.config/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/negate b/.config/hypr/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/.config/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/effects/wallpaper/negate-brightness40 b/.config/hypr/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/.config/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/.config/hypr/effects/wallpaper/negate-brightness60 b/.config/hypr/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/.config/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/.config/hypr/effects/wallpaper/negate-brightness80 b/.config/hypr/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/.config/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf new file mode 100644 index 0000000..bbd8ea8 --- /dev/null +++ b/.config/hypr/hypridle.conf @@ -0,0 +1,11 @@ +general { + lock_cmd = pidof hyprlock || uwsm-app -- hyprlock + before_sleep_cmd = loginctl lock-session + after_sleep_cmd = hyprctl dispatch dpms on +} + +# AFK message +listener { + timeout = 240 + on-timeout = hyprctl notify -1 3000 "rgb(ff1ea3)" "Your system will lock in 60 seconds." +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..98ad6c1 --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,67 @@ +# _ _ _ _ +# | | | |_ _ _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| +# +# ----------------------------------------------------- +# IMPORTANT: Don't overwrite ML4W configuration. +# Create your own custom configuration variation instead. +# https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations + +# ----------------------------------------------------- +# Monitor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/monitor.conf + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Keyboard +# ----------------------------------------------------- +source = ~/.config/hypr/conf/keyboard.conf + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +#source = ~/.cache/wal/colors-hyprland.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf +source = ~/.config/hypr/conf/windowrule.conf +source = ~/.config/hypr/conf/permissions.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Plugin Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/plugins.conf + + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +# exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP diff --git a/.config/hypr/hyprlauncher.conf b/.config/hypr/hyprlauncher.conf new file mode 100644 index 0000000..78d74b7 --- /dev/null +++ b/.config/hypr/hyprlauncher.conf @@ -0,0 +1,9 @@ +finders { + default_finder = unicode + unicode_prefix = "" + desktop_prefix = "." +} + +ui { + window_size = 500 800 +} diff --git a/.config/hypr/hyprqt6engine.conf b/.config/hypr/hyprqt6engine.conf new file mode 100644 index 0000000..1a182f1 --- /dev/null +++ b/.config/hypr/hyprqt6engine.conf @@ -0,0 +1,6 @@ +theme { + color_scheme = /usr/share/color-schemes/Darkly.colors + icon_theme = Papirus + style = Darkly + font_size = 12 +} diff --git a/.config/hypr/hyprsunset.conf b/.config/hypr/hyprsunset.conf new file mode 100644 index 0000000..bb9b9ce --- /dev/null +++ b/.config/hypr/hyprsunset.conf @@ -0,0 +1,11 @@ +profile { + time = 10:00 + identity = true + gamma = 1 +} + +profile { + time = 20:00 + temperature = 2600 + gamma = 1 +} diff --git a/.config/hypr/hyprtoolkit.conf b/.config/hypr/hyprtoolkit.conf new file mode 100644 index 0000000..5d824d5 --- /dev/null +++ b/.config/hypr/hyprtoolkit.conf @@ -0,0 +1 @@ +font_family = "Segoe UI Variable" diff --git a/.config/hypr/scheme/current.conf b/.config/hypr/scheme/current.conf new file mode 100644 index 0000000..e77ba30 --- /dev/null +++ b/.config/hypr/scheme/current.conf @@ -0,0 +1,110 @@ +$primary_paletteKeyColor = a36386 +$secondary_paletteKeyColor = 8c6f7c +$tertiary_paletteKeyColor = 9b6c51 +$neutral_paletteKeyColor = 7f7478 +$neutral_variant_paletteKeyColor = 827379 +$background = 181115 +$onBackground = eddfe3 +$surface = 181115 +$surfaceDim = 181115 +$surfaceBright = 40373a +$surfaceContainerLowest = 130c0f +$surfaceContainerLow = 211a1d +$surfaceContainer = 251d21 +$surfaceContainerHigh = 30282b +$surfaceContainerHighest = 3b3236 +$onSurface = eddfe3 +$surfaceVariant = 504349 +$onSurfaceVariant = d4c2c8 +$inverseSurface = eddfe3 +$inverseOnSurface = 372e32 +$outline = 9c8d93 +$outlineVariant = 504349 +$shadow = 000000 +$scrim = 000000 +$surfaceTint = fcb0d7 +$primary = fcb0d7 +$onPrimary = 511d3d +$primaryContainer = 6c3454 +$onPrimaryContainer = ffd8e9 +$inversePrimary = 874b6c +$secondary = dfbdcc +$onSecondary = 402a35 +$secondaryContainer = 5b424e +$onSecondaryContainer = fcd9e8 +$tertiary = f3ba9b +$onTertiary = 4a2812 +$tertiaryContainer = b88669 +$onTertiaryContainer = 000000 +$error = ffb4ab +$onError = 690005 +$errorContainer = 93000a +$onErrorContainer = ffdad6 +$primaryFixed = ffd8e9 +$primaryFixedDim = fcb0d7 +$onPrimaryFixed = 380727 +$onPrimaryFixedVariant = 6c3454 +$secondaryFixed = fcd9e8 +$secondaryFixedDim = dfbdcc +$onSecondaryFixed = 291520 +$onSecondaryFixedVariant = 58404c +$tertiaryFixed = ffdbc9 +$tertiaryFixedDim = f3ba9b +$onTertiaryFixed = 311302 +$onTertiaryFixedVariant = 643d26 +$term0 = 353434 +$term1 = ff45a4 +$term2 = ffbabf +$term3 = ffdee2 +$term4 = b3a2d5 +$term5 = e491bc +$term6 = ffba93 +$term7 = edd2d5 +$term8 = b29ea1 +$term9 = ff7eb5 +$term10 = ffd2d5 +$term11 = fff1f2 +$term12 = babfdd +$term13 = f4a9cc +$term14 = ffd1c0 +$term15 = ffffff +$rosewater = ffedf1 +$flamingo = fad9e4 +$pink = ffd0e8 +$mauve = f9a6e1 +$red = f796c5 +$maroon = efabc8 +$peach = ffbbce +$yellow = ffedee +$green = ffd8c5 +$teal = dedcff +$sky = ebd1ff +$sapphire = edb3f6 +$blue = eca5e9 +$lavender = f8b9ee +$klink = b070b6 +$klinkSelection = b170b6 +$kvisited = bf5ea3 +$kvisitedSelection = bf5ea2 +$knegative = e4509c +$knegativeSelection = e4509b +$kneutral = ff83ac +$kneutralSelection = ff83ac +$kpositive = fd8c2a +$kpositiveSelection = fd8c2a +$text = eddfe3 +$subtext1 = d4c2c8 +$subtext0 = 9c8d93 +$overlay2 = 887a80 +$overlay1 = 74676d +$overlay0 = 62565b +$surface2 = 50454a +$surface1 = 3e3539 +$surface0 = 2b2327 +$base = 181115 +$mantle = 181115 +$crust = 171014 +$success = B5CCBA +$onSuccess = 213528 +$successContainer = 374B3E +$onSuccessContainer = D1E9D6 diff --git a/.config/hypr/scripts/closeapp.sh b/.config/hypr/scripts/closeapp.sh new file mode 100755 index 0000000..05e5dae --- /dev/null +++ b/.config/hypr/scripts/closeapp.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if hyprctl activewindow | grep -q "kitty"; then + hyprctl dispatch movetoworkspacesilent special:kitty +else + hyprctl dispatch killactive +fi diff --git a/.config/hypr/scripts/daivin.sh b/.config/hypr/scripts/daivin.sh new file mode 100644 index 0000000..6318ed5 --- /dev/null +++ b/.config/hypr/scripts/daivin.sh @@ -0,0 +1,32 @@ +#!/bin/zsh + +export XDG_RUNTIME_DIR="/run/user/1000" + +num_workspaces=10 + +random_images=() + +populate_random_images() { + local images=($(find /home/inorishio/Pictures/Backgrounds/ -type f | shuf -n $num_workspaces)) + random_images=("${images[@]}") +} + +handle() { + case $1 in + "workspace>>1") swww img --transition-type none "${random_images[1]}" ;; + wal -f "/home/inorishio/.cache/wal/schemes/${random_images[1]}.json" ;; + "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 +} + +populate_random_images + +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/diagnosis.sh b/.config/hypr/scripts/diagnosis.sh new file mode 100755 index 0000000..752e4c7 --- /dev/null +++ b/.config/hypr/scripts/diagnosis.sh @@ -0,0 +1,53 @@ +#!/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 \ No newline at end of file diff --git a/.config/hypr/scripts/disabledm.sh b/.config/hypr/scripts/disabledm.sh new file mode 100755 index 0000000..ee5e612 --- /dev/null +++ b/.config/hypr/scripts/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/dunst-nc.sh b/.config/hypr/scripts/dunst-nc.sh new file mode 100755 index 0000000..f1d8d7e --- /dev/null +++ b/.config/hypr/scripts/dunst-nc.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# show-notifications.sh: display Dunst history in Rofi + +# Fetch all notifications as JSON +history=$(dunstctl history) + +# Parse and format: use jq to extract summary and body (as an example) +items=$(echo "$history" \ + | jq -r '.data[][] | "\(.summary.data) – \(.body.data)"') + +# Show with Rofi (fallback: you could use dmenu similarly) +echo "$items" | rofi -dmenu -i -p "Notifications" diff --git a/.config/hypr/scripts/fabric-launcher.sh b/.config/hypr/scripts/fabric-launcher.sh new file mode 100755 index 0000000..6ba05ac --- /dev/null +++ b/.config/hypr/scripts/fabric-launcher.sh @@ -0,0 +1,5 @@ +#!/bin/zsh + +cd /home/zach/GitProjects/z-cast/ + +exec /home/zach/GitProjects/z-cast/.venv/bin/python main.py diff --git a/.config/hypr/scripts/gamemode.sh b/.config/hypr/scripts/gamemode.sh new file mode 100755 index 0000000..09708fa --- /dev/null +++ b/.config/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/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/gtk.sh b/.config/hypr/scripts/gtk.sh new file mode 100755 index 0000000..138523f --- /dev/null +++ b/.config/hypr/scripts/gtk.sh @@ -0,0 +1,34 @@ +#!/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" + +# 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/hypridle.sh b/.config/hypr/scripts/hypridle.sh new file mode 100755 index 0000000..6296fa0 --- /dev/null +++ b/.config/hypr/scripts/hypridle.sh @@ -0,0 +1,25 @@ +#!/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/hyprshade.sh b/.config/hypr/scripts/hyprshade.sh new file mode 100755 index 0000000..3c358c1 --- /dev/null +++ b/.config/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ] ;then + echo "hyprshade_filter=\"$choice\"" > ~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ] ;then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + dunstify "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ] ;then + source ~/.config/ml4w/settings/hyprshade.sh + fi + + # Toggle Hyprshade + if [ "$hyprshade_filter" != "off" ] ;then + if [ -z $(hyprshade current) ] ;then + echo ":: hyprshade is not running" + hyprshade on $hyprshade_filter + notify-send "Hyprshade activated" "with $(hyprshade current)" + echo ":: hyprshade started with $(hyprshade current)" + else + notify-send "Hyprshade deactivated" + echo ":: Current hyprshade $(hyprshade current)" + echo ":: Switching hyprshade off" + hyprshade off + fi + else + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/.config/hypr/scripts/init-wallpaper-engine.sh b/.config/hypr/scripts/init-wallpaper-engine.sh new file mode 100755 index 0000000..32fb8de --- /dev/null +++ b/.config/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +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/keybindings.sh b/.config/hypr/scripts/keybindings.sh new file mode 100755 index 0000000..d0b9150 --- /dev/null +++ b/.config/hypr/scripts/keybindings.sh @@ -0,0 +1,47 @@ +#!/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 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/.config/hypr/scripts/keybindtestscript.sh b/.config/hypr/scripts/keybindtestscript.sh new file mode 100755 index 0000000..454d17d --- /dev/null +++ b/.config/hypr/scripts/keybindtestscript.sh @@ -0,0 +1,7 @@ +#!/bin/zsh + +if pgrep testscript.sh > /dev/null; then + pkill testscript.sh +else + ~/.config/hypr/scripts/testscript.sh & +fi diff --git a/.config/hypr/scripts/loadconfig.sh b/.config/hypr/scripts/loadconfig.sh new file mode 100755 index 0000000..a51ce6d --- /dev/null +++ b/.config/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload \ No newline at end of file diff --git a/.config/hypr/scripts/magic.sh b/.config/hypr/scripts/magic.sh new file mode 100755 index 0000000..bc0984a --- /dev/null +++ b/.config/hypr/scripts/magic.sh @@ -0,0 +1,9 @@ +#!/bin/zsh + +for i in {1..1350}; do + ydotool mousemove --absolute -x 4320 -y 1120 + sleep 3 + ydotool click 0xC0 +done + +pkill java diff --git a/.config/hypr/scripts/mic-vol-percent.sh b/.config/hypr/scripts/mic-vol-percent.sh new file mode 100755 index 0000000..c7c6c41 --- /dev/null +++ b/.config/hypr/scripts/mic-vol-percent.sh @@ -0,0 +1,14 @@ +#!/bin/zsh + +last_value="" + +while true; do + volume=$( wpctl get-volume @DEFAULT_AUDIO_SOURCE@ ) + + percent=$( echo "$volume" | awk '{printf "%d%%", $2 * 100}' ) + + if [ "$percent" != "$last_value" ]; then + echo "$percent" | tr -d '\n' | jq -Rs -c '{text: ., alt: "volume"}' + last_value=$percent + fi +done diff --git a/.config/hypr/scripts/monitor-fix-nvidia.sh b/.config/hypr/scripts/monitor-fix-nvidia.sh new file mode 100755 index 0000000..c136c2b --- /dev/null +++ b/.config/hypr/scripts/monitor-fix-nvidia.sh @@ -0,0 +1,5 @@ +#!/bin/zsh + +hyprctl keyword monitor "DP-1, disable" +sleep 2 +hyprctl keyword monitor "DP-1, 3840x2160@60, -2560x0, 1.5" diff --git a/.config/hypr/scripts/moveTo.sh b/.config/hypr/scripts/moveTo.sh new file mode 100755 index 0000000..de2492b --- /dev/null +++ b/.config/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# 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" \ No newline at end of file diff --git a/.config/hypr/scripts/power.sh b/.config/hypr/scripts/power.sh new file mode 100755 index 0000000..8037fbd --- /dev/null +++ b/.config/hypr/scripts/power.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# ____ +# | _ \ _____ _____ _ __ +# | |_) / _ \ \ /\ / / _ \ '__| +# | __/ (_) \ V V / __/ | +# |_| \___/ \_/\_/ \___|_| +# + +# 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 \ No newline at end of file diff --git a/.config/hypr/scripts/restart-hypridle.sh b/.config/hypr/scripts/restart-hypridle.sh new file mode 100755 index 0000000..fe29461 --- /dev/null +++ b/.config/hypr/scripts/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/restart-qs.sh b/.config/hypr/scripts/restart-qs.sh new file mode 100755 index 0000000..5e47d0c --- /dev/null +++ b/.config/hypr/scripts/restart-qs.sh @@ -0,0 +1,7 @@ +#!/bin/zsh + +qs -p /home/zach/GitClones/shell/shell.qml kill; + +qs -d -p /home/zach/GitClones/shell/shell.qml && sleep 3; + +killall kded6 diff --git a/.config/hypr/scripts/screencast-inhib.sh b/.config/hypr/scripts/screencast-inhib.sh new file mode 100755 index 0000000..275786e --- /dev/null +++ b/.config/hypr/scripts/screencast-inhib.sh @@ -0,0 +1,16 @@ +#!/bin/zsh + +XDG_RUNTIME_DIR="/run/user/1000" + +handle() { + case $1 in + "screencast>>1,"*) + swaync-client --inhibitor-add "xdg-desktop-portal-hyprland" & + ;; + "screencast>>0,"*) + 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/screenshot.sh b/.config/hypr/scripts/screenshot.sh new file mode 100755 index 0000000..d08557a --- /dev/null +++ b/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,224 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# 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/skill-issue.sh b/.config/hypr/scripts/skill-issue.sh new file mode 100755 index 0000000..370af48 --- /dev/null +++ b/.config/hypr/scripts/skill-issue.sh @@ -0,0 +1,247 @@ +#!/bin/zsh + +XDG_RUNTIME_DIR="/run/user/1000" +BASE="ydotool mousemove --absolute -x 4355 -y 1060" +CLICK="ydotool click 0xC0" + +sleep 1 + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4240 -y 1093 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4280 -y 1093 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4320 -y 1093 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4355 -y 1093 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4240 -y 1123 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4280 -y 1123 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4320 -y 1123 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4355 -y 1123 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4240 -y 1153 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4280 -y 1153 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4320 -y 1153 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4355 -y 1153 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4240 -y 1183 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4280 -y 1183 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4320 -y 1183 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4355 -y 1183 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4240 -y 1223 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4280 -y 1223 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4320 -y 1223 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4355 -y 1223 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4240 -y 1253 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4280 -y 1253 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4320 -y 1253 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +$(zsh -c "$BASE") + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") + +ydotool mousemove --absolute -x 4355 -y 1253 + +sleep $(awk 'BEGIN{print rand()*0.09+0.01}') +$(zsh -c "$CLICK") diff --git a/.config/hypr/scripts/terminal.sh b/.config/hypr/scripts/terminal.sh new file mode 100755 index 0000000..0adda65 --- /dev/null +++ b/.config/hypr/scripts/terminal.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +hyprctl dispatch plugin:xtd:moveorexec class:kitty,kitty diff --git a/.config/hypr/scripts/testscript.sh b/.config/hypr/scripts/testscript.sh new file mode 100755 index 0000000..d8ad9b7 --- /dev/null +++ b/.config/hypr/scripts/testscript.sh @@ -0,0 +1,20 @@ +#!/bin/zsh + +MAX_DELAY=2.7 +MIN_DELAY=2.4 + +for (( i = 1; i <= 1118; i++ )); do + RANGE=$(( MAX_DELAY - MIN_DELAY )) + RAND_MS=$(( RANDOM % ( (RANGE + 1) * 1000 ) )) + SLEEP_TIME=$( awk "BEGIN { printf \"%.3f\", $MIN_DELAY + $RAND_MS/1000 }" ) + + sleep $SLEEP_TIME + + echo 'mouseto 0.612 0.85' | dotoolc + echo 'mouseto 0.611 0.85' | dotoolc + echo 'click left' | dotoolc + sleep 0.1 + echo 'click left' | dotoolc +done +pkill java +exit diff --git a/.config/hypr/scripts/testvenv.sh b/.config/hypr/scripts/testvenv.sh new file mode 100755 index 0000000..cb85cfa --- /dev/null +++ b/.config/hypr/scripts/testvenv.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cd /home/zach/GitProjects/pylaunch + +exec /home/zach/GitProjects/pylaunch/venv/bin/python main.py >> /home/zach/GitProjects/pylaunch/pylaunch.log 2>&1 diff --git a/.config/hypr/scripts/toggle-animations.sh b/.config/hypr/scripts/toggle-animations.sh new file mode 100755 index 0000000..7eedb1d --- /dev/null +++ b/.config/hypr/scripts/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/toggleallfloat.sh b/.config/hypr/scripts/toggleallfloat.sh new file mode 100755 index 0000000..3fc12e2 --- /dev/null +++ b/.config/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/.config/hypr/scripts/vol-percent.sh b/.config/hypr/scripts/vol-percent.sh new file mode 100755 index 0000000..64d085c --- /dev/null +++ b/.config/hypr/scripts/vol-percent.sh @@ -0,0 +1,14 @@ +#!/bin/zsh + +last_value="" + +while true; do + volume=$( wpctl get-volume @DEFAULT_AUDIO_SINK@ ) + + percent=$( echo "$volume" | awk '{printf "%d%%", $2 * 100}' ) + + if [ "$percent" != "$last_value" ]; then + echo "$percent" | tr -d '\n' | jq -Rs -c '{text: ., alt: "volume"}' + last_value=$percent + fi +done diff --git a/.config/hypr/scripts/wait-for-hyprland.sh b/.config/hypr/scripts/wait-for-hyprland.sh new file mode 100755 index 0000000..44b1be7 --- /dev/null +++ b/.config/hypr/scripts/wait-for-hyprland.sh @@ -0,0 +1,17 @@ +#!/bin/zsh + +max_secs=90 +interval=0.1 +count=0 + +# while (( $(echo "$count < $max_secs" | bc) )); do +# if pgrep -f "wayland-wm@hyprland" > /dev/null; then +# exit 0 +# fi +# +# sleep $interval +# count=$(echo "$count + $interval" | bc) +# done +# +# echo "Timeout waiting for hyprland compositor" >&2 +exit 0 diff --git a/.config/hypr/scripts/wallpaper-automation.sh b/.config/hypr/scripts/wallpaper-automation.sh new file mode 100755 index 0000000..e3d1f1e --- /dev/null +++ b/.config/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +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 \ No newline at end of file diff --git a/.config/hypr/scripts/wallpaper-cache.sh b/.config/hypr/scripts/wallpaper-cache.sh new file mode 100755 index 0000000..899a06a --- /dev/null +++ b/.config/hypr/scripts/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/wallpaper-effects.sh b/.config/hypr/scripts/wallpaper-effects.sh new file mode 100755 index 0000000..b0b64e9 --- /dev/null +++ b/.config/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# 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 \ No newline at end of file diff --git a/.config/hypr/scripts/wallpaper.sh b/.config/hypr/scripts/wallpaper.sh new file mode 100755 index 0000000..057b372 --- /dev/null +++ b/.config/hypr/scripts/wallpaper.sh @@ -0,0 +1,159 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# 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/xdg.sh b/.config/hypr/scripts/xdg.sh new file mode 100755 index 0000000..562fee4 --- /dev/null +++ b/.config/hypr/scripts/xdg.sh @@ -0,0 +1,27 @@ +#!/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/shaders/invert-colors.glsl b/.config/hypr/shaders/invert-colors.glsl new file mode 100644 index 0000000..a504901 --- /dev/null +++ b/.config/hypr/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/xdph.conf b/.config/hypr/xdph.conf new file mode 100644 index 0000000..8e53bad --- /dev/null +++ b/.config/hypr/xdph.conf @@ -0,0 +1,3 @@ +screencopy { + max_fps = 60 +} diff --git a/.config/z-bar/config.json b/.config/z-bar/config.json new file mode 100644 index 0000000..11103f6 --- /dev/null +++ b/.config/z-bar/config.json @@ -0,0 +1,48 @@ +{ + "appCount": 23, + "wallpaperPath": "/mnt/IronWolf/SDImages/SWWW_Wals/", + "maxWallpapers": 7, + "wallust": true, + "gpuType": "nvidia", + "useDynamicColors": true, + "animScale": 0.8, + + "accentColor": { + "accents": { + "primary": "#e03134", + "primaryAlt": "#e06d6f", + "warning": "#7e09c6", + "warningAlt": "#a33af0" + } + }, + + "background": { + "wallFadeDuration": 300, + "enabled": true + }, + + "transparency": { + "enabled": true, + "base": 0.75, + "layer": 0.4 + }, + + "idle": { + "timeouts": [ + { + "timeout": 300, + "idleAction": "lock" + }, + { + "timeout": 360, + "idleAction": "dpms off", + "activeAction": "dpms on" + } + ] + }, + + "lock": { + "fixLockScreen": true, + "useWallpaper": true + } +}