From b415a3d71fd857be8b6dfff5c31b479086f74a93 Mon Sep 17 00:00:00 2001 From: "[yuri]" <[yuri.kuit@gmail.com]> Date: Wed, 19 Nov 2025 20:41:01 +0100 Subject: [PATCH] arch hyprland --- arch/hypr/.config/colors.conf | 100 +++++++ arch/hypr/.config/conf/animation.conf | 1 + .../conf/animations/animations-classic.conf | 14 + .../conf/animations/animations-dynamic.conf | 19 ++ .../conf/animations/animations-end4.conf | 39 +++ .../conf/animations/animations-fast.conf | 23 ++ .../conf/animations/animations-high.conf | 19 ++ .../conf/animations/animations-moving.conf | 18 ++ .../conf/animations/animations-smooth.conf | 20 ++ .../hypr/.config/conf/animations/default.conf | 39 +++ .../.config/conf/animations/disabled.conf | 7 + .../.config/conf/animations/standard.conf | 14 + arch/hypr/.config/conf/autostart.conf | 35 +++ arch/hypr/.config/conf/cursor.conf | 1 + arch/hypr/.config/conf/custom.conf | 27 ++ arch/hypr/.config/conf/decoration.conf | 1 + arch/hypr/.config/conf/decorations/blur.conf | 29 ++ .../.config/conf/decorations/default.conf | 27 ++ .../.config/conf/decorations/gamemode.conf | 19 ++ .../.config/conf/decorations/no-blur.conf | 22 ++ .../decorations/no-rounding-more-blur.conf | 27 ++ .../.config/conf/decorations/no-rounding.conf | 27 ++ .../rounding-all-blur-no-shadows.conf | 29 ++ .../conf/decorations/rounding-all-blur.conf | 29 ++ .../conf/decorations/rounding-more-blur.conf | 27 ++ .../.config/conf/decorations/rounding.conf | 27 ++ arch/hypr/.config/conf/environment.conf | 1 + .../.config/conf/environments/default.conf | 6 + arch/hypr/.config/conf/environments/kvm.conf | 10 + .../.config/conf/environments/nvidia.conf | 29 ++ arch/hypr/.config/conf/keybinding.conf | 1 + .../.config/conf/keybindings/default.conf | 138 +++++++++ arch/hypr/.config/conf/keybindings/fr.conf | 135 +++++++++ arch/hypr/.config/conf/keyboard.conf | 20 ++ arch/hypr/.config/conf/layout.conf | 1 + arch/hypr/.config/conf/layouts/default.conf | 19 ++ arch/hypr/.config/conf/layouts/laptop.conf | 21 ++ arch/hypr/.config/conf/misc.conf | 9 + arch/hypr/.config/conf/ml4w.conf | 149 ++++++++++ arch/hypr/.config/conf/monitor.conf | 1 + arch/hypr/.config/conf/monitors/1366x768.conf | 6 + .../hypr/.config/conf/monitors/1440x1080.conf | 6 + arch/hypr/.config/conf/monitors/1600x900.conf | 6 + .../hypr/.config/conf/monitors/1920x1080.conf | 6 + .../hypr/.config/conf/monitors/1920x1200.conf | 6 + .../hypr/.config/conf/monitors/2560x1440.conf | 6 + .../.config/conf/monitors/2560x1440@120.conf | 6 + .../conf/monitors/2560x1440@120x125.conf | 6 + .../hypr/.config/conf/monitors/3440x1440.conf | 6 + arch/hypr/.config/conf/monitors/default.conf | 6 + arch/hypr/.config/conf/monitors/highres.conf | 6 + .../.config/conf/monitors/nwg-displays.conf | 2 + arch/hypr/.config/conf/restorevariations.sh | 43 +++ arch/hypr/.config/conf/window.conf | 1 + arch/hypr/.config/conf/windowrule.conf | 1 + .../.config/conf/windowrules/default.conf | 29 ++ .../conf/windows/border-1-reverse.conf | 14 + arch/hypr/.config/conf/windows/border-1.conf | 14 + .../conf/windows/border-2-reverse.conf | 14 + arch/hypr/.config/conf/windows/border-2.conf | 14 + .../conf/windows/border-3-reverse.conf | 14 + arch/hypr/.config/conf/windows/border-3.conf | 14 + .../conf/windows/border-4-reverse.conf | 14 + arch/hypr/.config/conf/windows/border-4.conf | 14 + arch/hypr/.config/conf/windows/default.conf | 14 + arch/hypr/.config/conf/windows/gamemode.conf | 14 + arch/hypr/.config/conf/windows/glass.conf | 14 + .../conf/windows/no-border-more-gaps.conf | 14 + arch/hypr/.config/conf/windows/no-border.conf | 14 + arch/hypr/.config/conf/workspace.conf | 1 + .../hypr/.config/conf/workspaces/default.conf | 23 ++ .../hypr/.config/effects/wallpaper/blackwhite | 1 + .../.config/effects/wallpaper/blackwhite-blur | 2 + .../effects/wallpaper/blackwhite-brightness40 | 2 + .../effects/wallpaper/blackwhite-brightness60 | 2 + .../effects/wallpaper/blackwhite-brightness80 | 2 + arch/hypr/.config/effects/wallpaper/blur1 | 1 + .../effects/wallpaper/blur1-brightness40 | 2 + .../effects/wallpaper/blur1-brightness60 | 2 + .../effects/wallpaper/blur1-brightness80 | 2 + arch/hypr/.config/effects/wallpaper/blur2 | 1 + arch/hypr/.config/effects/wallpaper/negate | 1 + .../effects/wallpaper/negate-brightness40 | 2 + .../effects/wallpaper/negate-brightness60 | 2 + .../effects/wallpaper/negate-brightness80 | 2 + arch/hypr/.config/hypridle.conf | 35 +++ arch/hypr/.config/hyprland.conf | 74 +++++ arch/hypr/.config/hyprlock.conf | 102 +++++++ arch/hypr/.config/hyprpaper.conf | 3 + arch/hypr/.config/scripts/cleanup.sh | 14 + arch/hypr/.config/scripts/gamemode.sh | 46 +++ arch/hypr/.config/scripts/gtk.sh | 53 ++++ arch/hypr/.config/scripts/hypridle.sh | 39 +++ arch/hypr/.config/scripts/hyprshade.sh | 61 ++++ arch/hypr/.config/scripts/keybindings.sh | 49 ++++ arch/hypr/.config/scripts/launcher.sh | 22 ++ arch/hypr/.config/scripts/load-gamemode.sh | 23 ++ arch/hypr/.config/scripts/loadconfig.sh | 2 + arch/hypr/.config/scripts/moveTo.sh | 47 ++++ arch/hypr/.config/scripts/power.sh | 78 ++++++ arch/hypr/.config/scripts/restart-hypridle.sh | 5 + arch/hypr/.config/scripts/screenshot.sh | 263 ++++++++++++++++++ arch/hypr/.config/scripts/systeminfo.sh | 8 + .../hypr/.config/scripts/toggle-animations.sh | 13 + arch/hypr/.config/scripts/toggleallfloat.sh | 10 + .../.config/scripts/wallpaper-automation.sh | 30 ++ arch/hypr/.config/scripts/wallpaper-cache.sh | 6 + .../hypr/.config/scripts/wallpaper-effects.sh | 28 ++ .../hypr/.config/scripts/wallpaper-restore.sh | 49 ++++ arch/hypr/.config/scripts/wallpaper.sh | 201 +++++++++++++ arch/hypr/.config/scripts/waypaper.sh | 10 + arch/hypr/.config/scripts/xdg.sh | 61 ++++ 112 files changed, 2884 insertions(+) create mode 100644 arch/hypr/.config/colors.conf create mode 100644 arch/hypr/.config/conf/animation.conf create mode 100644 arch/hypr/.config/conf/animations/animations-classic.conf create mode 100644 arch/hypr/.config/conf/animations/animations-dynamic.conf create mode 100644 arch/hypr/.config/conf/animations/animations-end4.conf create mode 100644 arch/hypr/.config/conf/animations/animations-fast.conf create mode 100644 arch/hypr/.config/conf/animations/animations-high.conf create mode 100644 arch/hypr/.config/conf/animations/animations-moving.conf create mode 100644 arch/hypr/.config/conf/animations/animations-smooth.conf create mode 100644 arch/hypr/.config/conf/animations/default.conf create mode 100644 arch/hypr/.config/conf/animations/disabled.conf create mode 100644 arch/hypr/.config/conf/animations/standard.conf create mode 100644 arch/hypr/.config/conf/autostart.conf create mode 100644 arch/hypr/.config/conf/cursor.conf create mode 100644 arch/hypr/.config/conf/custom.conf create mode 100644 arch/hypr/.config/conf/decoration.conf create mode 100644 arch/hypr/.config/conf/decorations/blur.conf create mode 100644 arch/hypr/.config/conf/decorations/default.conf create mode 100644 arch/hypr/.config/conf/decorations/gamemode.conf create mode 100644 arch/hypr/.config/conf/decorations/no-blur.conf create mode 100644 arch/hypr/.config/conf/decorations/no-rounding-more-blur.conf create mode 100644 arch/hypr/.config/conf/decorations/no-rounding.conf create mode 100644 arch/hypr/.config/conf/decorations/rounding-all-blur-no-shadows.conf create mode 100644 arch/hypr/.config/conf/decorations/rounding-all-blur.conf create mode 100644 arch/hypr/.config/conf/decorations/rounding-more-blur.conf create mode 100644 arch/hypr/.config/conf/decorations/rounding.conf create mode 100644 arch/hypr/.config/conf/environment.conf create mode 100644 arch/hypr/.config/conf/environments/default.conf create mode 100644 arch/hypr/.config/conf/environments/kvm.conf create mode 100644 arch/hypr/.config/conf/environments/nvidia.conf create mode 100644 arch/hypr/.config/conf/keybinding.conf create mode 100644 arch/hypr/.config/conf/keybindings/default.conf create mode 100644 arch/hypr/.config/conf/keybindings/fr.conf create mode 100644 arch/hypr/.config/conf/keyboard.conf create mode 100644 arch/hypr/.config/conf/layout.conf create mode 100644 arch/hypr/.config/conf/layouts/default.conf create mode 100644 arch/hypr/.config/conf/layouts/laptop.conf create mode 100644 arch/hypr/.config/conf/misc.conf create mode 100644 arch/hypr/.config/conf/ml4w.conf create mode 100644 arch/hypr/.config/conf/monitor.conf create mode 100644 arch/hypr/.config/conf/monitors/1366x768.conf create mode 100644 arch/hypr/.config/conf/monitors/1440x1080.conf create mode 100644 arch/hypr/.config/conf/monitors/1600x900.conf create mode 100644 arch/hypr/.config/conf/monitors/1920x1080.conf create mode 100644 arch/hypr/.config/conf/monitors/1920x1200.conf create mode 100644 arch/hypr/.config/conf/monitors/2560x1440.conf create mode 100644 arch/hypr/.config/conf/monitors/2560x1440@120.conf create mode 100644 arch/hypr/.config/conf/monitors/2560x1440@120x125.conf create mode 100644 arch/hypr/.config/conf/monitors/3440x1440.conf create mode 100644 arch/hypr/.config/conf/monitors/default.conf create mode 100644 arch/hypr/.config/conf/monitors/highres.conf create mode 100644 arch/hypr/.config/conf/monitors/nwg-displays.conf create mode 100755 arch/hypr/.config/conf/restorevariations.sh create mode 100644 arch/hypr/.config/conf/window.conf create mode 100644 arch/hypr/.config/conf/windowrule.conf create mode 100644 arch/hypr/.config/conf/windowrules/default.conf create mode 100644 arch/hypr/.config/conf/windows/border-1-reverse.conf create mode 100644 arch/hypr/.config/conf/windows/border-1.conf create mode 100644 arch/hypr/.config/conf/windows/border-2-reverse.conf create mode 100644 arch/hypr/.config/conf/windows/border-2.conf create mode 100644 arch/hypr/.config/conf/windows/border-3-reverse.conf create mode 100644 arch/hypr/.config/conf/windows/border-3.conf create mode 100644 arch/hypr/.config/conf/windows/border-4-reverse.conf create mode 100644 arch/hypr/.config/conf/windows/border-4.conf create mode 100644 arch/hypr/.config/conf/windows/default.conf create mode 100644 arch/hypr/.config/conf/windows/gamemode.conf create mode 100644 arch/hypr/.config/conf/windows/glass.conf create mode 100644 arch/hypr/.config/conf/windows/no-border-more-gaps.conf create mode 100644 arch/hypr/.config/conf/windows/no-border.conf create mode 100644 arch/hypr/.config/conf/workspace.conf create mode 100644 arch/hypr/.config/conf/workspaces/default.conf create mode 100644 arch/hypr/.config/effects/wallpaper/blackwhite create mode 100644 arch/hypr/.config/effects/wallpaper/blackwhite-blur create mode 100644 arch/hypr/.config/effects/wallpaper/blackwhite-brightness40 create mode 100644 arch/hypr/.config/effects/wallpaper/blackwhite-brightness60 create mode 100644 arch/hypr/.config/effects/wallpaper/blackwhite-brightness80 create mode 100644 arch/hypr/.config/effects/wallpaper/blur1 create mode 100644 arch/hypr/.config/effects/wallpaper/blur1-brightness40 create mode 100644 arch/hypr/.config/effects/wallpaper/blur1-brightness60 create mode 100644 arch/hypr/.config/effects/wallpaper/blur1-brightness80 create mode 100644 arch/hypr/.config/effects/wallpaper/blur2 create mode 100644 arch/hypr/.config/effects/wallpaper/negate create mode 100644 arch/hypr/.config/effects/wallpaper/negate-brightness40 create mode 100644 arch/hypr/.config/effects/wallpaper/negate-brightness60 create mode 100644 arch/hypr/.config/effects/wallpaper/negate-brightness80 create mode 100644 arch/hypr/.config/hypridle.conf create mode 100644 arch/hypr/.config/hyprland.conf create mode 100644 arch/hypr/.config/hyprlock.conf create mode 100644 arch/hypr/.config/hyprpaper.conf create mode 100755 arch/hypr/.config/scripts/cleanup.sh create mode 100755 arch/hypr/.config/scripts/gamemode.sh create mode 100755 arch/hypr/.config/scripts/gtk.sh create mode 100755 arch/hypr/.config/scripts/hypridle.sh create mode 100755 arch/hypr/.config/scripts/hyprshade.sh create mode 100755 arch/hypr/.config/scripts/keybindings.sh create mode 100755 arch/hypr/.config/scripts/launcher.sh create mode 100755 arch/hypr/.config/scripts/load-gamemode.sh create mode 100755 arch/hypr/.config/scripts/loadconfig.sh create mode 100755 arch/hypr/.config/scripts/moveTo.sh create mode 100755 arch/hypr/.config/scripts/power.sh create mode 100755 arch/hypr/.config/scripts/restart-hypridle.sh create mode 100755 arch/hypr/.config/scripts/screenshot.sh create mode 100755 arch/hypr/.config/scripts/systeminfo.sh create mode 100755 arch/hypr/.config/scripts/toggle-animations.sh create mode 100755 arch/hypr/.config/scripts/toggleallfloat.sh create mode 100755 arch/hypr/.config/scripts/wallpaper-automation.sh create mode 100755 arch/hypr/.config/scripts/wallpaper-cache.sh create mode 100755 arch/hypr/.config/scripts/wallpaper-effects.sh create mode 100755 arch/hypr/.config/scripts/wallpaper-restore.sh create mode 100755 arch/hypr/.config/scripts/wallpaper.sh create mode 100755 arch/hypr/.config/scripts/waypaper.sh create mode 100755 arch/hypr/.config/scripts/xdg.sh diff --git a/arch/hypr/.config/colors.conf b/arch/hypr/.config/colors.conf new file mode 100644 index 0000000..508dcc1 --- /dev/null +++ b/arch/hypr/.config/colors.conf @@ -0,0 +1,100 @@ + +$background = rgba(1a110fff) + +$error = rgba(ffb4abff) + +$error_container = rgba(93000aff) + +$inverse_on_surface = rgba(392e2bff) + +$inverse_primary = rgba(8f4c35ff) + +$inverse_surface = rgba(f1dfdaff) + +$on_background = rgba(f1dfdaff) + +$on_error = rgba(690005ff) + +$on_error_container = rgba(ffdad6ff) + +$on_primary = rgba(55200cff) + +$on_primary_container = rgba(ffdbd0ff) + +$on_primary_fixed = rgba(390c00ff) + +$on_primary_fixed_variant = rgba(723520ff) + +$on_secondary = rgba(442a21ff) + +$on_secondary_container = rgba(ffdbd0ff) + +$on_secondary_fixed = rgba(2c160eff) + +$on_secondary_fixed_variant = rgba(5d4036ff) + +$on_surface = rgba(f1dfdaff) + +$on_surface_variant = rgba(d8c2bbff) + +$on_tertiary = rgba(3a3005ff) + +$on_tertiary_container = rgba(f3e2a7ff) + +$on_tertiary_fixed = rgba(221b00ff) + +$on_tertiary_fixed_variant = rgba(51461aff) + +$outline = rgba(a08d87ff) + +$outline_variant = rgba(53433fff) + +$primary = rgba(ffb59dff) + +$primary_container = rgba(723520ff) + +$primary_fixed = rgba(ffdbd0ff) + +$primary_fixed_dim = rgba(ffb59dff) + +$scrim = rgba(000000ff) + +$secondary = rgba(e7bdb0ff) + +$secondary_container = rgba(5d4036ff) + +$secondary_fixed = rgba(ffdbd0ff) + +$secondary_fixed_dim = rgba(e7bdb0ff) + +$shadow = rgba(000000ff) + +$source_color = rgba(f96732ff) + +$surface = rgba(1a110fff) + +$surface_bright = rgba(423733ff) + +$surface_container = rgba(271d1bff) + +$surface_container_high = rgba(322825ff) + +$surface_container_highest = rgba(3d322fff) + +$surface_container_low = rgba(231917ff) + +$surface_container_lowest = rgba(140c0aff) + +$surface_dim = rgba(1a110fff) + +$surface_tint = rgba(ffb59dff) + +$surface_variant = rgba(53433fff) + +$tertiary = rgba(d7c68dff) + +$tertiary_container = rgba(51461aff) + +$tertiary_fixed = rgba(f3e2a7ff) + +$tertiary_fixed_dim = rgba(d7c68dff) \ No newline at end of file diff --git a/arch/hypr/.config/conf/animation.conf b/arch/hypr/.config/conf/animation.conf new file mode 100644 index 0000000..a210389 --- /dev/null +++ b/arch/hypr/.config/conf/animation.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/animations/default.conf diff --git a/arch/hypr/.config/conf/animations/animations-classic.conf b/arch/hypr/.config/conf/animations/animations-classic.conf new file mode 100644 index 0000000..4c33b0b --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-classic.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Classic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/arch/hypr/.config/conf/animations/animations-dynamic.conf b/arch/hypr/.config/conf/animations/animations-dynamic.conf new file mode 100644 index 0000000..d703dd3 --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-dynamic.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name "Dynamic" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/arch/hypr/.config/conf/animations/animations-end4.conf b/arch/hypr/.config/conf/animations/animations-end4.conf new file mode 100644 index 0000000..4147d90 --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-end4.conf @@ -0,0 +1,39 @@ + +# name "End-4" +# credit https://github.com/end-4/dots-hyprland + +animations { + enabled = true + # Animation curves + + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + # Animation configs + animation = windows, 1, 3, md3_decel, popin 60% + animation = windowsIn, 1, 3, md3_decel, popin 60% + animation = windowsOut, 1, 3, md3_accel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/arch/hypr/.config/conf/animations/animations-fast.conf b/arch/hypr/.config/conf/animations/animations-fast.conf new file mode 100644 index 0000000..4eecc45 --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-fast.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Animations +# name "Fast" +# ----------------------------------------------------- +animations { + enabled = true + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = fluent_decel, 0.1, 1, 0, 1 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + animation = windows, 1, 3, md3_decel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 2.5, md3_decel + animation = workspaces, 1, 3.5, easeOutExpo, slide + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/arch/hypr/.config/conf/animations/animations-high.conf b/arch/hypr/.config/conf/animations/animations-high.conf new file mode 100644 index 0000000..e403420 --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-high.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name: "High" +# ----------------------------------------------------- +animations { + enabled = true + bezier = wind, 0.05, 0.9, 0.1, 1.05 + bezier = winIn, 0.1, 1.1, 0.1, 1.1 + bezier = winOut, 0.3, -0.3, 0, 1 + bezier = liner, 1, 1, 1, 1 + animation = windows, 1, 6, wind, slide + animation = windowsIn, 1, 6, winIn, slide + animation = windowsOut, 1, 5, winOut, slide + animation = windowsMove, 1, 5, wind, slide + animation = border, 1, 1, liner + animation = borderangle, 1, 30, liner, loop + animation = fade, 1, 10, default + animation = workspaces, 1, 5, wind +} diff --git a/arch/hypr/.config/conf/animations/animations-moving.conf b/arch/hypr/.config/conf/animations/animations-moving.conf new file mode 100644 index 0000000..20ec046 --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-moving.conf @@ -0,0 +1,18 @@ +# ----------------------------------------------------- +# Animations +# name "Moving" +# ----------------------------------------------------- +animations { + enabled = true + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = smoothOut, 0.5, 0, 0.99, 0.99 + bezier = smoothIn, 0.5, -0.5, 0.68, 1.5 + animation = windows, 1, 5, overshot, slide + animation = windowsOut, 1, 3, smoothOut + animation = windowsIn, 1, 3, smoothOut + animation = windowsMove, 1, 4, smoothIn, slide + animation = border, 1, 5, default + animation = fade, 1, 5, smoothIn + animation = fadeDim, 1, 5, smoothIn + animation = workspaces, 1, 6, default +} diff --git a/arch/hypr/.config/conf/animations/animations-smooth.conf b/arch/hypr/.config/conf/animations/animations-smooth.conf new file mode 100644 index 0000000..cb867ba --- /dev/null +++ b/arch/hypr/.config/conf/animations/animations-smooth.conf @@ -0,0 +1,20 @@ +# ----------------------------------------------------- +# Animations +# name "Smooth" +# ----------------------------------------------------- +animations { + enabled = true + bezier = overshot, 0.05, 0.9, 0.1, 1.05 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = easeOutBack, 0.34, 1.56, 0.64, 1 + bezier = easeInBack, 0.36, 0, 0.66, -0.56 + bezier = easeInOutBack, 0.68, -0.6, 0.32, 1.6 + animation = windows, 1, 3, overshot, slide + animation = windowsOut, 1, 2011, easeOutExpo + animation = windowsIn, 1, 7, easeOutBack + animation = windowsMove, 1, 6, easeInOutBack, slide + animation = border, 1, 5, default + animation = fade, 1, 5, easeOutBack + animation = fadeDim, 1, 5, easeOutBack + animation = workspaces, 1, 10, easeOutExpo +} diff --git a/arch/hypr/.config/conf/animations/default.conf b/arch/hypr/.config/conf/animations/default.conf new file mode 100644 index 0000000..4147d90 --- /dev/null +++ b/arch/hypr/.config/conf/animations/default.conf @@ -0,0 +1,39 @@ + +# name "End-4" +# credit https://github.com/end-4/dots-hyprland + +animations { + enabled = true + # Animation curves + + bezier = linear, 0, 0, 1, 1 + bezier = md3_standard, 0.2, 0, 0, 1 + bezier = md3_decel, 0.05, 0.7, 0.1, 1 + bezier = md3_accel, 0.3, 0, 0.8, 0.15 + bezier = overshot, 0.05, 0.9, 0.1, 1.1 + bezier = crazyshot, 0.1, 1.5, 0.76, 0.92 + bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + # Animation configs + animation = windows, 1, 3, md3_decel, popin 60% + animation = windowsIn, 1, 3, md3_decel, popin 60% + animation = windowsOut, 1, 3, md3_accel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/arch/hypr/.config/conf/animations/disabled.conf b/arch/hypr/.config/conf/animations/disabled.conf new file mode 100644 index 0000000..204b96f --- /dev/null +++ b/arch/hypr/.config/conf/animations/disabled.conf @@ -0,0 +1,7 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = false +} diff --git a/arch/hypr/.config/conf/animations/standard.conf b/arch/hypr/.config/conf/animations/standard.conf new file mode 100644 index 0000000..cd01434 --- /dev/null +++ b/arch/hypr/.config/conf/animations/standard.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} diff --git a/arch/hypr/.config/conf/autostart.conf b/arch/hypr/.config/conf/autostart.conf new file mode 100644 index 0000000..9ae6937 --- /dev/null +++ b/arch/hypr/.config/conf/autostart.conf @@ -0,0 +1,35 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland + +cursor { + no_hardware_cursors = true +} diff --git a/arch/hypr/.config/conf/keybinding.conf b/arch/hypr/.config/conf/keybinding.conf new file mode 100644 index 0000000..bdce99c --- /dev/null +++ b/arch/hypr/.config/conf/keybinding.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/keybindings/default.conf diff --git a/arch/hypr/.config/conf/keybindings/default.conf b/arch/hypr/.config/conf/keybindings/default.conf new file mode 100644 index 0000000..b1c8cbf --- /dev/null +++ b/arch/hypr/.config/conf/keybindings/default.conf @@ -0,0 +1,138 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Display +bind = $mainMod SHIFT, mouse_down, exec, hyprctl keyword cursor:zoom_factor $(awk "BEGIN {print $(hyprctl getoption cursor:zoom_factor | grep 'float:' | awk '{print $2}') + 0.5}") # Increase display zoom +bind = $mainMod SHIFT, mouse_up, exec, hyprctl keyword cursor:zoom_factor $(awk "BEGIN {print $(hyprctl getoption cursor:zoom_factor | grep 'float:' | awk '{print $2}') - 0.5}") # Decrease display zoom +bind = $mainMod SHIFT, Z, exec, hyprctl keyword cursor:zoom_factor 1 # Reset display zoom + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill # Quit active window and all open instances +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 # Maximize Window +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, workspaceopt, allfloat # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +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 +bind = $mainMod, G, togglegroup # Toggle window group +bind = $mainMod, K, swapsplit # Swapsplit +bind = $mainMod ALT, left, swapwindow, l # Swap tiled window left +bind = $mainMod ALT, right, swapwindow, r # Swap tiled window right +bind = $mainMod ALT, up, swapwindow, u # Swap tiled window up +bind = $mainMod ALT, down, swapwindow, d # Swap tiled window down +binde = ALT,Tab,cyclenext # Cycle between windows +binde = ALT,Tab,bringactivetotop # Bring active window to the top + +# Actions +bind = $mainMod CTRL, R, exec, hyprctl reload # Reload Hyprland configuration +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod ALT, F, exec, $HYPRSCRIPTS/screenshot.sh --instant # Take an instant full-screen screenshot +bind = $mainMod ALT, S, exec, $HYPRSCRIPTS/screenshot.sh --instant-area # Take an instant area screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, ~/.config/hypr/scripts/waypaper.sh --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, ~/.config/hypr/scripts/waypaper.sh # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, ~/.config/hypr/scripts/launcher.sh # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod CTRL, L, exec, ~/.config/hypr/scripts/power.sh lock # Launch Hyprshade +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Start wlogout +bind = CTRL, Tab, exec, ~/.config/ml4w/scripts/focus.sh # Open Select Window Menu +bind = CTRL ALT, T, exec, ~/.config/ml4w/themes/themes.sh # Open Select Window Menu + +# Sidepad +bind = $mainMod CTRL, right, exec, ~/.config/ml4w/scripts/sidepad.sh # Open Sidepad +bind = $mainMod CTRL, left, exec, ~/.config/ml4w/scripts/sidepad.sh --hide # Close Sidepad +bind = $mainMod, S, exec, ~/.config/ml4w/scripts/sidepad.sh --init # Init Sidepad +bind = $mainMod SHIFT, S, exec, ~/.config/ml4w/scripts/sidepad.sh --select # Select Sidepad + +# Workspaces +bind = $mainMod, 1, workspace, 1 # Open workspace 1 +bind = $mainMod, 2, workspace, 2 # Open workspace 2 +bind = $mainMod, 3, workspace, 3 # Open workspace 3 +bind = $mainMod, 4, workspace, 4 # Open workspace 4 +bind = $mainMod, 5, workspace, 5 # Open workspace 5 +bind = $mainMod, 6, workspace, 6 # Open workspace 6 +bind = $mainMod, 7, workspace, 7 # Open workspace 7 +bind = $mainMod, 8, workspace, 8 # Open workspace 8 +bind = $mainMod, 9, workspace, 9 # Open workspace 9 +bind = $mainMod, 0, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, 1, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, 2, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, 3, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, 4, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, 5, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, 6, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, 7, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, 8, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, 9, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, 0, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 + +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ # Increase volume by 5% (max 100% limit also added hold to raise volume) +bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- # Reduce volume by 5% (min 0% limit also added hold to lower volume) +bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- + diff --git a/arch/hypr/.config/conf/keybindings/fr.conf b/arch/hypr/.config/conf/keybindings/fr.conf new file mode 100644 index 0000000..818efd1 --- /dev/null +++ b/arch/hypr/.config/conf/keybindings/fr.conf @@ -0,0 +1,135 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Display +bind = $mainMod SHIFT, mouse_down, exec, hyprctl keyword cursor:zoom_factor $(awk "BEGIN {print $(hyprctl getoption cursor:zoom_factor | grep 'float:' | awk '{print $2}') + 0.5}") # Increase display zoom +bind = $mainMod SHIFT, mouse_up, exec, hyprctl keyword cursor:zoom_factor $(awk "BEGIN {print $(hyprctl getoption cursor:zoom_factor | grep 'float:' | awk '{print $2}') - 0.5}") # Decrease display zoom +bind = $mainMod SHIFT, Z, exec, hyprctl keyword cursor:zoom_factor 1 # Reset display zoom + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill # Quit active window and all open instances +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 # Maximize Window +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, workspaceopt, allfloat # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +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 +bind = $mainMod, G, togglegroup # Toggle window group +bind = $mainMod, K, swapsplit # Swapsplit +bind = $mainMod ALT, left, swapwindow, l # Swap tiled window left +bind = $mainMod ALT, right, swapwindow, r # Swap tiled window right +bind = $mainMod ALT, up, swapwindow, u # Swap tiled window up +bind = $mainMod ALT, down, swapwindow, d # Swap tiled window down +binde = ALT,Tab,cyclenext # Cycle between windows +binde = ALT,Tab,bringactivetotop # Bring active window to the top + +# Actions +bind = $mainMod CTRL, R, exec, hyprctl reload # Reload Hyprland configuration +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, ~/.config/hypr/scripts/launcher.sh # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod CTRL, L, exec, ~/.config/hypr/scripts/power.sh lock # Start wlogout +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Launch Hyprshade +bind = CTRL, Tab, exec, ~/.config/ml4w/scripts/focus.sh # Open Select Window Menu + +# Sidepad +bind = $mainMod CTRL, right, exec, ~/.config/ml4w/scripts/sidepad.sh # Open Sidepad +bind = $mainMod CTRL, left, exec, ~/.config/ml4w/scripts/sidepad.sh --hide # Close Sidepad +bind = $mainMod, S, exec, ~/.config/ml4w/scripts/sidepad.sh --init # Init Sidepad +bind = $mainMod SHIFT, S, exec, ~/.config/ml4w/scripts/sidepad.sh --select # Select Sidepad + +# Workspaces +bind = $mainMod, ampersand, workspace, 1 # Open workspace 1 +bind = $mainMod, eacute, workspace, 2 # Open workspace 2 +bind = $mainMod, quotedbl, workspace, 3 # Open workspace 3 +bind = $mainMod, apostrophe, workspace, 4 # Open workspace 4 +bind = $mainMod, parenleft, workspace, 5 # Open workspace 5 +bind = $mainMod, minus, workspace, 6 # Open workspace 6 +bind = $mainMod, egrave, workspace, 7 # Open workspace 7 +bind = $mainMod, underscore, workspace, 8 # Open workspace 8 +bind = $mainMod, ccedilla, workspace, 9 # Open workspace 9 +bind = $mainMod, agrave, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, eacute, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, minus, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, egrave, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, underscore, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, agrave, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, ampersand, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, eacute, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, quotedbl, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, apostrophe, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, parenleft, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, minus, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, egrave, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, underscore, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, ccedilla, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, agrave, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 + +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- diff --git a/arch/hypr/.config/conf/keyboard.conf b/arch/hypr/.config/conf/keyboard.conf new file mode 100644 index 0000000..d88028d --- /dev/null +++ b/arch/hypr/.config/conf/keyboard.conf @@ -0,0 +1,20 @@ +# ----------------------------------------------------- +# Keyboard Layout +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- + +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + numlock_by_default = true + follow_mouse = 1 + mouse_refocus=false + touchpad { + natural_scroll = false + scroll_factor = 1.0 # Touchpad scroll factor + disable_while_typing = false + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} diff --git a/arch/hypr/.config/conf/layout.conf b/arch/hypr/.config/conf/layout.conf new file mode 100644 index 0000000..25474ce --- /dev/null +++ b/arch/hypr/.config/conf/layout.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/layouts/default.conf diff --git a/arch/hypr/.config/conf/layouts/default.conf b/arch/hypr/.config/conf/layouts/default.conf new file mode 100644 index 0000000..a6af3d2 --- /dev/null +++ b/arch/hypr/.config/conf/layouts/default.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +binds { + workspace_back_and_forth = false + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/arch/hypr/.config/conf/layouts/laptop.conf b/arch/hypr/.config/conf/layouts/laptop.conf new file mode 100644 index 0000000..7b6f9f1 --- /dev/null +++ b/arch/hypr/.config/conf/layouts/laptop.conf @@ -0,0 +1,21 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gesture = 3, horizontal, workspace + +binds { + workspace_back_and_forth = false + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/arch/hypr/.config/conf/misc.conf b/arch/hypr/.config/conf/misc.conf new file mode 100644 index 0000000..c8fa891 --- /dev/null +++ b/arch/hypr/.config/conf/misc.conf @@ -0,0 +1,9 @@ +# ----------------------------------------------------- +# Misc settings +# ----------------------------------------------------- + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + initial_workspace_tracking = 1 +} diff --git a/arch/hypr/.config/conf/ml4w.conf b/arch/hypr/.config/conf/ml4w.conf new file mode 100644 index 0000000..9ee8da2 --- /dev/null +++ b/arch/hypr/.config/conf/ml4w.conf @@ -0,0 +1,149 @@ +# __ _____ _____ __ _____ ___ +# / |/ / / / / / | /| / / / ___/__ ___ / _/ +# / /|_/ / /_/_ _/ |/ |/ / / /__/ _ \/ _ \/ _/ +# /_/ /_/____//_/ |__/|__/ \___/\___/_//_/_/ +# + +# Pavucontrol floating +windowrule = float,class:(.*org.pulseaudio.pavucontrol.*) +windowrule = size 700 600,class:(.*org.pulseaudio.pavucontrol.*) +windowrule = center,class:(.*org.pulseaudio.pavucontrol.*) +windowrule = pin,class:(.*org.pulseaudio.pavucontrol.*) + +# OpenAI ChatGPT floating +windowrule = float,title:(ChatGPT.*) +windowrule = float,title:(.*chat.openai.com.*) +windowrule = size 500 50%,title:(.*chat.openai.com.*) +windowrule = move 20 70,title:(.*chat.openai.com.*) + +# Waypaper +windowrule = float,class:(.*waypaper.*) +windowrule = size 900 700,class:(.*waypaper.*) +windowrule = center,class:(.*waypaper.*) +windowrule = pin,class:(.*waypaper.*) + +# SwayNC +layerrule = blur, swaync-control-center +layerrule = blur, swaync-notification-window +layerrule = ignorezero, swaync-control-center +layerrule = ignorezero, swaync-notification-window +layerrule = ignorealpha 0.5, swaync-control-center +layerrule = ignorealpha 0.5, swaync-notification-window + +# Newelle +windowrule = float,class:(io.github.qwersyk.Newelle) +windowrule = size 1000 700,class:(io.github.qwersyk.Newelle) +windowrule = center,class:(io.github.qwersyk.Newelle) +windowrule = pin,class:(io.github.qwersyk.Newelle) + +# ML4W Calendar floating +windowrule = float,class:(com.ml4w.calendar) +windowrule = move 100%-w-16 66,class:(com.ml4w.calendar) +windowrule = pin, class:(com.ml4w.calendar) +windowrule = size 400 400,class:(com.ml4w.calendar) + +# ML4W Sidebar floating +windowrule = float,class:(com.ml4w.sidebar) +windowrule = move 100%-w-16 66,class:(com.ml4w.sidebar) +windowrule = pin, class:(com.ml4w.sidebar) +windowrule = size 400 660,class:(com.ml4w.sidebar) + +# ML4W Welcome App floating +windowrule = float,class:(com.ml4w.welcome) +windowrule = size 700 600,class:(com.ml4w.welcome) +windowrule = center,class:(com.ml4w.welcome) +windowrule = pin,class:(com.ml4w.welcome) + +# ML4W Settings App floating +windowrule = float,class:(com.ml4w.settings) +windowrule = size 800 600,class:(com.ml4w.settings) +windowrule = move 10% 20%,class:(com.ml4w.settings) + +# Blueman Manager +windowrule = float,class:(blueman-manager) +windowrule = size 800 600,class:(blueman-manager) +windowrule = center,class:(blueman-manager) + +# nwg-look +windowrule = float,class:(nwg-look) +windowrule = size 700 600,class:(nwg-look) +windowrule = move 10% 20%,class:(nwg-look) +windowrule = pin,class:(nwg-look) + +# nwg-displays +windowrule = float,class:(nwg-displays) +windowrule = size 900 600,class:(nwg-displays) +windowrule = move 10% 20%,class:(nwg-displays) +windowrule = pin,class:(nwg-displays) + +# System Mission Center +windowrule = float, class:(io.missioncenter.MissionCenter) +windowrule = pin, class:(io.missioncenter.MissionCenter) +windowrule = center, class:(io.missioncenter.MissionCenter) +windowrule = size 900 600, class:(io.missioncenter.MissionCenter) + +# System Mission Center Preference Window +windowrule = float, class:(missioncenter), title:^(Preferences)$ +windowrule = pin, class:(missioncenter), title:^(Preferences)$ +windowrule = center, class:(missioncenter), title:^(Preferences)$ + +# Gnome Calculator +windowrule = float,class:(org.gnome.Calculator) +windowrule = size 700 600,class:(org.gnome.Calculator) +windowrule = center,class:(org.gnome.Calculator) + +# Hyprland Share Picker +windowrule = float, class:(hyprland-share-picker) +windowrule = pin, class:(hyprland-share-picker) +windowrule = center, title:class:(hyprland-share-picker) +windowrule = size 600 400,class:(hyprland-share-picker) + +# General floating +windowrule = float,class:(dotfiles-floating) +windowrule = size 1000 700,class:(dotfiles-floating) +windowrule = center,class:(dotfiles-floating) + +# Dotfiles Sidepad +windowrule = float,class:(dotfiles-sidepad) +windowrule = size 1000 700,class:(dotfiles-sidepad) +windowrule = center,class:(dotfiles-sidepad) +windowrule = pin,class:(dotfiles-sidepad) + +# Float and center file pickers +windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) +windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save) + +# XDG Desktop Portal +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +# QT +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 + +# GDK +env = GDK_SCALE,1 + +# Toolkit Backend +env = GDK_BACKEND,wayland,x11,* +env = CLUTTER_BACKEND,wayland + +# Mozilla +env = MOZ_ENABLE_WAYLAND,1 + +# Set the cursor size for xcursor +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + +# Ozone +env = OZONE_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,wayland + +# XWayland +xwayland { + force_zero_scaling = true +} \ No newline at end of file diff --git a/arch/hypr/.config/conf/monitor.conf b/arch/hypr/.config/conf/monitor.conf new file mode 100644 index 0000000..5b3f3c8 --- /dev/null +++ b/arch/hypr/.config/conf/monitor.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/monitors/default.conf diff --git a/arch/hypr/.config/conf/monitors/1366x768.conf b/arch/hypr/.config/conf/monitors/1366x768.conf new file mode 100644 index 0000000..eb9f6f0 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/1366x768.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1366x768" +# ----------------------------------------------------- + +monitor=,1366x768,auto,1 diff --git a/arch/hypr/.config/conf/monitors/1440x1080.conf b/arch/hypr/.config/conf/monitors/1440x1080.conf new file mode 100644 index 0000000..5d25ce3 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/1440x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1440x1080" +# ----------------------------------------------------- + +monitor=,1440x1080,auto,1 diff --git a/arch/hypr/.config/conf/monitors/1600x900.conf b/arch/hypr/.config/conf/monitors/1600x900.conf new file mode 100644 index 0000000..69c7eb8 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/1600x900.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1600x900" +# ----------------------------------------------------- + +monitor=,1600x900,auto,1 diff --git a/arch/hypr/.config/conf/monitors/1920x1080.conf b/arch/hypr/.config/conf/monitors/1920x1080.conf new file mode 100644 index 0000000..548279f --- /dev/null +++ b/arch/hypr/.config/conf/monitors/1920x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1080" +# ----------------------------------------------------- + +monitor=,1920x1080,auto,1 diff --git a/arch/hypr/.config/conf/monitors/1920x1200.conf b/arch/hypr/.config/conf/monitors/1920x1200.conf new file mode 100644 index 0000000..8ed321c --- /dev/null +++ b/arch/hypr/.config/conf/monitors/1920x1200.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1200" +# ----------------------------------------------------- + +monitor=,1920x1200,auto,1 diff --git a/arch/hypr/.config/conf/monitors/2560x1440.conf b/arch/hypr/.config/conf/monitors/2560x1440.conf new file mode 100644 index 0000000..b4c9526 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/2560x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440" +# ----------------------------------------------------- + +monitor=,2560x1440,auto,1 diff --git a/arch/hypr/.config/conf/monitors/2560x1440@120.conf b/arch/hypr/.config/conf/monitors/2560x1440@120.conf new file mode 100644 index 0000000..e218ed0 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/2560x1440@120.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1 diff --git a/arch/hypr/.config/conf/monitors/2560x1440@120x125.conf b/arch/hypr/.config/conf/monitors/2560x1440@120x125.conf new file mode 100644 index 0000000..0fa5ddb --- /dev/null +++ b/arch/hypr/.config/conf/monitors/2560x1440@120x125.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120x125" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1.25 diff --git a/arch/hypr/.config/conf/monitors/3440x1440.conf b/arch/hypr/.config/conf/monitors/3440x1440.conf new file mode 100644 index 0000000..4eb9c8c --- /dev/null +++ b/arch/hypr/.config/conf/monitors/3440x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "3440x1440" +# ----------------------------------------------------- + +monitor=,3440x1440,auto,1 diff --git a/arch/hypr/.config/conf/monitors/default.conf b/arch/hypr/.config/conf/monitors/default.conf new file mode 100644 index 0000000..5c16fb7 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/default.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Default" +# ----------------------------------------------------- + +monitor=,preferred,auto,1 diff --git a/arch/hypr/.config/conf/monitors/highres.conf b/arch/hypr/.config/conf/monitors/highres.conf new file mode 100644 index 0000000..68cc043 --- /dev/null +++ b/arch/hypr/.config/conf/monitors/highres.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Highres" +# ----------------------------------------------------- + +monitor=,highres,auto,1 diff --git a/arch/hypr/.config/conf/monitors/nwg-displays.conf b/arch/hypr/.config/conf/monitors/nwg-displays.conf new file mode 100644 index 0000000..953cdff --- /dev/null +++ b/arch/hypr/.config/conf/monitors/nwg-displays.conf @@ -0,0 +1,2 @@ +source = ~/.config/hypr/monitors.conf +source = ~/.config/hypr/workspaces.conf \ No newline at end of file diff --git a/arch/hypr/.config/conf/restorevariations.sh b/arch/hypr/.config/conf/restorevariations.sh new file mode 100755 index 0000000..d6f0abf --- /dev/null +++ b/arch/hypr/.config/conf/restorevariations.sh @@ -0,0 +1,43 @@ +#!/bin/bash +clear +cat <<"EOF" + ___ __ + / _ \___ ___ / /____ _______ + / , _/ -_|_-~/.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 diff --git a/arch/hypr/.config/conf/window.conf b/arch/hypr/.config/conf/window.conf new file mode 100644 index 0000000..8269a9e --- /dev/null +++ b/arch/hypr/.config/conf/window.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windows/default.conf diff --git a/arch/hypr/.config/conf/windowrule.conf b/arch/hypr/.config/conf/windowrule.conf new file mode 100644 index 0000000..a03ddb4 --- /dev/null +++ b/arch/hypr/.config/conf/windowrule.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windowrules/default.conf diff --git a/arch/hypr/.config/conf/windowrules/default.conf b/arch/hypr/.config/conf/windowrules/default.conf new file mode 100644 index 0000000..4cb3f91 --- /dev/null +++ b/arch/hypr/.config/conf/windowrules/default.conf @@ -0,0 +1,29 @@ +# ----------------------------------------------------- +# Window rules +# ----------------------------------------------------- + +windowrule = tile, title:^(Microsoft-edge)$ +windowrule = tile, title:^(Brave-browser)$ +windowrule = tile, title:^(Chromium)$ +windowrule = float, title:^(pavucontrol)$ +windowrule = float, title:^(blueman-manager)$ +windowrule = float, title:^(nm-connection-editor)$ +windowrule = float, title:^(qalculate-gtk)$ + +# Browser Picture in Picture +windowrule = float, title:^(Picture-in-Picture)$ +windowrule = pin, title:^(Picture-in-Picture)$ +windowrule = move 69.5% 4%, title:^(Picture-in-Picture)$ + +# idleinhibit +windowrule = idleinhibit fullscreen,class:([window]) # Available modes: none, always, focus, fullscreen + +#xwayland related rules +# when moving objects in resolve a large border is produced +# This rule prevents that and serves as a template for any problematic xwayland apps +windowrule = noblur, class:^(\bresolve\b)$, xwayland:1 +# This is a general rule for xwayland apps but can have other consequences +# for one user it impacted EMACs so it's disabled by default +# It's here as a reference or for quick triage of xwayland ap +#windowrule = noblur, xwayland:1 + diff --git a/arch/hypr/.config/conf/windows/border-1-reverse.conf b/arch/hypr/.config/conf/windows/border-1-reverse.conf new file mode 100644 index 0000000..7f734c9 --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-1-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 1 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-1.conf b/arch/hypr/.config/conf/windows/border-1.conf new file mode 100644 index 0000000..c860c6e --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-1.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 1 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-2-reverse.conf b/arch/hypr/.config/conf/windows/border-2-reverse.conf new file mode 100644 index 0000000..7027be0 --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-2-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 2 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-2.conf b/arch/hypr/.config/conf/windows/border-2.conf new file mode 100644 index 0000000..f74425f --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-2.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 2 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-3-reverse.conf b/arch/hypr/.config/conf/windows/border-3-reverse.conf new file mode 100644 index 0000000..28596ec --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-3-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 3 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-3.conf b/arch/hypr/.config/conf/windows/border-3.conf new file mode 100644 index 0000000..74ccafb --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-3.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 3 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-4-reverse.conf b/arch/hypr/.config/conf/windows/border-4-reverse.conf new file mode 100644 index 0000000..da6ba30 --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-4-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 4 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/border-4.conf b/arch/hypr/.config/conf/windows/border-4.conf new file mode 100644 index 0000000..fa3ee25 --- /dev/null +++ b/arch/hypr/.config/conf/windows/border-4.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 4 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/default.conf b/arch/hypr/.config/conf/windows/default.conf new file mode 100644 index 0000000..f74425f --- /dev/null +++ b/arch/hypr/.config/conf/windows/default.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 2 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/gamemode.conf b/arch/hypr/.config/conf/windows/gamemode.conf new file mode 100644 index 0000000..c7074af --- /dev/null +++ b/arch/hypr/.config/conf/windows/gamemode.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 0 + gaps_out = 0 + border_size = 1 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/glass.conf b/arch/hypr/.config/conf/windows/glass.conf new file mode 100644 index 0000000..262fb7a --- /dev/null +++ b/arch/hypr/.config/conf/windows/glass.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 1 + col.active_border = $color8 $on_primary 90deg + col.inactive_border = $on_primary + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/no-border-more-gaps.conf b/arch/hypr/.config/conf/windows/no-border-more-gaps.conf new file mode 100644 index 0000000..d5240ac --- /dev/null +++ b/arch/hypr/.config/conf/windows/no-border-more-gaps.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "No Border More Gaps" +# ----------------------------------------------------- + +general { + gaps_in = 20 + gaps_out = 40 + border_size = 0 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/windows/no-border.conf b/arch/hypr/.config/conf/windows/no-border.conf new file mode 100644 index 0000000..65bd05c --- /dev/null +++ b/arch/hypr/.config/conf/windows/no-border.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "No Border" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 20 + border_size = 0 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/arch/hypr/.config/conf/workspace.conf b/arch/hypr/.config/conf/workspace.conf new file mode 100644 index 0000000..821f5ed --- /dev/null +++ b/arch/hypr/.config/conf/workspace.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/workspaces/default.conf diff --git a/arch/hypr/.config/conf/workspaces/default.conf b/arch/hypr/.config/conf/workspaces/default.conf new file mode 100644 index 0000000..32d04ac --- /dev/null +++ b/arch/hypr/.config/conf/workspaces/default.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# General workspace rules +# name: "Default" +# ----------------------------------------------------- + +# Assigning workspace to a certain monitor. Below are just examples +# workspace = 1, monitor:eDP-1 +# workspace = 2, monitor:eDP-1 +# workspace = 3, monitor:eDP-1 +# workspace = 4, monitor:eDP-1 +# workspace = 5, monitor:DP-2 +# workspace = 6, monitor:DP-2 +# workspace = 7, monitor:DP-2 +# workspace = 8, monitor:DP-2 + +# Example rules (from https://wiki.hyprland.org/Configuring/Workspace-Rules/) +# workspace = 3, rounding:false, decorate:false +# workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1 +# workspace = 8,bordersize:8 +# workspace = name:Hello, monitor:DP-1, default:true +# workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true +# workspace = 5, on-created-empty:[float] firefox +# workspace = special:scratchpad, on-created-empty:foot diff --git a/arch/hypr/.config/effects/wallpaper/blackwhite b/arch/hypr/.config/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/arch/hypr/.config/effects/wallpaper/blackwhite-blur b/arch/hypr/.config/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blackwhite-brightness40 b/arch/hypr/.config/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blackwhite-brightness60 b/arch/hypr/.config/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blackwhite-brightness80 b/arch/hypr/.config/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blur1 b/arch/hypr/.config/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/arch/hypr/.config/effects/wallpaper/blur1-brightness40 b/arch/hypr/.config/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blur1-brightness60 b/arch/hypr/.config/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blur1-brightness80 b/arch/hypr/.config/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/arch/hypr/.config/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/arch/hypr/.config/effects/wallpaper/blur2 b/arch/hypr/.config/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/arch/hypr/.config/effects/wallpaper/negate b/arch/hypr/.config/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/arch/hypr/.config/effects/wallpaper/negate-brightness40 b/arch/hypr/.config/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/arch/hypr/.config/effects/wallpaper/negate-brightness60 b/arch/hypr/.config/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/arch/hypr/.config/effects/wallpaper/negate-brightness80 b/arch/hypr/.config/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/arch/hypr/.config/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/arch/hypr/.config/hypridle.conf b/arch/hypr/.config/hypridle.conf new file mode 100644 index 0000000..1381f66 --- /dev/null +++ b/arch/hypr/.config/hypridle.conf @@ -0,0 +1,35 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + # lock_cmd = playerctl --all-players pause && pidof hyprlock || hyprlock # pause all system audio and avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +listener { + timeout = 480 # 8min. + on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = brightnessctl -r # monitor backlight restore. +} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +# listener { +# timeout = 480 # 8min. +# on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. +# on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. +# } + +listener { + timeout = 600 # 10min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 660 # 11min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired. +} + +listener { + timeout = 1800 # 30min + on-timeout = systemctl suspend # suspend pc +} \ No newline at end of file diff --git a/arch/hypr/.config/hyprland.conf b/arch/hypr/.config/hyprland.conf new file mode 100644 index 0000000..4e243bd --- /dev/null +++ b/arch/hypr/.config/hyprland.conf @@ -0,0 +1,74 @@ +# _ _ _ _ +# | | | |_ _ _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| +# +# ----------------------------------------------------- +# 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 + +# ----------------------------------------------------- +# Cursor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/cursor.conf + +# ----------------------------------------------------- +# Environment +# ----------------------------------------------------- +source = ~/.config/hypr/conf/environment.conf + +# ----------------------------------------------------- +# Keyboard +# ----------------------------------------------------- +source = ~/.config/hypr/conf/keyboard.conf + +# ----------------------------------------------------- +# Load color file +# ----------------------------------------------------- +source = ~/.config/hypr/colors.conf +$color8 = $primary +$color11 = $on_surface + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/workspace.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf +source = ~/.config/hypr/conf/windowrule.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf \ No newline at end of file diff --git a/arch/hypr/.config/hyprlock.conf b/arch/hypr/.config/hyprlock.conf new file mode 100644 index 0000000..9fb8a4c --- /dev/null +++ b/arch/hypr/.config/hyprlock.conf @@ -0,0 +1,102 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +# Cache Folder +$ml4w_cache_folder = $HOME/.cache/ml4w/hyprland-dotfiles + +# Source colors +source = colors.conf + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $ml4w_cache_folder/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + inner_color = $primary + font_color = $on_primary + font_family = Fira Semibold + outer_color = $on_primary + outline_thickness = 3 + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = 10 # -1 means complete rounding (circle/oval) + check_color = $primary + fail_color = $error # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center + shadow_passes = 10 + shadow_size = 20 + shadow_color = $shadow + shadow_boost = 1.6 +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = #ffffff + font_size = 70 + font_family = Bebas Neue Regular + position = -50, 20 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = #ffffff + font_size = 20 + font_family = Fira Code Regular + position = -50, 120 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $ml4w_cache_folder/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = 40 # negative values mean circle + border_size = 4 + border_color = $primary + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center + shadow_passes = 10 + shadow_size = 20 + shadow_color = $shadow + shadow_boost = 1.6 +} \ No newline at end of file diff --git a/arch/hypr/.config/hyprpaper.conf b/arch/hypr/.config/hyprpaper.conf new file mode 100644 index 0000000..7456413 --- /dev/null +++ b/arch/hypr/.config/hyprpaper.conf @@ -0,0 +1,3 @@ +preload = $HOME/.config/ml4w/assets/blank.png +wallpaper = ,$HOME/.config/ml4w/assets/blank.png +splash = false \ No newline at end of file diff --git a/arch/hypr/.config/scripts/cleanup.sh b/arch/hypr/.config/scripts/cleanup.sh new file mode 100755 index 0000000..048626c --- /dev/null +++ b/arch/hypr/.config/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ]; then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi diff --git a/arch/hypr/.config/scripts/gamemode.sh b/arch/hypr/.config/scripts/gamemode.sh new file mode 100755 index 0000000..8828e89 --- /dev/null +++ b/arch/hypr/.config/scripts/gamemode.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# __ +# ___ ____ ___ _ ___ __ _ ___ ___/ /__ +# / _ `/ _ `/ ' \/ -_) ' \/ _ \/ _ / -_) +# \_, /\_,_/_/_/_/\__/_/_/_/\___/\_,_/\__/ +# /___/ +# + +ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles" +gamemode_monitor="$HOME/.config/hypr/conf/monitors/gamemode.conf" + +if [ -f $HOME/.config/ml4w/settings/gamemode-enabled ]; then + if [ -f $ml4w_cache_folder/last_monitor.conf ]; then + cat $ml4w_cache_folder/last_monitor.conf > $HOME/.config/hypr/conf/monitor.conf + rm $ml4w_cache_folder/last_monitor.conf + fi + if [ -f $ml4w_cache_folder/restart-wpauto ]; then + rm $ml4w_cache_folder/restart-wpauto + $HOME/.config/hypr/scripts/wallpaper-automation.sh & + fi + hyprctl reload + rm $HOME/.config/ml4w/settings/gamemode-enabled + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + if [ -f $gamemode_monitor ]; then + cat $HOME/.config/hypr/conf/monitor.conf > $ml4w_cache_folder/last_monitor.conf + echo "source = $gamemode_monitor" > $HOME/.config/hypr/conf/monitor.conf + fi + if [ -f $ml4w_cache_folder/wallpaper-automation ]; then + touch $ml4w_cache_folder/restart-wpauto + $HOME/.config/hypr/scripts/wallpaper-automation.sh + fi + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:shadow:enabled 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:active_opacity 1;\ + keyword decoration:inactive_opacity 1;\ + keyword decoration:fullscreen_opacity 1;\ + keyword decoration:rounding 0" + touch $HOME/.config/ml4w/settings/gamemode-enabled + notify-send "Gamemode activated" "Animations and blur disabled" +fi \ No newline at end of file diff --git a/arch/hypr/.config/scripts/gtk.sh b/arch/hypr/.config/scripts/gtk.sh new file mode 100755 index 0000000..805a59e --- /dev/null +++ b/arch/hypr/.config/scripts/gtk.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +# _____________ __ +# / ___/_ __/ //_/ +# / (_ / / / / ,< +# \___/ /_/ /_/|_| +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +# Check that settings file exists +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +# Read settings file +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*//')" +prefer_dark_theme="$(grep 'gtk-application-prefer-dark-theme' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +# Echo value for debugging +echo "GTK-Theme:" $gtk_theme +echo "Icon Theme:" $icon_theme +echo "Cursor Theme:" $cursor_theme +echo "Cursor Size:" $cursor_size +if [[ $prefer_dark_theme == "0" || $prefer_dark_theme == "false" ]]; then + prefer_dark_theme_value="prefer-light" +else + prefer_dark_theme_value="prefer-dark" +fi +echo "Color Theme:" $prefer_dark_theme_value +echo "Font Name:" $font_name +echo "Terminal:" $terminal + +# Update gsettings +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_theme_value" + +# Update cursor for Hyprland +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 + +# Update gsettings for open any terminal +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" \ No newline at end of file diff --git a/arch/hypr/.config/scripts/hypridle.sh b/arch/hypr/.config/scripts/hypridle.sh new file mode 100755 index 0000000..346146f --- /dev/null +++ b/arch/hypr/.config/scripts/hypridle.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# __ __ _ ____ +# / // /_ _____ ____(_)__/ / /__ +# / _ / // / _ \/ __/ / _ / / -_) +# /_//_/\_, / .__/_/ /_/\_,_/_/\__/ +# /___/_/ +# + +SERVICE="hypridle" + +print_status() { + 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 +} + +case "$1" in + status) + # Add a tiny delay to avoid race condition on startup + sleep 0.2 + print_status + ;; + toggle) + if pgrep -x "$SERVICE" >/dev/null ; then + killall "$SERVICE" + else + "$SERVICE" & + fi + # Give it a moment to start/stop before checking again + sleep 0.2 + print_status + ;; + *) + echo "Usage: $0 {status|toggle}" + exit 1 + ;; +esac \ No newline at end of file diff --git a/arch/hypr/.config/scripts/hyprshade.sh b/arch/hypr/.config/scripts/hyprshade.sh new file mode 100755 index 0000000..158d3a1 --- /dev/null +++ b/arch/hypr/.config/scripts/hyprshade.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# _ _ _ _ +# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___ +# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \ +# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/ +# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___| +# |___/|_| +# + +# Remove legacy shaders folder +if [ -d $HOME/.config/hypr/shaders ]; then + rm -rf $HOME/.config/hypr/shaders +fi + +if [[ "$1" == "rofi" ]]; then + + # Open rofi to select the Hyprshade filter for toggle + options="$(hyprshade ls | sed 's/^[ *]*//')\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 + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+H" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # 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/arch/hypr/.config/scripts/keybindings.sh b/arch/hypr/.config/scripts/keybindings.sh new file mode 100755 index 0000000..d331ee6 --- /dev/null +++ b/arch/hypr/.config/scripts/keybindings.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +# __ __ _ ___ +# / /_____ __ __/ / (_)__ ___/ (_)__ ___ ____ +# / '_/ -_) // / _ \/ / _ \/ _ / / _ \/ _ `(_-< +# /_/\_\\__/\_, /_.__/_/_//_/\_,_/_/_//_/\_, /___/ +# /___/ /___/ +# + +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(<~/.config/hypr/conf/keybinding.conf) +config_file=${config_file//source = ~//home/$USER} + +# ----------------------------------------------------- +# Load Launcher +# ----------------------------------------------------- +launcher=$(cat $HOME/.config/ml4w/settings/launcher) + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +echo "Reading from: $config_file" + +keybinds=$(awk -F'[=#]' ' + $1 ~ /^bind/ { + # Replace the string "$mainMod" with "SUPER" (for the super key) + gsub(/\$mainMod/, "SUPER", $0) + + # Remove "bind" and extra spaces, if any, at the beginning of the line + gsub(/^bind[[:space:]]*=+[[:space:]]*/, "", $0) + + # Split the keybinding part (e.g., "Mod1,Return") using a comma + split($1, kbarr, ",") + + # Format the keybinding and associated command and prepare for output: + # Concatenate the two keybinding keys (e.g., "Mod1" + "Return") and append the command + print kbarr[1] " + " kbarr[2] "\r" $2 + } +' "$config_file") + +sleep 0.2 + +if [ "$launcher" == "walker" ]; then + keybinds=$(echo -n "$keybinds" | tr '\r' ':') + $HOME/.config/walker/launch.sh -d -N -H -p "Search Keybinds" <<<"$keybinds" +else + rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<<"$keybinds" +fi diff --git a/arch/hypr/.config/scripts/launcher.sh b/arch/hypr/.config/scripts/launcher.sh new file mode 100755 index 0000000..c813c91 --- /dev/null +++ b/arch/hypr/.config/scripts/launcher.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# ----------------------------------------------------- +# Load Launcher +# ----------------------------------------------------- +launcher=$(cat $HOME/.config/ml4w/settings/launcher) + +# Use Walker +_launch_walker() { + $HOME/.config/walker/launch.sh --height 500 +} + +# Use Rofi +_launch_rofi() { + pkill rofi || rofi -show drun -replace -i +} + +if [ "$launcher" == "walker" ]; then + _launch_walker +else + _launch_rofi +fi diff --git a/arch/hypr/.config/scripts/load-gamemode.sh b/arch/hypr/.config/scripts/load-gamemode.sh new file mode 100755 index 0000000..f5410c4 --- /dev/null +++ b/arch/hypr/.config/scripts/load-gamemode.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# __ +# ___ ____ ___ _ ___ __ _ ___ ___/ /__ +# / _ `/ _ `/ ' \/ -_) ' \/ _ \/ _ / -_) +# \_, /\_,_/_/_/_/\__/_/_/_/\___/\_,_/\__/ +# /___/ +# + +_loadGameMode() { + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:shadow:enabled 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" +} + +if [ -f $HOME/.config/ml4w/settings/gamemode-enabled ]; then + _loadGameMode + notify-send "Gamemode activated" "Animations and blur disabled" +fi \ No newline at end of file diff --git a/arch/hypr/.config/scripts/loadconfig.sh b/arch/hypr/.config/scripts/loadconfig.sh new file mode 100755 index 0000000..23a646c --- /dev/null +++ b/arch/hypr/.config/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +hyprctl reload diff --git a/arch/hypr/.config/scripts/moveTo.sh b/arch/hypr/.config/scripts/moveTo.sh new file mode 100755 index 0000000..9c39ced --- /dev/null +++ b/arch/hypr/.config/scripts/moveTo.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env 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/arch/hypr/.config/scripts/power.sh b/arch/hypr/.config/scripts/power.sh new file mode 100755 index 0000000..ff3c938 --- /dev/null +++ b/arch/hypr/.config/scripts/power.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash +# ___ +# / _ \___ _ _____ ____ +# / ___/ _ \ |/|/ / -_) __/ +# /_/ \___/__,__/\__/_/ +# + +terminate_clients() { + TIMEOUT=5 + # Get a list of all client PIDs in the current Hyprland session + client_pids=$(hyprctl clients -j | jq -r '.[] | .pid') + + # Send SIGTERM (kill -15) to each client PID and wait for termination + for pid in $client_pids; do + echo ":: Sending SIGTERM to PID $pid" + kill -15 $pid + done + + start_time=$(date +%s) + for pid in $client_pids; do + # Wait for the process to terminate + while kill -0 $pid 2>/dev/null; do + current_time=$(date +%s) + elapsed_time=$((current_time - start_time)) + + if [ $elapsed_time -ge $TIMEOUT ]; then + echo ":: Timeout reached." + return 0 + fi + + echo ":: Waiting for PID $pid to terminate..." + sleep 1 + done + + echo ":: PID $pid has terminated." + done + bash $home/.config/ml4w/listeners.sh --stopall +} + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + terminate_clients + sleep 0.5 + hyprctl dispatch exit + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + terminate_clients + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + terminate_clients + 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/arch/hypr/.config/scripts/restart-hypridle.sh b/arch/hypr/.config/scripts/restart-hypridle.sh new file mode 100755 index 0000000..a736eaa --- /dev/null +++ b/arch/hypr/.config/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." diff --git a/arch/hypr/.config/scripts/screenshot.sh b/arch/hypr/.config/scripts/screenshot.sh new file mode 100755 index 0000000..2298e67 --- /dev/null +++ b/arch/hypr/.config/scripts/screenshot.sh @@ -0,0 +1,263 @@ +#!/usr/bin/env bash +# __ __ +# ___ ___________ ___ ___ ___ / / ___ / /_ +# (_-/dev/null' EXIT + sleep 0.1 + + # user selects region; kill picker on cancel + region=$(slurp -b "#00000080" -c "#888888ff" -w 1) || exit 0 + [[ -z "$region" ]] && exit 0 + + # unfreeze screen + kill "$pid_picker" 2>/dev/null + trap - EXIT + + # capture and notify + grim -g "$region" "$NAME" && notify-send -t 1000 "Screenshot saved to $screenshot_folder/$NAME" + [[ -f "$HOME/$NAME" && -d "$screenshot_folder" && -w "$screenshot_folder" ]] && mv "$HOME/$NAME" "$screenshot_folder/" +} + +# Handle instant flags +if [[ "$1" == "--instant" ]]; then + take_instant_full + exit 0 +elif [[ "$1" == "--instant-area" ]]; then + take_instant_area + exit 0 +fi + +# 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 + 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 +} + +# 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/arch/hypr/.config/scripts/systeminfo.sh b/arch/hypr/.config/scripts/systeminfo.sh new file mode 100755 index 0000000..29aeb67 --- /dev/null +++ b/arch/hypr/.config/scripts/systeminfo.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +clear +figlet -f smslant "Systeminfo" +echo +setsid hyprctl systeminfo +echo +echo "Press return to exit" +read diff --git a/arch/hypr/.config/scripts/toggle-animations.sh b/arch/hypr/.config/scripts/toggle-animations.sh new file mode 100755 index 0000000..864cec6 --- /dev/null +++ b/arch/hypr/.config/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env 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 diff --git a/arch/hypr/.config/scripts/toggleallfloat.sh b/arch/hypr/.config/scripts/toggleallfloat.sh new file mode 100755 index 0000000..1c68dea --- /dev/null +++ b/arch/hypr/.config/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/arch/hypr/.config/scripts/wallpaper-automation.sh b/arch/hypr/.config/scripts/wallpaper-automation.sh new file mode 100755 index 0000000..5b9dd60 --- /dev/null +++ b/arch/hypr/.config/scripts/wallpaper-automation.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles" + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f $ml4w_cache_folder/wallpaper-automation ]; then + touch $ml4w_cache_folder/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm $ml4w_cache_folder/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/arch/hypr/.config/scripts/wallpaper-cache.sh b/arch/hypr/.config/scripts/wallpaper-cache.sh new file mode 100755 index 0000000..3e663ae --- /dev/null +++ b/arch/hypr/.config/scripts/wallpaper-cache.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles" +generated_versions="$ml4w_cache_folder/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" diff --git a/arch/hypr/.config/scripts/wallpaper-effects.sh b/arch/hypr/.config/scripts/wallpaper-effects.sh new file mode 100755 index 0000000..1a95db1 --- /dev/null +++ b/arch/hypr/.config/scripts/wallpaper-effects.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles" + +# Get current wallpaper +cache_file="$ml4w_cache_folder/current_wallpaper" + +if [ $1 == "reload" ]; then + # Releod wallpaper with current effect + waypaper --wallpaper $(cat $cache_file) +else + # 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 + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) + fi +fi diff --git a/arch/hypr/.config/scripts/wallpaper-restore.sh b/arch/hypr/.config/scripts/wallpaper-restore.sh new file mode 100755 index 0000000..766ab2f --- /dev/null +++ b/arch/hypr/.config/scripts/wallpaper-restore.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles" + +defaultwallpaper="$HOME/.config/ml4w/wallpapers/default.jpg" + +cachefile="$ml4w_cache_folder/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +if [ -f ~/.local/bin/waypaper ]; then + export PATH=$PATH:~/.local/bin/ +fi +waypaper --wallpaper "$wallpaper" diff --git a/arch/hypr/.config/scripts/wallpaper.sh b/arch/hypr/.config/scripts/wallpaper.sh new file mode 100755 index 0000000..57fd34c --- /dev/null +++ b/arch/hypr/.config/scripts/wallpaper.sh @@ -0,0 +1,201 @@ +#!/usr/bin/env bash +# _ __ ____ +# | | /| / /__ _/ / /__ ___ ____ ___ ____ +# | |/ |/ / _ `/ / / _ \/ _ `/ _ \/ -_) __/ +# |__/|__/\_,_/_/_/ .__/\_,_/ .__/\__/_/ +# /_/ /_/ + +# Source library.sh +source $HOME/.config/ml4w/library.sh + +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + _writeLog "Using Wallpaper Cache" +else + use_cache=0 + _writeLog "Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Create cache folder +# ----------------------------------------------------- +ml4w_cache_folder="$HOME/.cache/ml4w/hyprland-dotfiles" + +if [ ! -d $ml4w_cache_folder ]; then + mkdir -p $ml4w_cache_folder +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 + +# Cache for generated wallpapers with effects +generatedversions="$ml4w_cache_folder/wallpaper-generated" +if [ ! -d $generatedversions ]; then + mkdir -p $generatedversions +fi + +# Will be set when waypaper is running +waypaperrunning=$ml4w_cache_folder/waypaper-running +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +cachefile="$ml4w_cache_folder/current_wallpaper" +blurredwallpaper="$ml4w_cache_folder/blurred_wallpaper.png" +squarewallpaper="$ml4w_cache_folder/square_wallpaper.png" +rasifile="$ml4w_cache_folder/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/.config/ml4w/wallpapers/default.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +_writeLog "Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" > $cachefile +_writeLog "Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- + +wallpaperfilename=$(basename $wallpaper) +_writeLog "Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + _writeLog "Use cached wallpaper $effect-$wallpaperfilename" + else + _writeLog "Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + _writeLog "Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + _writeLog "Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + _writeLog "Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Detect Theme +# ----------------------------------------------------- + +SETTINGS_FILE="$HOME/.config/gtk-3.0/settings.ini" +THEME_PREF=$(grep -E '^gtk-application-prefer-dark-theme=' "$SETTINGS_FILE" | awk -F'=' '{print $2}') + +# ----------------------------------------------------- +# Execute matugen +# ----------------------------------------------------- + +_writeLog "Execute matugen with $used_wallpaper" +if [ "$THEME_PREF" -eq 1 ]; then + $HOME/.local/bin/matugen image $used_wallpaper -m "dark" +else + $HOME/.local/bin/matugen image $used_wallpaper -m "light" +fi + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +sleep 1 +$HOME/.config/waybar/launch.sh + +# ----------------------------------------------------- +# Reload nwg-dock-hyprland +# ----------------------------------------------------- + +$HOME/.config/nwg-dock-hyprland/launch.sh & + +# ----------------------------------------------------- +# Update Pywalfox +# ----------------------------------------------------- + +if type pywalfox >/dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Update SwayNC +# ----------------------------------------------------- + +sleep 0.1 +swaync-client -rs + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + _writeLog "Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + _writeLog "Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + _writeLog "Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + _writeLog "Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" >"$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +_writeLog "Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png diff --git a/arch/hypr/.config/scripts/waypaper.sh b/arch/hypr/.config/scripts/waypaper.sh new file mode 100755 index 0000000..b2978b1 --- /dev/null +++ b/arch/hypr/.config/scripts/waypaper.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +if [ -f /usr/bin/waypaper ]; then + echo ":: Launching waybar in /usr/bin" + waypaper $1 & +elif [ -f $HOME/.local/bin/waypaper ]; then + echo ":: Launching waybar in $HOME/.local/bin" + $HOME/.local/bin/waypaper $1 & +else + echo ":: waypaper not found" +fi diff --git a/arch/hypr/.config/scripts/xdg.sh b/arch/hypr/.config/scripts/xdg.sh new file mode 100755 index 0000000..d6f00df --- /dev/null +++ b/arch/hypr/.config/scripts/xdg.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" +_sleep4="1" + +sleep $_sleep4 + +# 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 + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep3 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ]; then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +# ~/.config/waybar/launch.sh