diff --git a/config/files/var/home/.config/.settings/blur.sh b/config/files/var/home/.config/.settings/blur.sh
new file mode 100644
index 0000000..4ffc966
--- /dev/null
+++ b/config/files/var/home/.config/.settings/blur.sh
@@ -0,0 +1 @@
+50x30
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/browser.sh b/config/files/var/home/.config/.settings/browser.sh
new file mode 100755
index 0000000..e090179
--- /dev/null
+++ b/config/files/var/home/.config/.settings/browser.sh
@@ -0,0 +1 @@
+chromium
diff --git a/config/files/var/home/.config/.settings/editor.sh b/config/files/var/home/.config/.settings/editor.sh
new file mode 100755
index 0000000..4401e48
--- /dev/null
+++ b/config/files/var/home/.config/.settings/editor.sh
@@ -0,0 +1 @@
+mousepad
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/eww-monitor.sh b/config/files/var/home/.config/.settings/eww-monitor.sh
new file mode 100755
index 0000000..4d18c3e
--- /dev/null
+++ b/config/files/var/home/.config/.settings/eww-monitor.sh
@@ -0,0 +1 @@
+auto
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/filemanager.sh b/config/files/var/home/.config/.settings/filemanager.sh
new file mode 100755
index 0000000..467c46c
--- /dev/null
+++ b/config/files/var/home/.config/.settings/filemanager.sh
@@ -0,0 +1 @@
+dolphin
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/hyprpaper.tpl b/config/files/var/home/.config/.settings/hyprpaper.tpl
new file mode 100644
index 0000000..3033ff3
--- /dev/null
+++ b/config/files/var/home/.config/.settings/hyprpaper.tpl
@@ -0,0 +1,8 @@
+# Preload Wallpapers
+preload = WALLPAPER
+
+# Set Wallpapers
+wallpaper = ,WALLPAPER
+
+# Disable Splash
+splash = false
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/networkmanager.sh b/config/files/var/home/.config/.settings/networkmanager.sh
new file mode 100755
index 0000000..f3d8804
--- /dev/null
+++ b/config/files/var/home/.config/.settings/networkmanager.sh
@@ -0,0 +1 @@
+nm-connection-editor
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/rofi-border.rasi b/config/files/var/home/.config/.settings/rofi-border.rasi
new file mode 100644
index 0000000..e533468
--- /dev/null
+++ b/config/files/var/home/.config/.settings/rofi-border.rasi
@@ -0,0 +1 @@
+* { border-width: 3px; }
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/rofi-font.rasi b/config/files/var/home/.config/.settings/rofi-font.rasi
new file mode 100644
index 0000000..a2497c3
--- /dev/null
+++ b/config/files/var/home/.config/.settings/rofi-font.rasi
@@ -0,0 +1 @@
+configuration { font: "Fira Sans 11"; }
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/software.sh b/config/files/var/home/.config/.settings/software.sh
new file mode 100755
index 0000000..61bd6e1
--- /dev/null
+++ b/config/files/var/home/.config/.settings/software.sh
@@ -0,0 +1 @@
+alacritty -e pacseek
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/terminal.sh b/config/files/var/home/.config/.settings/terminal.sh
new file mode 100755
index 0000000..1140cfa
--- /dev/null
+++ b/config/files/var/home/.config/.settings/terminal.sh
@@ -0,0 +1 @@
+pytaxis
\ No newline at end of file
diff --git a/config/files/var/home/.config/.settings/wallpaper-engine.sh b/config/files/var/home/.config/.settings/wallpaper-engine.sh
new file mode 100644
index 0000000..b6923b6
--- /dev/null
+++ b/config/files/var/home/.config/.settings/wallpaper-engine.sh
@@ -0,0 +1 @@
+hyprpaper
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/animation.conf b/config/files/var/home/.config/hypr/conf/animation.conf
new file mode 100644
index 0000000..a210389
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/animation.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/animations/default.conf
diff --git a/config/files/var/home/.config/hypr/conf/animations/animation-moving.conf b/config/files/var/home/.config/hypr/conf/animations/animation-moving.conf
new file mode 100644
index 0000000..7c43e04
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/animations/animation-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/config/files/var/home/.config/hypr/conf/animations/animations-fast.conf b/config/files/var/home/.config/hypr/conf/animations/animations-fast.conf
new file mode 100644
index 0000000..a74f411
--- /dev/null
+++ b/config/files/var/home/.config/hypr/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
+}
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/animations/animations-high.conf b/config/files/var/home/.config/hypr/conf/animations/animations-high.conf
new file mode 100644
index 0000000..2fc765f
--- /dev/null
+++ b/config/files/var/home/.config/hypr/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/config/files/var/home/.config/hypr/conf/animations/default.conf b/config/files/var/home/.config/hypr/conf/animations/default.conf
new file mode 100644
index 0000000..ba78c65
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/animations/default.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/config/files/var/home/.config/hypr/conf/animations/disabled.conf b/config/files/var/home/.config/hypr/conf/animations/disabled.conf
new file mode 100644
index 0000000..c9e31c4
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/animations/disabled.conf
@@ -0,0 +1,7 @@
+# -----------------------------------------------------
+# Animations
+# name "Default"
+# -----------------------------------------------------
+animations {
+ enabled = false
+}
diff --git a/config/files/var/home/.config/hypr/conf/autostart.conf b/config/files/var/home/.config/hypr/conf/autostart.conf
new file mode 100644
index 0000000..780cf20
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/autostart.conf
@@ -0,0 +1,27 @@
+# -----------------------------------------------------
+# Autostart
+# -----------------------------------------------------
+
+# Setup XDG for screen sharing
+exec-once = ~/.config/hypr/scripts/xdg.sh
+
+# Start Polkit
+exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
+
+# Load Dunst Notification Manager
+exec-once = dunst
+
+# Load GTK settings
+exec-once = ~/.config/hypr/scripts/gtk.sh
+
+# Using hypridle to start hyprlock
+exec-once = hypridle
+
+# Load cliphist history
+exec-once = wl-paste --watch cliphist store
+
+# Initialize Wallpaper Engine
+exec-once = ~/.config/hypr/scripts/init-wallpaper-engine.sh
+
+# Start ewww daemon
+# exec-once = ~/.config/hypr/scripts/eww.sh
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/cursor.conf b/config/files/var/home/.config/hypr/conf/cursor.conf
new file mode 100644
index 0000000..b3b3493
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/cursor.conf
@@ -0,0 +1 @@
+exec-once = hyprctl setcursor Bibata-Modern-Ice 24
diff --git a/config/files/var/home/.config/hypr/conf/custom.conf b/config/files/var/home/.config/hypr/conf/custom.conf
new file mode 100644
index 0000000..6b45d57
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/custom.conf
@@ -0,0 +1,12 @@
+# Add your additional Hyprland configurations here
+#
+# This is an additional key binding
+# bind = $mainMod CTRL, up, workspace, empty
+#
+# Example for xwayland
+# xwayland {
+# force_zero_scaling = true
+# }
+
+# qt5ct environment variable
+# env = QT_QPA_PLATFORMTHEME,qt5ct
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/decoration.conf b/config/files/var/home/.config/hypr/conf/decoration.conf
new file mode 100644
index 0000000..9e49187
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decoration.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/decorations/default.conf
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/decorations/default.conf b/config/files/var/home/.config/hypr/conf/decorations/default.conf
new file mode 100644
index 0000000..ab5bc81
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/default.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Default"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 10
+ blur {
+ enabled = true
+ size = 6
+ passes = 2
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ # blurls = waybar
+ }
+ active_opacity = 1.0
+ inactive_opacity = 0.8
+ fullscreen_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/decorations/no-rounding-more-blur.conf b/config/files/var/home/.config/hypr/conf/decorations/no-rounding-more-blur.conf
new file mode 100644
index 0000000..b83b4cf
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/no-rounding-more-blur.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "No Rounding More Blur"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 0
+ blur {
+ enabled = true
+ size = 12
+ passes = 6
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ # blurls = waybar
+ }
+ active_opacity = 1.0
+ inactive_opacity = 0.6
+ fullscreen_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/decorations/no-rounding.conf b/config/files/var/home/.config/hypr/conf/decorations/no-rounding.conf
new file mode 100644
index 0000000..d19e7c7
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/no-rounding.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "No Rounding"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 0
+ blur {
+ enabled = true
+ size = 6
+ passes = 2
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ # blurls = waybar
+ }
+ active_opacity = 1.0
+ inactive_opacity = 0.8
+ fullscreen_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/decorations/rounding-all-blur-no-shadows.conf b/config/files/var/home/.config/hypr/conf/decorations/rounding-all-blur-no-shadows.conf
new file mode 100644
index 0000000..00131b6
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/rounding-all-blur-no-shadows.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Rounding All Blur No Shadows"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 10
+ blur {
+ enabled = true
+ size = 12
+ passes = 4
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ blurls = waybar
+ }
+ active_opacity = 0.9
+ inactive_opacity = 0.6
+ fullscreen_opacity = 0.9
+
+ drop_shadow = false
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/decorations/rounding-all-blur.conf b/config/files/var/home/.config/hypr/conf/decorations/rounding-all-blur.conf
new file mode 100644
index 0000000..d8ead80
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/rounding-all-blur.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Rounding All Blur"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 10
+ blur {
+ enabled = true
+ size = 12
+ passes = 4
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ blurls = waybar
+ }
+ active_opacity = 0.9
+ inactive_opacity = 0.6
+ fullscreen_opacity = 0.9
+
+ drop_shadow = true
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/decorations/rounding-more-blur.conf b/config/files/var/home/.config/hypr/conf/decorations/rounding-more-blur.conf
new file mode 100644
index 0000000..a2a9b21
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/rounding-more-blur.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Rounding More Blur"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 10
+ blur {
+ enabled = true
+ size = 12
+ passes = 6
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ # blurls = waybar
+ }
+ active_opacity = 1.0
+ inactive_opacity = 0.6
+ fullscreen_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/decorations/rounding.conf b/config/files/var/home/.config/hypr/conf/decorations/rounding.conf
new file mode 100644
index 0000000..ab5bc81
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/decorations/rounding.conf
@@ -0,0 +1,25 @@
+# -----------------------------------------------------
+# General window decoration
+# name: "Default"
+# -----------------------------------------------------
+
+decoration {
+ rounding = 10
+ blur {
+ enabled = true
+ size = 6
+ passes = 2
+ new_optimizations = on
+ ignore_opacity = true
+ xray = true
+ # blurls = waybar
+ }
+ active_opacity = 1.0
+ inactive_opacity = 0.8
+ fullscreen_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 30
+ shadow_render_power = 3
+ col.shadow = 0x66000000
+}
diff --git a/config/files/var/home/.config/hypr/conf/environment.conf b/config/files/var/home/.config/hypr/conf/environment.conf
new file mode 100644
index 0000000..44e6f6d
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/environment.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/environments/default.conf
diff --git a/config/files/var/home/.config/hypr/conf/environments/default.conf b/config/files/var/home/.config/hypr/conf/environments/default.conf
new file mode 100644
index 0000000..8f22e1b
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/environments/default.conf
@@ -0,0 +1,14 @@
+# -----------------------------------------------------
+# Environment Variables
+# name: "Default"
+# -----------------------------------------------------
+
+env = XCURSOR_SIZE,24
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = QT_QPA_PLATFORM,wayland
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1
+env = MOZ_ENABLE_WAYLAND,1
+env = GDK_SCALE,1
diff --git a/config/files/var/home/.config/hypr/conf/environments/kvm.conf b/config/files/var/home/.config/hypr/conf/environments/kvm.conf
new file mode 100644
index 0000000..d63d5f7
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/environments/kvm.conf
@@ -0,0 +1,16 @@
+# -----------------------------------------------------
+# Environment Variables
+# name: "KVM"
+# -----------------------------------------------------
+
+env = XCURSOR_SIZE,24
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = QT_QPA_PLATFORM,wayland
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1
+env = MOZ_ENABLE_WAYLAND,1
+env = GDK_SCALE,1
+env = WLR_NO_HARDWARE_CURSORS, 1
+env = WLR_RENDERER_ALLOW_SOFTWARE, 1
diff --git a/config/files/var/home/.config/hypr/conf/environments/nvidia.conf b/config/files/var/home/.config/hypr/conf/environments/nvidia.conf
new file mode 100644
index 0000000..fca9e41
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/environments/nvidia.conf
@@ -0,0 +1,15 @@
+# -----------------------------------------------------
+# Environment Variables
+# name: "Nvidia"
+# -----------------------------------------------------
+
+# https://wiki.hyprland.org/Nvidia/
+env = XCURSOR_SIZE,24
+env = QT_QPA_PLATFORM,wayland
+env = WLR_NO_HARDWARE_CURSORS,1
+env = LIBVA_DRIVER_NAME,nvidia
+env = XDG_SESSION_TYPE,wayland
+env = GBM_BACKEND,nvidia-drm
+env = __GLX_VENDOR_LIBRARY_NAME,nvidia
+# env = __GL_VRR_ALLOWED,1
+# env = WLR_DRM_NO_ATOMIC,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/keybinding.conf b/config/files/var/home/.config/hypr/conf/keybinding.conf
new file mode 100644
index 0000000..b3b4d58
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/keybinding.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/keybindings/default.conf
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/keybindings/default.conf b/config/files/var/home/.config/hypr/conf/keybindings/default.conf
new file mode 100644
index 0000000..c433832
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/keybindings/default.conf
@@ -0,0 +1,91 @@
+# -----------------------------------------------------
+# Key bindings
+# name: "Default"
+# -----------------------------------------------------
+
+# SUPER KEY
+$mainMod = SUPER
+
+# Applications
+bind = $mainMod, RETURN, exec, ~/.config/.settings/terminal.sh
+bind = $mainMod, B, exec, ~/.config/.settings/browser.sh
+bind = $mainMod, period, exec, emote
+
+# Windows
+bind = $mainMod, Q, killactive
+bind = $mainMod, F, fullscreen
+bind = $mainMod, E, exec, ~/.config/.settings/filemanager.sh
+bind = $mainMod, T, togglefloating
+bind = $mainMod SHIFT, T, exec, ~/.config/hypr/scripts/toggleallfloat.sh
+bind = $mainMod, J, togglesplit
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+bind = $mainMod SHIFT, right, resizeactive, 100 0
+bind = $mainMod SHIFT, left, resizeactive, -100 0
+bind = $mainMod SHIFT, up, resizeactive, 0 -100
+bind = $mainMod SHIFT, down, resizeactive, 0 100
+bind = $mainMod, G, togglegroup
+
+# Actions
+bind = $mainMod SHIFT, A, exec, ~/.config/hypr/scripts/toggle-animations.sh
+bind = $mainMod, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh
+bind = $mainMod CTRL, Q, exec, wlogout
+bind = $mainMod SHIFT, W, exec, ~/.config/hypr/scripts/wallpaper.sh
+bind = $mainMod CTRL, W, exec, ~/.config/hypr/scripts/wallpaper.sh select
+bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i
+bind = $mainMod CTRL, H, exec, ~/.config/hypr/scripts/keybindings.sh
+bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh
+bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/loadconfig.sh
+bind = $mainMod CTRL, C, exec, ~/.config/scripts/cliphist.sh
+bind = $mainMod, V, exec, ~/.config/scripts/cliphist.sh
+bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh
+
+# Workspaces
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+bind = $mainMod CTRL, down, workspace, empty
+
+# Fn keys
+bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10%
+bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%-
+bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
+bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
+bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bind = , XF86AudioPlay, exec, playerctl play-pause
+bind = , XF86AudioPause, exec, playerctl pause
+bind = , XF86AudioNext, exec, playerctl next
+bind = , XF86AudioPrev, exec, playerctl previous
+bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
+bind = , XF86Calculator, exec, qalculate-gtk
+bind = , XF86Lock, exec, hyprlock
+bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/.config/hypr/settings/settings.sh
+
+# Passthrough SUPER KEY to Virtual Machine
+bind = $mainMod, P, submap, passthru
+submap = passthru
+bind = SUPER, Escape, submap, reset
+submap = reset
diff --git a/config/files/var/home/.config/hypr/conf/keyboard.conf b/config/files/var/home/.config/hypr/conf/keyboard.conf
new file mode 100644
index 0000000..38594c1
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/keyboard.conf
@@ -0,0 +1,17 @@
+# -----------------------------------------------------
+# Keyboard Layout
+# https://wiki.hyprland.org/Configuring/Variables/#input
+# -----------------------------------------------------
+input {
+ kb_layout = be
+ kb_variant =
+ kb_model =
+ kb_options =
+ numlock_by_default = true
+ follow_mouse = 1
+ mouse_refocus=false
+ touchpad {
+ natural_scroll = false
+ }
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+}
diff --git a/config/files/var/home/.config/hypr/conf/layout.conf b/config/files/var/home/.config/hypr/conf/layout.conf
new file mode 100644
index 0000000..dc78a62
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/layout.conf
@@ -0,0 +1,16 @@
+# -----------------------------------------------------
+# Layouts
+# -----------------------------------------------------
+
+dwindle {
+ pseudotile = true
+ preserve_split = true
+}
+
+master {
+ new_is_master = true
+}
+
+gestures {
+ workspace_swipe = false
+}
diff --git a/config/files/var/home/.config/hypr/conf/misc.conf b/config/files/var/home/.config/hypr/conf/misc.conf
new file mode 100644
index 0000000..50b28d5
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/misc.conf
@@ -0,0 +1,8 @@
+# -----------------------------------------------------
+# Misc settings
+# -----------------------------------------------------
+
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+}
diff --git a/config/files/var/home/.config/hypr/conf/monitor.conf b/config/files/var/home/.config/hypr/conf/monitor.conf
new file mode 100644
index 0000000..5b3f3c8
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitor.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/monitors/default.conf
diff --git a/config/files/var/home/.config/hypr/conf/monitors/1366x768.conf b/config/files/var/home/.config/hypr/conf/monitors/1366x768.conf
new file mode 100644
index 0000000..0b6a7ca
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/1366x768.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "1366x768"
+# -----------------------------------------------------
+
+monitor=,1366x768,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/1440x1080.conf b/config/files/var/home/.config/hypr/conf/monitors/1440x1080.conf
new file mode 100644
index 0000000..032c75b
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/1440x1080.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "1440x1080"
+# -----------------------------------------------------
+
+monitor=,1440x1080,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/1920x1080.conf b/config/files/var/home/.config/hypr/conf/monitors/1920x1080.conf
new file mode 100644
index 0000000..0f654be
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/1920x1080.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "1920x1080"
+# -----------------------------------------------------
+
+monitor=,1920x1080,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/1920x1200.conf b/config/files/var/home/.config/hypr/conf/monitors/1920x1200.conf
new file mode 100644
index 0000000..aac5f4d
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/1920x1200.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "1920x1200"
+# -----------------------------------------------------
+
+monitor=,1920x1200,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/2560x1440.conf b/config/files/var/home/.config/hypr/conf/monitors/2560x1440.conf
new file mode 100644
index 0000000..cbb7710
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/2560x1440.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "2560x1440"
+# -----------------------------------------------------
+
+monitor=,2560x1440,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/2560x1440@120.conf b/config/files/var/home/.config/hypr/conf/monitors/2560x1440@120.conf
new file mode 100644
index 0000000..f777ec1
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/2560x1440@120.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "2560x1440@120"
+# -----------------------------------------------------
+
+monitor=,2560x1440@120,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/3440x1440.conf b/config/files/var/home/.config/hypr/conf/monitors/3440x1440.conf
new file mode 100644
index 0000000..3e0ee1b
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/3440x1440.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "3440x1440"
+# -----------------------------------------------------
+
+monitor=,3440x1440,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/default.conf b/config/files/var/home/.config/hypr/conf/monitors/default.conf
new file mode 100644
index 0000000..1eced60
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/default.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "Default"
+# -----------------------------------------------------
+
+monitor=,preferred,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/monitors/highres.conf b/config/files/var/home/.config/hypr/conf/monitors/highres.conf
new file mode 100644
index 0000000..8cb32bd
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/monitors/highres.conf
@@ -0,0 +1,6 @@
+# -----------------------------------------------------
+# Monitor Setup
+# name: "Highres"
+# -----------------------------------------------------
+
+monitor=,highres,auto,1
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/window.conf b/config/files/var/home/.config/hypr/conf/window.conf
new file mode 100644
index 0000000..8269a9e
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/window.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/windows/default.conf
diff --git a/config/files/var/home/.config/hypr/conf/windowrule.conf b/config/files/var/home/.config/hypr/conf/windowrule.conf
new file mode 100644
index 0000000..5f41c07
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windowrule.conf
@@ -0,0 +1 @@
+source = ~/.config/hypr/conf/windowrules/default.conf
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/conf/windowrules/default.conf b/config/files/var/home/.config/hypr/conf/windowrules/default.conf
new file mode 100644
index 0000000..86b137f
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windowrules/default.conf
@@ -0,0 +1,11 @@
+# -----------------------------------------------------
+# Window rules
+# -----------------------------------------------------
+
+windowrule = tile,^(Microsoft-edge)$
+windowrule = tile,^(Brave-browser)$
+windowrule = tile,^(Chromium)$
+windowrule = float,^(pavucontrol)$
+windowrule = float,^(blueman-manager)$
+windowrule = float,^(nm-connection-editor)$
+windowrule = float,^(qalculate-gtk)$
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-1-reverse.conf b/config/files/var/home/.config/hypr/conf/windows/border-1-reverse.conf
new file mode 100644
index 0000000..671957c
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-1-reverse.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 1
+ col.active_border = rgba(ffffffff)
+ col.inactive_border = $color11
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-1.conf b/config/files/var/home/.config/hypr/conf/windows/border-1.conf
new file mode 100644
index 0000000..cd09761
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-1.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 1
+ col.active_border = $color11
+ col.inactive_border = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-2-reverse.conf b/config/files/var/home/.config/hypr/conf/windows/border-2-reverse.conf
new file mode 100644
index 0000000..4124390
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-2-reverse.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 2
+ col.active_border = rgba(ffffffff)
+ col.inactive_border = $color11
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-2.conf b/config/files/var/home/.config/hypr/conf/windows/border-2.conf
new file mode 100644
index 0000000..b880c5d
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-2.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 2
+ col.active_border = $color11
+ col.inactive_border = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-3-reverse.conf b/config/files/var/home/.config/hypr/conf/windows/border-3-reverse.conf
new file mode 100644
index 0000000..afe2c99
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-3-reverse.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 3
+ col.active_border = rgba(ffffffff)
+ col.inactive_border = $color11
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-3.conf b/config/files/var/home/.config/hypr/conf/windows/border-3.conf
new file mode 100644
index 0000000..9ac7993
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-3.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 3
+ col.active_border = $color11
+ col.inactive_border = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-4-reverse.conf b/config/files/var/home/.config/hypr/conf/windows/border-4-reverse.conf
new file mode 100644
index 0000000..4af6c24
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-4-reverse.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 4
+ col.active_border = rgba(ffffffff)
+ col.inactive_border = $color11
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/border-4.conf b/config/files/var/home/.config/hypr/conf/windows/border-4.conf
new file mode 100644
index 0000000..dcc1d04
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/border-4.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 4
+ col.active_border = $color11
+ col.inactive_border = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/default.conf b/config/files/var/home/.config/hypr/conf/windows/default.conf
new file mode 100644
index 0000000..9ac7993
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/default.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "Default"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 3
+ col.active_border = $color11
+ col.inactive_border = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/no-border-more-gaps.conf b/config/files/var/home/.config/hypr/conf/windows/no-border-more-gaps.conf
new file mode 100644
index 0000000..14df4cd
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/no-border-more-gaps.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# 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 = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/conf/windows/no-border.conf b/config/files/var/home/.config/hypr/conf/windows/no-border.conf
new file mode 100644
index 0000000..1563908
--- /dev/null
+++ b/config/files/var/home/.config/hypr/conf/windows/no-border.conf
@@ -0,0 +1,13 @@
+# -----------------------------------------------------
+# General window layout and colors
+# name: "No Border"
+# -----------------------------------------------------
+
+general {
+ gaps_in = 10
+ gaps_out = 14
+ border_size = 0
+ col.active_border = $color11
+ col.inactive_border = rgba(ffffffff)
+ layout = dwindle
+}
diff --git a/config/files/var/home/.config/hypr/hypridle.conf b/config/files/var/home/.config/hypr/hypridle.conf
new file mode 100644
index 0000000..d02b4ea
--- /dev/null
+++ b/config/files/var/home/.config/hypr/hypridle.conf
@@ -0,0 +1,47 @@
+# _ _ _ _
+# | |__ _ _ _ __ _ __(_) __| | | ___
+# | '_ \| | | | '_ \| '__| |/ _` | |/ _ \
+# | | | | |_| | |_) | | | | (_| | | __/
+# |_| |_|\__, | .__/|_| |_|\__,_|_|\___|
+# |___/|_|
+#
+# Version 2.8.3
+# DO NOT REMOVE THE REPLACEMENT COMMENTS
+# REQUIRED BY THE ML4W SETTINGS APP
+# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/
+
+# general {
+# ignore_dbus_inhibit = false
+# }
+
+general {
+ lock_cmd = pidof hyprlock || hyprlock # 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.
+}
+
+# Screenlock
+listener {
+ # HYPRLOCK TIMEOUT
+ timeout = 600
+ # HYPRLOCK ONTIMEOUT
+ on-timeout = loginctl lock-session
+}
+
+# dpms
+listener {
+ # DPMS TIMEOUT
+ timeout = 660
+ # DPMS ONTIMEOUT
+ on-timeout = hyprctl dispatch dpms off
+ # DPMS ONRESUME
+ on-resume = hyprctl dispatch dpms on
+}
+
+# Suspend
+listener {
+ # SUSPEND TIMEOUT
+ timeout = 1800
+ #SUSPEND ONTIMEOUT
+ on-timeout = systemctl suspend
+}
diff --git a/config/files/var/home/.config/hypr/hyprland.conf b/config/files/var/home/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..6738e28
--- /dev/null
+++ b/config/files/var/home/.config/hypr/hyprland.conf
@@ -0,0 +1,49 @@
+# -----------------------------------------------------
+# Monitor
+# -----------------------------------------------------
+source = ~/.config/hypr/conf/monitor.conf
+
+# -----------------------------------------------------
+# Autostart
+# -----------------------------------------------------
+source = ~/.config/hypr/conf/autostart.conf
+
+# -----------------------------------------------------
+# Cursor
+# -----------------------------------------------------
+source = ~/.config/hypr/conf/cursor.conf
+
+# -----------------------------------------------------
+# Environment
+# -----------------------------------------------------
+source = ~/.config/hypr/conf/environment.conf
+
+# -----------------------------------------------------
+# Keyboard
+# -----------------------------------------------------
+source = ~/.config/hypr/conf/keyboard.conf
+
+# -----------------------------------------------------
+# Load pywal color file
+# -----------------------------------------------------
+source = ~/.cache/wal/colors-hyprland.conf
+
+# -----------------------------------------------------
+# Load configuration files
+# -----------------------------------------------------
+source = ~/.config/hypr/conf/window.conf
+source = ~/.config/hypr/conf/decoration.conf
+source = ~/.config/hypr/conf/layout.conf
+source = ~/.config/hypr/conf/misc.conf
+source = ~/.config/hypr/conf/keybinding.conf
+source = ~/.config/hypr/conf/windowrule.conf
+
+# -----------------------------------------------------
+# 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
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/hyprlock.conf b/config/files/var/home/.config/hypr/hyprlock.conf
new file mode 100644
index 0000000..65a8b97
--- /dev/null
+++ b/config/files/var/home/.config/hypr/hyprlock.conf
@@ -0,0 +1,83 @@
+# _ _ _
+# | |__ _ _ _ __ _ __| | ___ ___| | __
+# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ /
+# | | | | |_| | |_) | | | | (_) | (__| <
+# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\
+# |___/|_|
+#
+
+background {
+ monitor =
+ path = $HOME/.cache/blurred_wallpaper.png # only png supported for now
+}
+
+input-field {
+ monitor =
+ size = 200, 50
+ outline_thickness = 3
+ 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
+ outer_color = rgb(151515)
+ inner_color = rgb(FFFFFF)
+ font_color = rgb(10, 10, 10)
+ 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 = -1 # -1 means complete rounding (circle/oval)
+ check_color = rgb(204, 136, 34)
+ fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
+ fail_text = $FAIL ($ATTEMPTS) # can be set to empty
+ fail_transition = 300 # transition time in ms between normal outer_color and fail_color
+ 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
+}
+
+label {
+ monitor =
+ text = cmd[update:1000] echo "$TIME"
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 55
+ font_family = Fira Semibold
+ position = -100, -40
+ halign = right
+ valign = bottom
+ shadow_passes = 5
+ shadow_size = 10
+}
+
+label {
+ monitor =
+ text = $USER
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 20
+ font_family = Fira Semibold
+ position = -100, 160
+ halign = right
+ valign = bottom
+ shadow_passes = 5
+ shadow_size = 10
+}
+
+image {
+ monitor =
+ path = $HOME/.cache/square_wallpaper.png
+ size = 280 # lesser side if not 1:1 ratio
+ rounding = -1 # negative values mean circle
+ border_size = 4
+ border_color = rgb(221, 221, 221)
+ 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
+}
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/hyprpaper.conf b/config/files/var/home/.config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..c121332
--- /dev/null
+++ b/config/files/var/home/.config/hypr/hyprpaper.conf
@@ -0,0 +1,3 @@
+preload = $HOME/wallpaper/hyprland.jpg
+wallpaper = ,$HOME/wallpaper/hyprland.jpg
+splash = false
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/active-monitor.py b/config/files/var/home/.config/hypr/scripts/active-monitor.py
new file mode 100644
index 0000000..7ce5101
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/active-monitor.py
@@ -0,0 +1,18 @@
+import sys
+import subprocess
+import os
+import json
+import pathlib
+import shutil
+
+# Get script path
+pathname = os.path.dirname(sys.argv[0])
+homeFolder = os.path.expanduser('~') # Path to home folder
+dotfiles = homeFolder + "/.config/"
+
+result = subprocess.run(["bash", dotfiles + "hypr/scripts/monitors.sh"], capture_output=True, text=True)
+monitors_json = result.stdout.strip()
+monitors_arr = json.loads(monitors_json)
+for row in monitors_arr:
+ if row["focused"]:
+ print(row["id"])
diff --git a/config/files/var/home/.config/hypr/scripts/disabledm.sh b/config/files/var/home/.config/hypr/scripts/disabledm.sh
new file mode 100755
index 0000000..fff026f
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/disabledm.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+clear
+
+cat <<"EOF"
+ ____ _ _ _ ____ __ __
+| _ \(_)___ __ _| |__ | | ___| _ \| \/ |
+| | | | / __|/ _` | '_ \| |/ _ \ | | | |\/| |
+| |_| | \__ \ (_| | |_) | | __/ |_| | | | |
+|____/|_|___/\__,_|_.__/|_|\___|____/|_| |_|
+
+EOF
+
+echo "Hyprland recommends the start with the tty login."
+echo "You can deactivate the current display manager (if exists)."
+echo ""
+echo "-> Do you really want to deactivate the display manager?"
+while true; do
+ read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn
+ case $yn in
+ [Yy]* )
+ if [ -f /etc/systemd/system/display-manager.service ]; then
+ sudo rm /etc/systemd/system/display-manager.service
+ echo "Current display manager removed."
+ else
+ echo "No active display manager found."
+ fi
+ break;;
+ [Nn]* )
+ exit
+ break;;
+ * ) echo "Please answer yes or no.";;
+ esac
+done
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/eww.sh b/config/files/var/home/.config/hypr/scripts/eww.sh
new file mode 100755
index 0000000..ef4c3af
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/eww.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+EWW=`which eww`
+if [[ ! `pidof eww` ]]; then
+ ${EWW} daemon
+ sleep 0.5
+fi
diff --git a/config/files/var/home/.config/hypr/scripts/exit.sh b/config/files/var/home/.config/hypr/scripts/exit.sh
new file mode 100755
index 0000000..c3e8a7a
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/exit.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+sleep 0.5
+killall -9 Hyprland sleep 2
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/gtk.sh b/config/files/var/home/.config/hypr/scripts/gtk.sh
new file mode 100755
index 0000000..ebdd7b0
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/gtk.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
+
+config="$HOME/.config/gtk-3.0/settings.ini"
+if [ ! -f "$config" ]; then exit 1; fi
+
+gnome_schema="org.gnome.desktop.interface"
+gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')"
+font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
+
+echo $gtk_theme
+echo $icon_theme
+echo $cursor_theme
+echo $cursor_size
+echo $font_name
+
+gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
+gsettings set "$gnome_schema" icon-theme "$icon_theme"
+gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
+gsettings set "$gnome_schema" font-name "$font_name"
+gsettings set "$gnome_schema" color-scheme "prefer-dark"
+
+if [ -f ~/.config/hypr/conf/cursor.conf ] ;then
+ echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/.config/hypr/conf/cursor.conf
+ hyprctl setcursor $cursor_theme $cursor_size
+fi
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/init-wallpaper-engine.sh b/config/files/var/home/.config/hypr/scripts/init-wallpaper-engine.sh
new file mode 100755
index 0000000..00dd028
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/init-wallpaper-engine.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+wallpaper_engine=$(cat $HOME/.config/.settings/wallpaper-engine.sh)
+if [ "$wallpaper_engine" == "swww" ] ;then
+ # swww
+ echo ":: Using swww"
+ swww init
+ swww-daemon --format xrgb
+ sleep 0.5
+ ~/.config/hypr/scripts/wallpaper.sh init
+elif [ "$wallpaper_engine" == "hyprpaper" ] ;then
+ # hyprpaper
+ echo ":: Using hyprpaper"
+ sleep 0.5
+ ~/.config/hypr/scripts/wallpaper.sh init
+else
+ echo ":: Wallpaper Engine disabled"
+ ~/.config/hypr/scripts/wallpaper.sh init
+fi
+
diff --git a/config/files/var/home/.config/hypr/scripts/keybindings.sh b/config/files/var/home/.config/hypr/scripts/keybindings.sh
new file mode 100755
index 0000000..3697a6d
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/keybindings.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# _ _ _ _ _
+# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___
+# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __|
+# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \
+# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/
+# |___/ |___/
+# by Stephan Raabe (2023)
+# -----------------------------------------------------
+
+# -----------------------------------------------------
+# Get keybindings location based on variation
+# -----------------------------------------------------
+config_file=$(cat ~/.config/hypr/conf/keybinding.conf)
+config_file=${config_file/source = ~/}
+config_file=${config_file/source=~/}
+
+# -----------------------------------------------------
+# Path to keybindings config file
+# -----------------------------------------------------
+config_file="/home/$USER$config_file"
+echo "Reading from: $config_file"
+
+# -----------------------------------------------------
+# Parse keybindings
+# -----------------------------------------------------
+keybinds=$(grep -oP '(?<=bind = ).*' $config_file)
+keybinds=$(echo "$keybinds" | sed 's/$mainMod/SUPER/g'| sed 's/,\([^,]*\)$/ = \1/' | sed 's/, exec//g' | sed 's/^,//g')
+
+# -----------------------------------------------------
+# Show keybindings in rofi
+# -----------------------------------------------------
+sleep 0.2
+rofi -dmenu -i -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<< "$keybinds"
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/loadconfig.sh b/config/files/var/home/.config/hypr/scripts/loadconfig.sh
new file mode 100755
index 0000000..a51ce6d
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/loadconfig.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+hyprctl reload
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/lock.sh b/config/files/var/home/.config/hypr/scripts/lock.sh
new file mode 100755
index 0000000..bc13b07
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/lock.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+sleep 0.5
+hyprlock
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/monitors.sh b/config/files/var/home/.config/hypr/scripts/monitors.sh
new file mode 100755
index 0000000..14ea2ea
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/monitors.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+hyprctl -j monitors
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/reboot.sh b/config/files/var/home/.config/hypr/scripts/reboot.sh
new file mode 100755
index 0000000..2ddff75
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/reboot.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+sleep 0.5
+systemctl reboot
diff --git a/config/files/var/home/.config/hypr/scripts/restart-hypridle.sh b/config/files/var/home/.config/hypr/scripts/restart-hypridle.sh
new file mode 100755
index 0000000..fe29461
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/restart-hypridle.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+killall hypridle
+sleep 1
+hypridle &
+notify-send "hypridle has been restarted."
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/screenshot.sh b/config/files/var/home/.config/hypr/scripts/screenshot.sh
new file mode 100755
index 0000000..12b3de5
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/screenshot.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# ____ _ _
+# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_
+# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __|
+# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_
+# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__|
+#
+#
+# by Stephan Raabe (2023)
+# -----------------------------------------------------
+
+DIR="$HOME/Pictures/screenshots/"
+NAME="screenshot_$(date +%d%m%Y_%H%M%S).png"
+
+option2="Selected area"
+option3="Fullscreen (delay 3 sec)"
+
+options="$option2\n$option3"
+
+choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take Screenshot")
+
+case $choice in
+ $option2)
+ grim -g "$(slurp)" "$DIR$NAME"
+ xclip -selection clipboard -t image/png -i "$DIR$NAME"
+ notify-send "Screenshot created and copied to clipboard" "Mode: Selected area"
+ swappy -f "$DIR$NAME"
+ ;;
+ $option3)
+ sleep 3
+ grim "$DIR$NAME"
+ xclip -selection clipboard -t image/png -i "$DIR$NAME"
+ notify-send "Screenshot created and copied to clipboard" "Mode: Fullscreen"
+ swappy -f "$DIR$NAME"
+ ;;
+esac
diff --git a/config/files/var/home/.config/hypr/scripts/shutdown.sh b/config/files/var/home/.config/hypr/scripts/shutdown.sh
new file mode 100755
index 0000000..48c8296
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/shutdown.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+sleep 0.5
+systemctl poweroff
diff --git a/config/files/var/home/.config/hypr/scripts/suspend.sh b/config/files/var/home/.config/hypr/scripts/suspend.sh
new file mode 100755
index 0000000..440d34b
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/suspend.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+sleep 0.5
+systemctl suspend
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/toggle-animations.sh b/config/files/var/home/.config/hypr/scripts/toggle-animations.sh
new file mode 100755
index 0000000..7eedb1d
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/toggle-animations.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+cache_file="$HOME/.cache/toggle_animation"
+if [[ $(cat $HOME/.config/hypr/conf/animation.conf) == *"disabled"* ]]; then
+ echo ":: Toggle blocked by disabled.conf variation."
+else
+ if [ -f $cache_file ] ;then
+ hyprctl keyword animations:enabled true
+ rm $cache_file
+ else
+ hyprctl keyword animations:enabled false
+ touch $cache_file
+ fi
+fi
\ No newline at end of file
diff --git a/config/files/var/home/.config/hypr/scripts/toggleallfloat.sh b/config/files/var/home/.config/hypr/scripts/toggleallfloat.sh
new file mode 100755
index 0000000..fb6737c
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/toggleallfloat.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+# _ _ _ __ _ _
+# / \ | | |/ _| | ___ __ _| |_
+# / _ \ | | | |_| |/ _ \ / _` | __|
+# / ___ \| | | _| | (_) | (_| | |_
+# /_/ \_\_|_|_| |_|\___/ \__,_|\__|
+#
+# by Stephan Raabe (2023)
+# -----------------------------------------------------
+
+hyprctl dispatch workspaceopt allfloat
diff --git a/config/files/var/home/.config/hypr/scripts/wallpaper.sh b/config/files/var/home/.config/hypr/scripts/wallpaper.sh
new file mode 100755
index 0000000..f39fb2a
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/wallpaper.sh
@@ -0,0 +1,169 @@
+#!/bin/bash
+# _ _
+# __ ____ _| | |_ __ __ _ _ __ ___ _ __
+# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__|
+# \ V V / (_| | | | |_) | (_| | |_) | __/ |
+# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_|
+# |_| |_|
+#
+# by Stephan Raabe (2023)
+# -----------------------------------------------------
+
+# Cache file for holding the current wallpaper
+cache_file="$HOME/.cache/current_wallpaper"
+blurred="$HOME/.cache/blurred_wallpaper.png"
+square="$HOME/.cache/square_wallpaper.png"
+rasi_file="$HOME/.cache/current_wallpaper.rasi"
+blur_file="$HOME/.config/.settings/blur.sh"
+
+blur="50x30"
+blur=$(cat $blur_file)
+
+# Create cache file if not exists
+if [ ! -f $cache_file ] ;then
+ touch $cache_file
+ echo "$HOME/wallpaper/default.jpg" > "$cache_file"
+fi
+
+# Create rasi file if not exists
+if [ ! -f $rasi_file ] ;then
+ touch $rasi_file
+ echo "* { current-image: url(\"$HOME/wallpaper/default.jpg\", height); }" > "$rasi_file"
+fi
+
+current_wallpaper=$(cat "$cache_file")
+
+case $1 in
+
+ # Load wallpaper from .cache of last session
+ "init")
+ sleep 1
+ if [ -f $cache_file ]; then
+ wal -q -i $current_wallpaper
+ else
+ wal -q -i ~/wallpaper/
+ fi
+ ;;
+
+ # Select wallpaper with rofi
+ "select")
+ sleep 0.2
+ selected=$( find "$HOME/wallpaper" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -exec basename {} \; | sort -R | while read rfile
+ do
+ echo -en "$rfile\x00icon\x1f$HOME/wallpaper/${rfile}\n"
+ done | rofi -dmenu -i -replace -config ~/.config/rofi/config-wallpaper.rasi)
+ if [ ! "$selected" ]; then
+ echo "No wallpaper selected"
+ exit
+ fi
+ wal -q -i ~/wallpaper/$selected
+ ;;
+
+ # Randomly select wallpaper
+ *)
+ wal -q -i ~/wallpaper/
+ ;;
+
+esac
+
+# -----------------------------------------------------
+# Load current pywal color scheme
+# -----------------------------------------------------
+source "$HOME/.cache/wal/colors.sh"
+echo ":: Wallpaper: $wallpaper"
+
+# -----------------------------------------------------
+# get wallpaper image name
+# -----------------------------------------------------
+newwall=$(echo $wallpaper | sed "s|$HOME/wallpaper/||g")
+
+# -----------------------------------------------------
+# Reload waybar with new colors
+# -----------------------------------------------------
+~/.config/waybar/launch.sh
+
+# -----------------------------------------------------
+# Set the new wallpaper
+# -----------------------------------------------------
+transition_type="wipe"
+# transition_type="outer"
+# transition_type="random"
+
+wallpaper_engine=$(cat $HOME/.config/.settings/wallpaper-engine.sh)
+if [ "$wallpaper_engine" == "swww" ] ;then
+ # swww
+ echo ":: Using swww"
+ swww img $wallpaper \
+ --transition-bezier .43,1.19,1,.4 \
+ --transition-fps=60 \
+ --transition-type=$transition_type \
+ --transition-duration=0.7 \
+ --transition-pos "$( hyprctl cursorpos )"
+elif [ "$wallpaper_engine" == "hyprpaper" ] ;then
+ # hyprpaper
+ echo ":: Using hyprpaper"
+ killall hyprpaper
+ wal_tpl=$(cat $HOME/.config/.settings/hyprpaper.tpl)
+ output=${wal_tpl//WALLPAPER/$wallpaper}
+ echo "$output" > $HOME/.config/hypr/hyprpaper.conf
+ hyprpaper &
+else
+ echo ":: Wallpaper Engine disabled"
+fi
+
+if [ "$1" == "init" ] ;then
+ echo ":: Init"
+else
+ sleep 1
+ dunstify "Changing wallpaper ..." "with image $newwall" -h int:value:25 -h string:x-dunst-stack-tag:wallpaper
+
+ # -----------------------------------------------------
+ # Reload Hyprctl.sh
+ # -----------------------------------------------------
+ $HOME/.config/ml4w-hyprland-settings/hyprctl.sh &
+fi
+
+# -----------------------------------------------------
+# Created blurred wallpaper
+# -----------------------------------------------------
+if [ "$1" == "init" ] ;then
+ echo ":: Init"
+else
+ dunstify "Creating blurred version ..." "with image $newwall" -h int:value:50 -h string:x-dunst-stack-tag:wallpaper
+fi
+
+magick $wallpaper -resize 75% $blurred
+echo ":: Resized to 75%"
+if [ ! "$blur" == "0x0" ] ;then
+ magick $blurred -blur $blur $blurred
+ echo ":: Blurred"
+fi
+
+# -----------------------------------------------------
+# Created quare wallpaper
+# -----------------------------------------------------
+if [ "$1" == "init" ] ;then
+ echo ":: Init"
+else
+ dunstify "Creating square version ..." "with image $newwall" -h int:value:75 -h string:x-dunst-stack-tag:wallpaper
+fi
+magick $wallpaper -gravity Center -extent 1:1 $square
+echo ":: Square version created"
+
+# -----------------------------------------------------
+# Write selected wallpaper into .cache files
+# -----------------------------------------------------
+echo "$wallpaper" > "$cache_file"
+echo "* { current-image: url(\"$blurred\", height); }" > "$rasi_file"
+
+# -----------------------------------------------------
+# Send notification
+# -----------------------------------------------------
+
+if [ "$1" == "init" ] ;then
+ echo ":: Init"
+else
+ dunstify "Wallpaper procedure complete!" "with image $newwall" -h int:value:100 -h string:x-dunst-stack-tag:wallpaper
+fi
+
+echo "DONE!"
diff --git a/config/files/var/home/.config/hypr/scripts/xdg.sh b/config/files/var/home/.config/hypr/scripts/xdg.sh
new file mode 100755
index 0000000..80691e4
--- /dev/null
+++ b/config/files/var/home/.config/hypr/scripts/xdg.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+# __ ______ ____
+# \ \/ / _ \ / ___|
+# \ /| | | | | _
+# / \| |_| | |_| |
+# /_/\_\____/ \____|
+#
+# -----------------------------------------------------
+sleep 1
+
+# kill all possible running xdg-desktop-portals
+killall xdg-desktop-portal-hyprland
+killall xdg-desktop-portal-gnome
+killall xdg-desktop-portal-kde
+killall xdg-desktop-portal-lxqt
+killall xdg-desktop-portal-wlr
+killall xdg-desktop-portal-gtk
+killall xdg-desktop-portal
+sleep 1
+
+# start xdg-desktop-portal-hyprland
+/usr/lib/xdg-desktop-portal-hyprland &
+sleep 2
+
+# start xdg-desktop-portal
+/usr/lib/xdg-desktop-portal &
+sleep 1
diff --git a/config/files/var/home/.config/scripts/cliphist.sh b/config/files/var/home/.config/scripts/cliphist.sh
new file mode 100755
index 0000000..7bca13c
--- /dev/null
+++ b/config/files/var/home/.config/scripts/cliphist.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# ____ _ _ _ _ _
+# / ___| (_)_ __ | |__ (_)___| |_
+# | | | | | '_ \| '_ \| / __| __|
+# | |___| | | |_) | | | | \__ \ |_
+# \____|_|_| .__/|_| |_|_|___/\__|
+# |_|
+#
+# by Stephan Raabe (2023)
+# -----------------------------------------------------
+
+case $1 in
+ d) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist delete
+ ;;
+
+ w) if [ `echo -e "Clear\nCancel" | rofi -dmenu -config ~/.config/rofi/config-short.rasi` == "Clear" ] ; then
+ cliphist wipe
+ fi
+ ;;
+
+ *) cliphist list | rofi -dmenu -replace -config ~/.config/rofi/config-cliphist.rasi | cliphist decode | wl-copy
+ ;;
+esac
diff --git a/config/files/var/home/.config/waybar/README.md b/config/files/var/home/.config/waybar/README.md
new file mode 100644
index 0000000..23859e2
--- /dev/null
+++ b/config/files/var/home/.config/waybar/README.md
@@ -0,0 +1,44 @@
+## Theme Switcher
+
+Select a theme with SUPER + CTRL + T (custom Hyprland key binding) to execute the themeswitcher.sh script. The script will open rofi to show the themes in the folder ~/.config/waybar/themes/
+
+## Waybar Documentation
+
+Waybar github: https://github.com/Alexays/Waybar
+Waybar Wiki: https://github.com/Alexays/Waybar/wiki
+
+## Define your own config and style.css for a ML4W theme
+
+If you want to hide modules from the dotfiles ML4W themes or tweak the style, you can do this by creating a copy of the config file and name it config-custom or a copy of style.css and name it style-custom.css
+
+The waybar loader will the use your copies instead of the default files.
+
+With a personal config-custom you can also load a personal modules.json with additional modules.
+
+You can reload the waybar theme with SUPER + SHIFT + B
+
+## Create your own theme based on the starter theme
+
+Please check the configurations of the folders in ~/.config/waybar/themes/
+
+A good starting point is to copy the the waybar starter theme.
+
+Copy the folder ~/.config/waybar/themes/starter and name the copy for example to mytheme.
+
+Open the file ~/.config/waybar/themes/mytheme/config.sh and give your theme a name
+
+```
+#!/bin/bash
+theme_name="MyTheme"
+```
+
+Select your new theme by clicking in the ... icon or with SUPER + CTRL + T
+
+To customize your theme, you can edit the files config, style.css and modules.json
+
+You can reload the waybar theme with SUPER + SHIFT + B
+
+## Waybar documentation
+
+Waybar configuration: https://github.com/Alexays/Waybar/wiki/Configuration
+Waybar Styling: https://github.com/Alexays/Waybar/wiki/Styling
diff --git a/config/files/var/home/.config/waybar/launch.sh b/config/files/var/home/.config/waybar/launch.sh
new file mode 100755
index 0000000..8c726d6
--- /dev/null
+++ b/config/files/var/home/.config/waybar/launch.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+# ____ _ _ __ __ _
+# / ___|| |_ __ _ _ __| |_ \ \ / /_ _ _ _| |__ __ _ _ __
+# \___ \| __/ _` | '__| __| \ \ /\ / / _` | | | | '_ \ / _` | '__|
+# ___) | || (_| | | | |_ \ V V / (_| | |_| | |_) | (_| | |
+# |____/ \__\__,_|_| \__| \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+# |___/
+# by Stephan Raabe (2023)
+# -----------------------------------------------------
+
+# Check if waybar-disabled file exists
+if [ -f $HOME/.cache/waybar-disabled ] ;then
+ killall waybar
+ pkill waybar
+ exit 1
+fi
+
+# -----------------------------------------------------
+# Quit all running waybar instances
+# -----------------------------------------------------
+killall waybar
+pkill waybar
+sleep 0.2
+
+# -----------------------------------------------------
+# Default theme: /THEMEFOLDER;/VARIATION
+# -----------------------------------------------------
+themestyle="/ml4w;/ml4w/light"
+
+# -----------------------------------------------------
+# Get current theme information from .cache/.themestyle.sh
+# -----------------------------------------------------
+if [ -f ~/.cache/.themestyle.sh ]; then
+ themestyle=$(cat ~/.cache/.themestyle.sh)
+else
+ touch ~/.cache/.themestyle.sh
+ echo "$themestyle" > ~/.cache/.themestyle.sh
+fi
+
+IFS=';' read -ra arrThemes <<< "$themestyle"
+echo "Theme: ${arrThemes[0]}"
+
+if [ ! -f ~/.config/waybar/themes${arrThemes[1]}/style.css ]; then
+ themestyle="/ml4w;/ml4w/light"
+fi
+
+# -----------------------------------------------------
+# Loading the configuration
+# -----------------------------------------------------
+config_file="config"
+style_file="style.css"
+
+# Standard files can be overwritten with an existing config-custom or style-custom.css
+if [ -f ~/.config/waybar/themes${arrThemes[0]}/config-custom ] ;then
+ config_file="config-custom"
+fi
+if [ -f ~/.config/waybar/themes${arrThemes[1]}/style-custom.css ] ;then
+ style_file="style-custom.css"
+fi
+
+waybar -c ~/.config/waybar/themes${arrThemes[0]}/$config_file -s ~/.config/waybar/themes${arrThemes[1]}/$style_file &
diff --git a/config/files/var/home/.config/waybar/modules.json b/config/files/var/home/.config/waybar/modules.json
new file mode 100644
index 0000000..83a432a
--- /dev/null
+++ b/config/files/var/home/.config/waybar/modules.json
@@ -0,0 +1,385 @@
+// __ __ _ _
+// | \/ | ___ __| |_ _| | ___ ___
+// | |\/| |/ _ \ / _` | | | | |/ _ \/ __|
+// | | | | (_) | (_| | |_| | | __/\__ \
+// |_| |_|\___/ \__,_|\__,_|_|\___||___/
+//
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // Workspaces
+ "hyprland/workspaces" : {
+ "on-click": "activate",
+ "active-only": false,
+ "all-outputs": true,
+ "format": "{}",
+ "format-icons": {
+ "urgent": "",
+ "active": "",
+ "default": ""
+ },
+ "persistent-workspaces": {
+ "*": 5
+ }
+ },
+
+ // Taskbar
+ "wlr/taskbar": {
+ "format": "{icon}",
+ "icon-size": 18,
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "on-click-middle": "close",
+ "ignore-list": [
+ "Alacritty"
+ ],
+ "app_ids-mapping": {
+ "firefoxdeveloperedition": "firefox-developer-edition"
+ },
+ "rewrite": {
+ "Firefox Web Browser": "Firefox",
+ "Foot Server": "Terminal"
+ }
+ },
+
+ // Hyprland Window
+ "hyprland/window": {
+ "rewrite": {
+ "(.*) - Brave": "$1",
+ "(.*) - Chromium": "$1",
+ "(.*) - Brave Search": "$1",
+ "(.*) - Outlook": "$1",
+ "(.*) Microsoft Teams": "$1"
+ },
+ "separate-outputs": true
+ },
+
+ // ML4W Welcome App
+ "custom/ml4w-welcome": {
+ "on-click": "sleep 0.1 && ~/.config/eww/ml4w-sidebar/launch.sh",
+ "on-click-right": "sleep 0.1 && ~/.config/apps/ML4W_Welcome-x86_64.AppImage",
+ "format": " ",
+ "tooltip": false
+ },
+
+ // ML4W Welcome App
+ "custom/ml4w-hyprland-settings": {
+ "on-click": "~/.config/apps/ML4W_Hyprland_Settings-x86_64.AppImage",
+ "format": " ",
+ "tooltip": false
+ },
+
+ // Empty
+ "custom/empty": {
+ "format": ""
+ },
+
+ // Youtube Subscriber Count
+ "custom/youtube": {
+ "format": " {}",
+ "exec": "python ~/private/youtube.py",
+ "restart-interval": 600,
+ "on-click": "chromium https://studio.youtube.com",
+ "tooltip": false
+ },
+
+ // Cliphist
+ "custom/cliphist": {
+ "format": "",
+ "on-click": "sleep 0.1 && ~/.config/scripts/cliphist.sh",
+ "on-click-right": "sleep 0.1 && ~/.config/scripts/cliphist.sh d",
+ "on-click-middle": "sleep 0.1 && ~/.config/scripts/cliphist.sh w",
+ "tooltip": false
+ },
+
+ // Updates Count
+ "custom/updates": {
+ "format": " {}",
+ "tooltip-format": "{}",
+ "escape": true,
+ "return-type": "json",
+ "exec": "~/.config/scripts/updates.sh",
+ "restart-interval": 60,
+ "on-click": "alacritty --class dotfiles-floating -e ~/.config/scripts/installupdates.sh",
+ "on-click-right": "~/.config/.settings/software.sh",
+ "tooltip": false
+ },
+
+ // Wallpaper
+ "custom/wallpaper": {
+ "format": "",
+ "on-click": "~/.config/hypr/scripts/wallpaper.sh select",
+ "on-click-right": "~/.config/hypr/scripts/wallpaper.sh",
+ "tooltip": false
+ },
+
+ // Waybar Themes
+ "custom/waybarthemes": {
+ "format": "",
+ "on-click": "~/.config/waybar/themeswitcher.sh",
+ "tooltip": false
+ },
+
+ // Settings
+ "custom/settings": {
+ "format": "",
+ "on-click": "~/.config/apps/ML4W_Dotfiles_Settings-x86_64.AppImage",
+ "tooltip": false
+ },
+
+ // Keybindings
+ "custom/keybindings": {
+ "format": "",
+ "on-click": "~/.config/hypr/scripts/keybindings.sh",
+ "tooltip": false
+ },
+
+ // Filemanager Launcher
+ "custom/filemanager": {
+ "format": "",
+ "on-click": "~/.config/.settings/filemanager.sh",
+ "tooltip": false
+ },
+
+ // Browser Launcher
+ "custom/browser": {
+ "format": "",
+ "on-click": "~/.config/.settings/browser.sh",
+ "tooltip": false
+ },
+
+ // ChatGPT Launcher
+ "custom/chatgpt": {
+ "format": " ",
+ "on-click": "chromium --app=https://chat.openai.com",
+ "tooltip": false
+ },
+
+ // Calculator
+ "custom/calculator": {
+ "format": "",
+ "on-click": "qalculate-gtk",
+ "tooltip": false
+ },
+
+ // Windows VM
+ "custom/windowsvm": {
+ "format": "",
+ "on-click": "~/.config/scripts/launchvm.sh",
+ "tooltip": false
+ },
+
+ // Rofi Application Launcher
+ "custom/appmenu": {
+ // START APPS LABEL
+ "format": "Apps",
+ // END APPS LABEL
+ "on-click": "sleep 0.2;rofi -show drun -replace",
+ "on-click-right": "~/.config/hypr/scripts/keybindings.sh",
+ "tooltip": false
+ },
+
+ // Rofi Application Launcher
+ "custom/appmenuicon": {
+ "format": "",
+ "on-click": "rofi -show drun -replace",
+ "on-click-right": "~/.config/hypr/scripts/keybindings.sh",
+ "tooltip": false
+ },
+
+ // Power Menu
+ "custom/exit": {
+ "format": "",
+ "on-click": "wlogout",
+ "tooltip": false
+ },
+
+ // Keyboard State
+ "keyboard-state": {
+ "numlock": true,
+ "capslock": true,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "locked": "",
+ "unlocked": ""
+ }
+ },
+
+ // System tray
+ "tray": {
+ "icon-size": 21,
+ "spacing": 10
+ },
+
+ // Clock
+ "clock": {
+ "format": "{:%H:%M %a}",
+ // "timezone": "America/New_York",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ // START CLOCK FORMAT
+ "format-alt": "{:%Y-%m-%d}"
+ // END CLOCK FORMAT
+ },
+
+ // System
+ "custom/system": {
+ "format": "",
+ "tooltip": false
+ },
+
+ // CPU
+ "cpu": {
+ "format": "/ C {usage}% ",
+ "on-click": "alacritty -e htop"
+ },
+
+ // Memory
+ "memory": {
+ "format": "/ M {}% ",
+ "on-click": "alacritty -e htop"
+ },
+
+ // Harddisc space used
+ "disk": {
+ "interval": 30,
+ "format": "D {percentage_used}% ",
+ "path": "/",
+ "on-click": "alacritty -e htop"
+ },
+
+ "hyprland/language": {
+ "format": "/ K {short}"
+ },
+
+ // Group Hardware
+ "group/hardware": {
+ "orientation": "inherit",
+ "drawer": {
+ "transition-duration": 300,
+ "children-class": "not-memory",
+ "transition-left-to-right": false
+ },
+ "modules": [
+ "custom/system",
+ "disk",
+ "cpu",
+ "memory",
+ "hyprland/language"
+ ]
+ },
+
+ // Group Settings
+ "group/links": {
+ "orientation": "horizontal",
+ "modules": [
+ "custom/chatgpt",
+ "custom/empty"
+ ]
+ },
+
+ // Group Settings
+ "group/settings": {
+ "orientation": "inherit",
+ "drawer": {
+ "transition-duration": 300,
+ "children-class": "not-memory",
+ "transition-left-to-right": false
+ },
+ "modules": [
+ "custom/settings",
+ "custom/waybarthemes",
+ "custom/wallpaper",
+ "custom/ml4w-hyprland-settings"
+ ]
+ },
+
+ // Group Quicklinks
+ "group/quicklinks": {
+ "orientation": "horizontal",
+ "modules": [
+ "custom/browser",
+ "custom/filemanager",
+ ]
+ },
+
+ // Network
+ "network": {
+ "format": "{ifname}",
+ "format-wifi": " {signalStrength}%",
+ "format-ethernet": " {ifname}",
+ "format-disconnected": "Disconnected",
+ "tooltip-format": " {ifname} via {gwaddri}",
+ "tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
+ "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
+ "tooltip-format-disconnected": "Disconnected",
+ "max-length": 50,
+ "on-click": "~/.config/.settings/networkmanager.sh"
+ },
+
+ // Battery
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{icon} {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{icon} {time}",
+ // "format-good": "", // An empty format will hide the module
+ // "format-full": "",
+ "format-icons": [" ", " ", " ", " ", " "]
+ },
+
+ // Pulseaudio
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{icon} {volume}%",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": " ",
+ "hands-free": " ",
+ "headset": " ",
+ "phone": " ",
+ "portable": " ",
+ "car": " ",
+ "default": [" ", " ", " "]
+ },
+ "on-click": "pavucontrol"
+ },
+
+ // Bluetooth
+ "bluetooth": {
+ "format": " {status}",
+ "format-disabled": "",
+ "format-off": "",
+ "interval": 30,
+ "on-click": "blueman-manager",
+ "format-no-controller": ""
+ },
+
+ // Other
+ "user": {
+ "format": "{user}",
+ "interval": 60,
+ "icon": false,
+ },
+
+ // Idle Inhibator
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "tooltip": true,
+ "format-icons":{
+ "activated": "",
+ "deactivated": ""
+ },
+ "on-click-right": "hyprlock"
+ }
+}
diff --git a/config/files/var/home/.config/waybar/themes/assets/ai-icon-20.png b/config/files/var/home/.config/waybar/themes/assets/ai-icon-20.png
new file mode 100644
index 0000000..a070dd4
Binary files /dev/null and b/config/files/var/home/.config/waybar/themes/assets/ai-icon-20.png differ
diff --git a/config/files/var/home/.config/waybar/themes/assets/ai-icon.png b/config/files/var/home/.config/waybar/themes/assets/ai-icon.png
new file mode 100644
index 0000000..398379b
Binary files /dev/null and b/config/files/var/home/.config/waybar/themes/assets/ai-icon.png differ
diff --git a/config/files/var/home/.config/waybar/themes/assets/hyprland-icon-20.png b/config/files/var/home/.config/waybar/themes/assets/hyprland-icon-20.png
new file mode 100644
index 0000000..0d36ec2
Binary files /dev/null and b/config/files/var/home/.config/waybar/themes/assets/hyprland-icon-20.png differ
diff --git a/config/files/var/home/.config/waybar/themes/assets/hyprland-icon.png b/config/files/var/home/.config/waybar/themes/assets/hyprland-icon.png
new file mode 100644
index 0000000..c87b767
Binary files /dev/null and b/config/files/var/home/.config/waybar/themes/assets/hyprland-icon.png differ
diff --git a/config/files/var/home/.config/waybar/themes/assets/ml4w-icon-20.png b/config/files/var/home/.config/waybar/themes/assets/ml4w-icon-20.png
new file mode 100644
index 0000000..df25ccb
Binary files /dev/null and b/config/files/var/home/.config/waybar/themes/assets/ml4w-icon-20.png differ
diff --git a/config/files/var/home/.config/waybar/themes/assets/ml4w-icon.png b/config/files/var/home/.config/waybar/themes/assets/ml4w-icon.png
new file mode 100644
index 0000000..92a54e0
Binary files /dev/null and b/config/files/var/home/.config/waybar/themes/assets/ml4w-icon.png differ
diff --git a/config/files/var/home/.config/waybar/themes/default/config b/config/files/var/home/.config/waybar/themes/default/config
new file mode 100644
index 0000000..551b1ea
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/default/config
@@ -0,0 +1,179 @@
+{
+ // "layer": "top", // Waybar at top layer
+ // "position": "bottom", // Waybar position (top|bottom|left|right)
+ "height": 30, // Waybar height (to be removed for auto height)
+ // "width": 1280, // Waybar width
+ "spacing": 4, // Gaps between modules (4px)
+ // Choose the order of the modules
+ "modules-left": ["hyprland/workspaces","custom/waybarthemes"],
+ "modules-center": ["hyprland/window"],
+ "modules-right": ["custom/ml4w-welcome","mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "battery#bat2", "clock", "tray"],
+ // Modules configuration
+ // "sway/workspaces": {
+ // "disable-scroll": true,
+ // "all-outputs": true,
+ // "warp-on-scroll": false,
+ // "format": "{name}: {icon}",
+ // "format-icons": {
+ // "1": "",
+ // "2": "",
+ // "3": "",
+ // "4": "",
+ // "5": "",
+ // "urgent": "",
+ // "focused": "",
+ // "default": ""
+ // }
+ // },
+ "keyboard-state": {
+ "numlock": true,
+ "capslock": true,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "locked": "",
+ "unlocked": ""
+ }
+ },
+ // ML4W Welcome App
+ "custom/ml4w-welcome": {
+ "on-click": "~/.config/apps/ML4W_Welcome-x86_64.AppImage",
+ "format": " ",
+ "tooltip": false
+ },
+ // Waybar Themes
+ "custom/waybarthemes": {
+ "format": "Themes",
+ "on-click": "~/.config/waybar/themeswitcher.sh",
+ "tooltip": false
+ },
+ "sway/mode": {
+ "format": "{}"
+ },
+ "sway/scratchpad": {
+ "format": "{icon} {count}",
+ "show-empty": false,
+ "format-icons": ["", ""],
+ "tooltip": true,
+ "tooltip-format": "{app}: {title}"
+ },
+ "mpd": {
+ "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
+ "format-disconnected": "Disconnected ",
+ "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
+ "unknown-tag": "N/A",
+ "interval": 2,
+ "consume-icons": {
+ "on": " "
+ },
+ "random-icons": {
+ "off": " ",
+ "on": " "
+ },
+ "repeat-icons": {
+ "on": " "
+ },
+ "single-icons": {
+ "on": "1 "
+ },
+ "state-icons": {
+ "paused": "",
+ "playing": ""
+ },
+ "tooltip-format": "MPD (connected)",
+ "tooltip-format-disconnected": "MPD (disconnected)"
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+ "tray": {
+ // "icon-size": 21,
+ "spacing": 10
+ },
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+ "cpu": {
+ "format": "{usage}% ",
+ "tooltip": false
+ },
+ "memory": {
+ "format": "{}% "
+ },
+ "temperature": {
+ // "thermal-zone": 2,
+ // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "critical-threshold": 80,
+ // "format-critical": "{temperatureC}°C {icon}",
+ "format": "{temperatureC}°C {icon}",
+ "format-icons": ["", "", ""]
+ },
+ "backlight": {
+ // "device": "acpi_video1",
+ "format": "{percent}% {icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", ""]
+ },
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% ",
+ "format-plugged": "{capacity}% ",
+ "format-alt": "{time} {icon}",
+ // "format-good": "", // An empty format will hide the module
+ // "format-full": "",
+ "format-icons": ["", "", "", "", ""]
+ },
+ "battery#bat2": {
+ "bat": "BAT2"
+ },
+ "network": {
+ // "interface": "wlp2*", // (Optional) To force the use of this interface
+ "format-wifi": "{essid} ({signalStrength}%) ",
+ "format-ethernet": "{ipaddr}/{cidr} ",
+ "tooltip-format": "{ifname} via {gwaddr} ",
+ "format-linked": "{ifname} (No IP) ",
+ "format-disconnected": "Disconnected ⚠",
+ "format-alt": "{ifname}: {ipaddr}/{cidr}"
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{volume}% {icon} {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/media": {
+ "format": "{icon} {}",
+ "return-type": "json",
+ "max-length": 40,
+ "format-icons": {
+ "spotify": "",
+ "default": "🎜"
+ },
+ "escape": true,
+ "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
+ // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
+ }
+}
+
diff --git a/config/files/var/home/.config/waybar/themes/default/config.sh b/config/files/var/home/.config/waybar/themes/default/config.sh
new file mode 100644
index 0000000..71a3429
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/default/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="Waybar Default Theme"
diff --git a/config/files/var/home/.config/waybar/themes/default/style.css b/config/files/var/home/.config/waybar/themes/default/style.css
new file mode 100644
index 0000000..8f51ff6
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/default/style.css
@@ -0,0 +1,289 @@
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+}
+
+window#waybar {
+ background-color: rgba(43, 48, 59, 0.5);
+ border-bottom: 3px solid rgba(100, 114, 125, 0.5);
+ color: #ffffff;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+window#waybar.hidden {
+ opacity: 0.2;
+}
+
+/*
+window#waybar.empty {
+ background-color: transparent;
+}
+window#waybar.solo {
+ background-color: #FFFFFF;
+}
+*/
+
+window#waybar.termite {
+ background-color: #3F3F3F;
+}
+
+window#waybar.chromium {
+ background-color: #000000;
+ border: none;
+}
+
+#custom-ml4w-welcome {
+ margin-right: 15px;
+ background-image: url("../assets/ml4w-icon-20.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 20px;
+ margin-right: 0px;
+}
+
+button {
+ /* Use box-shadow instead of border so the text isn't offset */
+ box-shadow: inset 0 -3px transparent;
+ /* Avoid rounded borders under each button name */
+ border: none;
+ border-radius: 0;
+}
+
+/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+button:hover {
+ background: inherit;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ background-color: transparent;
+ color: #ffffff;
+}
+
+#workspaces button:hover {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#workspaces button.focused {
+ background-color: #64727D;
+ box-shadow: inset 0 -3px #ffffff;
+}
+
+#workspaces button.urgent {
+ background-color: #eb4d4b;
+}
+
+#mode {
+ background-color: #64727D;
+ border-bottom: 3px solid #ffffff;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#wireplumber,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#scratchpad,
+#mpd {
+ padding: 0 10px;
+ color: #ffffff;
+}
+
+#window,
+#workspaces {
+ margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+#clock {
+ background-color: #64727D;
+}
+
+#battery {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+#battery.charging, #battery.plugged {
+ color: #ffffff;
+ background-color: #26A65B;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+label:focus {
+ background-color: #000000;
+}
+
+#cpu {
+ background-color: #2ecc71;
+ color: #000000;
+}
+
+#memory {
+ background-color: #9b59b6;
+}
+
+#disk {
+ background-color: #964B00;
+}
+
+#backlight {
+ background-color: #90b1b1;
+}
+
+#network {
+ background-color: #2980b9;
+}
+
+#network.disconnected {
+ background-color: #f53c3c;
+}
+
+#pulseaudio {
+ background-color: #f1c40f;
+ color: #000000;
+}
+
+#pulseaudio.muted {
+ background-color: #90b1b1;
+ color: #2a5c45;
+}
+
+#wireplumber {
+ background-color: #fff0f5;
+ color: #000000;
+}
+
+#wireplumber.muted {
+ background-color: #f53c3c;
+}
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+}
+
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+}
+
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
+
+#temperature {
+ background-color: #f0932b;
+}
+
+#temperature.critical {
+ background-color: #eb4d4b;
+}
+
+#tray {
+ background-color: #2980b9;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+#idle_inhibitor {
+ background-color: #2d3436;
+}
+
+#idle_inhibitor.activated {
+ background-color: #ecf0f1;
+ color: #2d3436;
+}
+
+#mpd {
+ background-color: #66cc99;
+ color: #2a5c45;
+}
+
+#mpd.disconnected {
+ background-color: #f53c3c;
+}
+
+#mpd.stopped {
+ background-color: #90b1b1;
+}
+
+#mpd.paused {
+ background-color: #51a37a;
+}
+
+#language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: #97e1ad;
+ color: #000000;
+ padding: 0 0px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state > label {
+ padding: 0 5px;
+}
+
+#keyboard-state > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad {
+ background: rgba(0, 0, 0, 0.2);
+}
+
+#scratchpad.empty {
+ background-color: transparent;
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/black/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/black/config.sh
new file mode 100644
index 0000000..cea609a
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/black/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Bottom Black"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/black/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/black/style.css
new file mode 100644
index 0000000..ef2c247
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/black/style.css
@@ -0,0 +1,20 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #000000;
+@define-color backgrounddark #000000;
+@define-color workspacesbackground1 #000000;
+@define-color workspacesbackground2 #222222;
+@define-color bordercolor #000000;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #000000;
+@define-color iconcolor #000000;
+
+@import '../../ml4w-blur/style.css';
+
+window#waybar {
+ background-color: rgba(255,255,255,0.1);
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh
new file mode 100644
index 0000000..7f55337
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/colored/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Bottom Colored"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/colored/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/colored/style.css
new file mode 100644
index 0000000..de0b369
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/colored/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color5;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 @color5;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor @color11;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w-blur/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/config b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/config
new file mode 100644
index 0000000..c9983dc
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/config
@@ -0,0 +1,56 @@
+// __ __ _
+// \ \ / /_ _ _ _| |__ __ _ _ __
+// \ \ /\ / / _` | | | | '_ \ / _` | '__|
+// \ V V / (_| | |_| | |_) | (_| | |
+// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+// |___/
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // General Settings
+ "position": "bottom",
+ "margin-top": 0,
+ "margin-bottom": 0,
+ "layer": "top",
+ "margin-left": 0,
+ "margin-right": 0,
+ "spacing": 0,
+
+ // Load Modules
+ "include": ["~/.config/waybar/modules.json"],
+
+ // Modules Left
+ "modules-left": [
+ "custom/appmenu",
+ "group/links",
+ "group/settings",
+ //"wlr/taskbar",
+ "group/quicklinks",
+ "hyprland/window",
+ "custom/empty"
+ ],
+
+ // Modules Center
+ "modules-center": [
+ "hyprland/workspaces"
+ ],
+
+ // Modules Right
+ "modules-right": [
+ "custom/updates",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "network",
+ "group/hardware",
+ "group/settings",
+ "custom/cliphist",
+ "idle_inhibitor",
+ "tray",
+ "custom/exit",
+ "custom/ml4w-welcome",
+ "clock"
+ ]
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh
new file mode 100644
index 0000000..df6f8c2
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/dark/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Bottom Dark"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/dark/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/dark/style.css
new file mode 100644
index 0000000..54e8317
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/dark/style.css
@@ -0,0 +1,20 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor @color8;
+
+@import '../../ml4w-blur/style.css';
+
+window#waybar {
+ background-color: rgba(255,255,255,0.1);
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/light/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/light/config.sh
new file mode 100644
index 0000000..da067d2
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/light/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Bottom Light"
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/light/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/light/style.css
new file mode 100644
index 0000000..5caa16a
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/light/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 @color11;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w-blur/style.css';
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh
new file mode 100644
index 0000000..dea299a
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/mixed/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Bottom Mixed"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css
new file mode 100644
index 0000000..fe8dbb3
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/mixed/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w-blur/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/white/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/white/config.sh
new file mode 100644
index 0000000..1592654
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/white/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Bottom White"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/white/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/white/style.css
new file mode 100644
index 0000000..04c725d
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur-bottom/white/style.css
@@ -0,0 +1,20 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 #CCCCCC;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #000000;
+@define-color textcolor2 #000000;
+@define-color textcolor3 #000000;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w-blur/style.css';
+
+window#waybar {
+ background-color: rgba(255,255,255,0.1);
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/black/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur/black/config.sh
new file mode 100644
index 0000000..5c6fb05
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/black/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Black"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/black/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/black/style.css
new file mode 100644
index 0000000..fbc1152
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/black/style.css
@@ -0,0 +1,20 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #000000;
+@define-color backgrounddark #000000;
+@define-color workspacesbackground1 #000000;
+@define-color workspacesbackground2 #222222;
+@define-color bordercolor #000000;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #000000;
+@define-color iconcolor #000000;
+
+@import '../style.css';
+
+window#waybar {
+ background-color: rgba(255,255,255,0.1);
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/colored/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur/colored/config.sh
new file mode 100644
index 0000000..7338fef
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/colored/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Colored"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/colored/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/colored/style.css
new file mode 100644
index 0000000..f9008da
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/colored/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color5;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 @color5;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor @color11;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/config b/config/files/var/home/.config/waybar/themes/ml4w-blur/config
new file mode 100644
index 0000000..ff83f13
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/config
@@ -0,0 +1,55 @@
+// __ __ _
+// \ \ / /_ _ _ _| |__ __ _ _ __
+// \ \ /\ / / _` | | | | '_ \ / _` | '__|
+// \ V V / (_| | |_| | |_) | (_| | |
+// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+// |___/
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // General Settings
+ "layer": "top",
+ "margin-top": 0,
+ "margin-bottom": 0,
+ "layer": "top",
+ "margin-left": 0,
+ "margin-right": 0,
+ "spacing": 0,
+
+ // Load Modules
+ "include": ["~/.config/waybar/modules.json"],
+
+ // Modules Left
+ "modules-left": [
+ "custom/appmenu",
+ "group/links",
+ "group/settings",
+ //"wlr/taskbar",
+ "group/quicklinks",
+ "hyprland/window",
+ "custom/empty"
+ ],
+
+ // Modules Center
+ "modules-center": [
+ "hyprland/workspaces"
+ ],
+
+ // Modules Right
+ "modules-right": [
+ "custom/updates",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "network",
+ "group/hardware",
+ "custom/cliphist",
+ "idle_inhibitor",
+ "tray",
+ "custom/exit",
+ "custom/ml4w-welcome",
+ "clock"
+ ]
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/dark/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur/dark/config.sh
new file mode 100644
index 0000000..a3b9e88
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/dark/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Dark"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/dark/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/dark/style.css
new file mode 100644
index 0000000..8470788
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/dark/style.css
@@ -0,0 +1,20 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor @color8;
+
+@import '../style.css';
+
+window#waybar {
+ background-color: rgba(255,255,255,0.1);
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/light/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur/light/config.sh
new file mode 100644
index 0000000..ca5fe11
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/light/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Light"
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/light/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/light/style.css
new file mode 100644
index 0000000..738cd66
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/light/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 @color11;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/mixed/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur/mixed/config.sh
new file mode 100644
index 0000000..eb698ad
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/mixed/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur Mixed"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/mixed/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/mixed/style.css
new file mode 100644
index 0000000..09032ae
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/mixed/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/style.css
new file mode 100644
index 0000000..33f4f5a
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/style.css
@@ -0,0 +1,442 @@
+/*
+ * __ __ _ ____ _ _
+ * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___
+ * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
+ * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/
+ * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___|
+ * |___/ |___/
+ *
+ * by Stephan Raabe (2023)
+ * -----------------------------------------------------
+*/
+
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+/* @import 'style-light.css'; */
+
+/* -----------------------------------------------------
+ * General
+ * ----------------------------------------------------- */
+
+* {
+ font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ border: none;
+ border-radius: 0px;
+}
+
+window#waybar {
+ background-color: rgba(0,0,0,0.2);
+ border-bottom: 0px solid #ffffff;
+ /* color: #FFFFFF; */
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+/* -----------------------------------------------------
+ * Workspaces
+ * ----------------------------------------------------- */
+
+#workspaces {
+ background: @workspacesbackground1;
+ margin: 5px 1px 6px 1px;
+ padding: 0px 1px;
+ border-radius: 15px;
+ border: 0px;
+ font-weight: bold;
+ font-style: normal;
+ opacity: 0.8;
+ font-size: 16px;
+ color: @textcolor1;
+}
+
+#workspaces button {
+ padding: 0px 5px;
+ margin: 4px 3px;
+ border-radius: 15px;
+ border: 0px;
+ color: @textcolor1;
+ background-color: @workspacesbackground2;
+ transition: all 0.3s ease-in-out;
+ opacity: 0.4;
+}
+
+#workspaces button.active {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+ min-width: 40px;
+ transition: all 0.3s ease-in-out;
+ opacity:1.0;
+}
+
+#workspaces button:hover {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+ opacity:0.7;
+}
+
+/* -----------------------------------------------------
+ * Tooltips
+ * ----------------------------------------------------- */
+
+tooltip {
+ border-radius: 10px;
+ background-color: @backgroundlight;
+ opacity:0.8;
+ padding:20px;
+ margin:0px;
+}
+
+tooltip label {
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Window
+ * ----------------------------------------------------- */
+
+#window {
+ background: @backgroundlight;
+ margin: 8px 15px 8px 0px;
+ padding: 2px 10px 0px 10px;
+ border-radius: 12px;
+ color:@textcolor2;
+ font-size:16px;
+ font-weight:normal;
+ opacity:0.8;
+}
+
+window#waybar.empty #window {
+ background-color:transparent;
+}
+
+/* -----------------------------------------------------
+ * Taskbar
+ * ----------------------------------------------------- */
+
+#taskbar {
+ background: @backgroundlight;
+ margin: 6px 15px 6px 0px;
+ padding:0px;
+ border-radius: 15px;
+ font-weight: normal;
+ font-style: normal;
+ opacity:0.8;
+ border: 3px solid @backgroundlight;
+}
+
+#taskbar button {
+ margin:0;
+ border-radius: 15px;
+ padding: 0px 5px 0px 5px;
+}
+
+/* -----------------------------------------------------
+ * Modules
+ * ----------------------------------------------------- */
+
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+/* -----------------------------------------------------
+ * Custom Quicklinks
+ * ----------------------------------------------------- */
+
+#custom-brave,
+#custom-browser,
+#custom-keybindings,
+#custom-outlook,
+#custom-filemanager,
+#custom-teams,
+#custom-chatgpt,
+#custom-calculator,
+#custom-windowsvm,
+#custom-cliphist,
+#custom-wallpaper,
+#custom-settings,
+#custom-wallpaper,
+#custom-system,
+#custom-waybarthemes {
+ margin-right: 23px;
+ font-size: 20px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: @iconcolor;
+}
+
+#custom-system {
+ margin-right:15px;
+}
+
+#custom-wallpaper {
+ margin-right:25px;
+}
+
+#custom-waybarthemes, #custom-settings {
+ margin-right:20px;
+}
+
+#custom-ml4w-welcome {
+ margin-right: 12px;
+ background-image: url("../assets/ml4w-icon.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 24px;
+}
+
+#custom-ml4w-hyprland-settings {
+ margin-right: 12px;
+ background-image: url("../assets/hyprland-icon.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 16px;
+}
+
+#custom-chatgpt {
+ margin-right: 12px;
+ background-image: url("../assets/ai-icon-20.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 24px;
+}
+
+/* -----------------------------------------------------
+ * Idle Inhibator
+ * ----------------------------------------------------- */
+
+#idle_inhibitor {
+ margin-right: 17px;
+ font-size: 20px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: @iconcolor;
+}
+
+#idle_inhibitor.activated {
+ margin-right: 15px;
+ font-size: 20px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: #dc2f2f;
+}
+
+/* -----------------------------------------------------
+ * Custom Modules
+ * ----------------------------------------------------- */
+
+#custom-appmenu {
+ background-color: @backgrounddark;
+ font-size: 16px;
+ color: @textcolor1;
+ border-radius: 15px;
+ padding: 0px 10px 0px 10px;
+ margin: 8px 14px 8px 14px;
+ opacity:0.8;
+ border:3px solid @bordercolor;
+}
+
+/* -----------------------------------------------------
+ * Custom Exit
+ * ----------------------------------------------------- */
+
+#custom-exit {
+ margin: 0px 20px 0px 0px;
+ padding:0px;
+ font-size:20px;
+ color: @iconcolor;
+}
+
+/* -----------------------------------------------------
+ * Custom Updates
+ * ----------------------------------------------------- */
+
+#custom-updates {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+}
+
+#custom-updates.green {
+ background-color: @backgroundlight;
+}
+
+#custom-updates.yellow {
+ background-color: #ff9a3c;
+ color: #FFFFFF;
+}
+
+#custom-updates.red {
+ background-color: #dc2f2f;
+ color: #FFFFFF;
+}
+
+/* -----------------------------------------------------
+ * Custom Youtube
+ * ----------------------------------------------------- */
+
+#custom-youtube {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+}
+
+/* -----------------------------------------------------
+ * Hardware Group
+ * ----------------------------------------------------- */
+
+ #disk,#memory,#cpu,#language {
+ margin:0px;
+ padding:0px;
+ font-size:16px;
+ color:@iconcolor;
+}
+
+#language {
+ margin-right:10px;
+}
+
+/* -----------------------------------------------------
+ * Clock
+ * ----------------------------------------------------- */
+
+#clock {
+ background-color: @backgrounddark;
+ font-size: 16px;
+ color: @textcolor1;
+ border-radius: 15px;
+ padding: 1px 10px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+ border:3px solid @bordercolor;
+}
+
+/* -----------------------------------------------------
+ * Pulseaudio
+ * ----------------------------------------------------- */
+
+#pulseaudio {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+}
+
+#pulseaudio.muted {
+ background-color: @backgrounddark;
+ color: @textcolor1;
+}
+
+/* -----------------------------------------------------
+ * Network
+ * ----------------------------------------------------- */
+
+#network {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+}
+
+#network.ethernet {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+}
+
+#network.wifi {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Bluetooth
+ * ----------------------------------------------------- */
+
+ #bluetooth, #bluetooth.on, #bluetooth.connected {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+}
+
+#bluetooth.off {
+ background-color: transparent;
+ padding: 0px;
+ margin: 0px;
+}
+
+/* -----------------------------------------------------
+ * Battery
+ * ----------------------------------------------------- */
+
+#battery {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 15px 0px 10px;
+ margin: 8px 15px 8px 0px;
+ opacity:0.8;
+}
+
+#battery.charging, #battery.plugged {
+ color: @textcolor2;
+ background-color: @backgroundlight;
+}
+
+@keyframes blink {
+ to {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: @textcolor3;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+/* -----------------------------------------------------
+ * Tray
+ * ----------------------------------------------------- */
+
+#tray {
+ padding: 0px 15px 0px 0px;
+ color: @textcolor3;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/white/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-blur/white/config.sh
new file mode 100644
index 0000000..e458b19
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/white/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Blur White"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-blur/white/style.css b/config/files/var/home/.config/waybar/themes/ml4w-blur/white/style.css
new file mode 100644
index 0000000..3e8f2fb
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-blur/white/style.css
@@ -0,0 +1,20 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 #CCCCCC;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #000000;
+@define-color textcolor2 #000000;
+@define-color textcolor3 #000000;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
+
+window#waybar {
+ background-color: rgba(255,255,255,0.1);
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/black/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-bottom/black/config.sh
new file mode 100644
index 0000000..5837eb6
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/black/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Black Bottom"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/black/style.css b/config/files/var/home/.config/waybar/themes/ml4w-bottom/black/style.css
new file mode 100644
index 0000000..4b4f603
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/black/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #000000;
+@define-color backgrounddark #000000;
+@define-color workspacesbackground1 #000000;
+@define-color workspacesbackground2 #222222;
+@define-color bordercolor #000000;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #000000;
+@define-color iconcolor #000000;
+
+@import '../../ml4w/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/colored/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-bottom/colored/config.sh
new file mode 100644
index 0000000..0a31bac
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/colored/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Colored Bottom"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/colored/style.css b/config/files/var/home/.config/waybar/themes/ml4w-bottom/colored/style.css
new file mode 100644
index 0000000..53bf65c
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/colored/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color5;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 @color5;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor @color11;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/config b/config/files/var/home/.config/waybar/themes/ml4w-bottom/config
new file mode 100644
index 0000000..c6b02a9
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/config
@@ -0,0 +1,55 @@
+// __ __ _
+// \ \ / /_ _ _ _| |__ __ _ _ __
+// \ \ /\ / / _` | | | | '_ \ / _` | '__|
+// \ V V / (_| | |_| | |_) | (_| | |
+// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+// |___/
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // General Settings
+ "position": "bottom",
+ "margin-top": 0,
+ "margin-bottom": 14,
+ "layer": "top",
+ "margin-left": 0,
+ "margin-right": 0,
+ "spacing": 0,
+
+ // Load Modules
+ "include": ["~/.config/waybar/modules.json"],
+
+ // Modules Left
+ "modules-left": [
+ "custom/appmenu",
+ "group/links",
+ "group/settings",
+ //"wlr/taskbar",
+ "group/quicklinks",
+ "hyprland/window"
+ ],
+
+ // Modules Center
+ "modules-center": [
+ "hyprland/workspaces",
+ "custom/empty"
+ ],
+
+ // Modules Right
+ "modules-right": [
+ "custom/updates",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "network",
+ "group/hardware",
+ "custom/cliphist",
+ "idle_inhibitor",
+ "tray",
+ "custom/exit",
+ "custom/ml4w-welcome",
+ "clock"
+ ]
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/dark/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-bottom/dark/config.sh
new file mode 100644
index 0000000..a6fe8ff
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/dark/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Dark Bottom"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/dark/style.css b/config/files/var/home/.config/waybar/themes/ml4w-bottom/dark/style.css
new file mode 100644
index 0000000..2179f76
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/dark/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor @color8;
+
+@import '../../ml4w/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/light/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-bottom/light/config.sh
new file mode 100644
index 0000000..e016502
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/light/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Light Bottom"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/light/style.css b/config/files/var/home/.config/waybar/themes/ml4w-bottom/light/style.css
new file mode 100644
index 0000000..833b8c4
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/light/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 @color11;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w/style.css';
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/mixed/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-bottom/mixed/config.sh
new file mode 100644
index 0000000..e5bc67e
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/mixed/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Mixed Bottom"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/mixed/style.css b/config/files/var/home/.config/waybar/themes/ml4w-bottom/mixed/style.css
new file mode 100644
index 0000000..f3ee832
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/mixed/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/white/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-bottom/white/config.sh
new file mode 100644
index 0000000..71dd9f5
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/white/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W White Bottom"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-bottom/white/style.css b/config/files/var/home/.config/waybar/themes/ml4w-bottom/white/style.css
new file mode 100644
index 0000000..69eb8de
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-bottom/white/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 #CCCCCC;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #000000;
+@define-color textcolor2 #000000;
+@define-color textcolor3 #000000;
+@define-color iconcolor #FFFFFF;
+
+@import '../../ml4w/style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-minimal/README.md b/config/files/var/home/.config/waybar/themes/ml4w-minimal/README.md
new file mode 100644
index 0000000..30b5f86
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-minimal/README.md
@@ -0,0 +1,12 @@
+# Waybar Theme Starter
+
+Create your own Waybar Theme based on this starter theme.
+
+- Copy the folder "~/.config/waybar/themes/starter" and define a custom folder name
+- Open config.sh and enter the name of your new theme
+- Select the theme with the Waybar Themeswitcher with SUPER+CTRL+T
+- Start your customization
+
+You can enable, disable and reorder waybar modules in the config file.
+
+Your custom theme will not be overwritten with an update of the dotfiles.
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-minimal/config b/config/files/var/home/.config/waybar/themes/ml4w-minimal/config
new file mode 100644
index 0000000..19f9b30
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-minimal/config
@@ -0,0 +1,53 @@
+// __ __ _
+// \ \ / /_ _ _ _| |__ __ _ _ __
+// \ \ /\ / / _` | | | | '_ \ / _` | '__|
+// \ V V / (_| | |_| | |_) | (_| | |
+// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+// |___/
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // General Settings
+ "layer": "top",
+ "margin-bottom": 0,
+ "layer": "top",
+ "margin-left": 0,
+ "margin-right": 0,
+ "spacing": 0,
+
+ // Load Modules
+ "include": ["~/.config/waybar/modules.json"],
+
+ // Modules Left
+ "modules-left": [
+ "custom/appmenuicon",
+ "hyprland/workspaces",
+ "group/links",
+ "group/settings",
+ "group/quicklinks"
+ ],
+
+ // Modules Center
+ "modules-center": [
+ "hyprland/window",
+ "custom/empty"
+ ],
+
+ // Modules Right
+ "modules-right": [
+ "custom/updates",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "network",
+ "group/hardware",
+ "custom/cliphist",
+ "idle_inhibitor",
+ "custom/exit",
+ "clock",
+ "tray",
+ "custom/ml4w-welcome"
+ ]
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-minimal/config.sh b/config/files/var/home/.config/waybar/themes/ml4w-minimal/config.sh
new file mode 100644
index 0000000..eac2047
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-minimal/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Minimal"
diff --git a/config/files/var/home/.config/waybar/themes/ml4w-minimal/style.css b/config/files/var/home/.config/waybar/themes/ml4w-minimal/style.css
new file mode 100644
index 0000000..be802f2
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w-minimal/style.css
@@ -0,0 +1,393 @@
+/*
+ * __ __ _ ____ _ _
+ * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___
+ * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
+ * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/
+ * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___|
+ * |___/ |___/
+ *
+ * by Stephan Raabe (2023)
+ * -----------------------------------------------------
+*/
+
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+/* @import 'style-light.css'; */
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 #CCCCCC;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #000000;
+@define-color textcolor2 #000000;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+/* -----------------------------------------------------
+ * General
+ * ----------------------------------------------------- */
+
+* {
+ font-family: "Fira Sans semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ border: none;
+ border-radius: 0px;
+}
+
+window#waybar {
+ background-color: rgba(0,0,0,0.4);
+ border-bottom: 0px solid #ffffff;
+ /* color: #FFFFFF; */
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+/* -----------------------------------------------------
+ * Workspaces
+ * ----------------------------------------------------- */
+
+ #workspaces {
+ margin: 3px 7px 3px 3px;
+ border: 0px;
+ font-size: 14px;
+ color: @textcolor1;
+}
+
+#workspaces button {
+ border: 0px;
+ margin:4px 5px 4px 0px;
+ padding:0px 4px 0px 4px;
+ color: @textcolor3;
+ transition: all 0.5s ease-in-out;
+}
+
+#workspaces button.active {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+}
+
+#workspaces button:hover {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+}
+
+/* -----------------------------------------------------
+ * Tooltips
+ * ----------------------------------------------------- */
+
+tooltip {
+ border-radius: 10px;
+ background-color: @backgroundlight;
+ opacity:0.8;
+ padding:20px;
+ margin:0px;
+}
+
+tooltip label {
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Window
+ * ----------------------------------------------------- */
+
+#window {
+ margin: 0px 15px 0px 0px;
+ border-radius: 12px;
+ color:@textcolor;
+ font-size:14px;
+ font-weight:normal;
+}
+
+window#waybar.empty #window {
+ background-color:transparent;
+}
+
+/* -----------------------------------------------------
+ * Modules
+ * ----------------------------------------------------- */
+
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+/* -----------------------------------------------------
+ * Custom Quicklinks
+ * ----------------------------------------------------- */
+
+#custom-brave,
+#custom-browser,
+#custom-keybindings,
+#custom-outlook,
+#custom-filemanager,
+#custom-teams,
+#custom-chatgpt,
+#custom-calculator,
+#custom-windowsvm,
+#custom-cliphist,
+#custom-wallpaper,
+#custom-settings,
+#custom-wallpaper,
+#custom-system,
+#custom-waybarthemes {
+ margin-right: 23px;
+ font-size: 14px;
+ font-weight: bold;
+ color: @iconcolor;
+}
+
+#custom-settings {
+ margin-right: 15px;
+}
+
+#custom-browser {
+ margin-right: 16px;
+}
+
+#custom-wallpaper {
+ margin-right: 14px;
+}
+
+#custom-chatgpt {
+ margin-right: 10px;
+ background-image: url("../assets/ai-icon-20.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 23px;
+}
+
+#custom-waybarthemes,#custom-system {
+ margin-right:15px;
+}
+
+
+#custom-ml4w-welcome {
+ margin-right: 15px;
+ background-image: url("../assets/ml4w-icon-20.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 24px;
+}
+
+#custom-ml4w-hyprland-settings {
+ margin-right: 12px;
+ background-image: url("../assets/hyprland-icon-20.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 16px;
+}
+
+
+/* -----------------------------------------------------
+ * Idle Inhibator
+ * ----------------------------------------------------- */
+
+ #idle_inhibitor {
+ margin-right: 15px;
+ font-size: 16px;
+ font-weight: bold;
+ color: @iconcolor;
+}
+
+#idle_inhibitor.activated {
+ margin-right: 15px;
+ font-size: 14px;
+ font-weight: bold;
+ color: #dc2f2f;
+}
+
+/* -----------------------------------------------------
+ * Custom Modules
+ * ----------------------------------------------------- */
+
+#custom-appmenuicon {
+ font-size: 20px;
+ color: @textcolor;
+ margin: 0px 15px 0px 10px;
+}
+
+/* -----------------------------------------------------
+ * Custom Exit
+ * ----------------------------------------------------- */
+
+#custom-exit {
+ margin: 0px 20px 0px 0px;
+ padding:0px;
+ font-size:16px;
+ color: @iconcolor;
+}
+
+/* -----------------------------------------------------
+ * Custom Updates
+ * ----------------------------------------------------- */
+
+#custom-updates {
+ font-size: 14px;
+ color: @textcolor;
+ border-radius: 15px;
+ margin: 0px 15px 0px 0px;
+}
+
+#custom-updates.green {
+}
+
+#custom-updates.yellow {
+ color: #ff9a3c;
+}
+
+#custom-updates.red {
+ color: #dc2f2f;
+}
+
+/* -----------------------------------------------------
+ * Custom Youtube
+ * ----------------------------------------------------- */
+
+#custom-youtube {
+ background-color: @backgroundlight;
+ font-size: 14px;
+ color: @textcolor2;
+ border-radius: 15px;
+ margin: 0px 15px 0px 0px;
+}
+
+/* -----------------------------------------------------
+ * Hardware Group
+ * ----------------------------------------------------- */
+
+ #disk,#memory,#cpu,#language {
+ margin:0px;
+ padding:0px;
+ font-size:14px;
+ color:@iconcolor;
+}
+
+#language {
+ margin-right:10px;
+}
+
+/* -----------------------------------------------------
+ * Clock
+ * ----------------------------------------------------- */
+
+#clock {
+ font-size: 15px;
+ color: @textcolor;
+ margin: 0px 15px 0px 0px;
+}
+
+/* -----------------------------------------------------
+ * Pulseaudio
+ * ----------------------------------------------------- */
+
+#pulseaudio {
+ font-size: 14px;
+ color: @textcolor;
+ border-radius: 15px;
+ margin: 0px 15px 0px 0px;
+}
+
+#pulseaudio.muted {
+ color: @textcolor;
+}
+
+/* -----------------------------------------------------
+ * Network
+ * ----------------------------------------------------- */
+
+#network {
+ font-size: 14px;
+ color: @textcolor;
+ border-radius: 15px;
+ margin: 0px 15px 0px 0px;
+}
+
+#network.ethernet {
+ color: @textcolor;
+}
+
+#network.wifi {
+ color: @textcolor;
+}
+
+/* -----------------------------------------------------
+ * Bluetooth
+ * ----------------------------------------------------- */
+
+ #bluetooth, #bluetooth.on, #bluetooth.connected {
+ font-size: 14px;
+ color: @textcolor;
+ border-radius: 15px;
+ margin: 10px 15px 10px 0px;
+}
+
+#bluetooth.off {
+ background-color: transparent;
+ padding: 0px;
+ margin: 0px;
+}
+
+/* -----------------------------------------------------
+ * Battery
+ * ----------------------------------------------------- */
+
+#battery {
+ font-size: 14px;
+ color: @textcolor;
+ border-radius: 15px;
+ margin: 10px 15px 10px 0px;
+}
+
+#battery.charging, #battery.plugged {
+ color: @textcolor;
+}
+
+@keyframes blink {
+ to {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+ }
+}
+
+#battery.critical:not(.charging) {
+ color: #f53c3c;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+/* -----------------------------------------------------
+ * Tray
+ * ----------------------------------------------------- */
+
+#tray {
+ margin:0px 10px 0px 0px;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+/* -----------------------------------------------------
+ * Other
+ * ----------------------------------------------------- */
+
+label:focus {
+ background-color: #000000;
+}
+
+#backlight {
+ background-color: #90b1b1;
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/black/config.sh b/config/files/var/home/.config/waybar/themes/ml4w/black/config.sh
new file mode 100644
index 0000000..39e19cb
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/black/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Black"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/black/style.css b/config/files/var/home/.config/waybar/themes/ml4w/black/style.css
new file mode 100644
index 0000000..4b15319
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/black/style.css
@@ -0,0 +1,17 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+ @import '../../../../../.cache/wal/colors-waybar.css';
+
+ @define-color backgroundlight #000000;
+ @define-color backgrounddark #000000;
+ @define-color workspacesbackground1 #000000;
+ @define-color workspacesbackground2 #222222;
+ @define-color bordercolor #000000;
+ @define-color textcolor1 #FFFFFF;
+ @define-color textcolor2 #FFFFFF;
+ @define-color textcolor3 #000000;
+ @define-color iconcolor #000000;
+
+ @import '../style.css';
+
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/colored/config.sh b/config/files/var/home/.config/waybar/themes/ml4w/colored/config.sh
new file mode 100644
index 0000000..25dbee7
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/colored/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Colored"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/colored/style.css b/config/files/var/home/.config/waybar/themes/ml4w/colored/style.css
new file mode 100644
index 0000000..f9008da
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/colored/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color5;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 @color5;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor @color11;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/config b/config/files/var/home/.config/waybar/themes/ml4w/config
new file mode 100644
index 0000000..8144a6b
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/config
@@ -0,0 +1,55 @@
+// __ __ _
+// \ \ / /_ _ _ _| |__ __ _ _ __
+// \ \ /\ / / _` | | | | '_ \ / _` | '__|
+// \ V V / (_| | |_| | |_) | (_| | |
+// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+// |___/
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // General Settings
+ "layer": "top",
+ "margin-top": 14,
+ "margin-bottom": 0,
+ "layer": "top",
+ "margin-left": 0,
+ "margin-right": 0,
+ "spacing": 0,
+
+ // Load Modules
+ "include": ["~/.config/waybar/modules.json"],
+
+ // Modules Left
+ "modules-left": [
+ "custom/appmenu",
+ "group/links",
+ "group/settings",
+ //"wlr/taskbar",
+ "group/quicklinks",
+ "hyprland/window",
+ "custom/empty"
+ ],
+
+ // Modules Center
+ "modules-center": [
+ "hyprland/workspaces"
+ ],
+
+ // Modules Right
+ "modules-right": [
+ "custom/updates",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "network",
+ "group/hardware",
+ "custom/cliphist",
+ "idle_inhibitor",
+ "tray",
+ "custom/exit",
+ "custom/ml4w-welcome",
+ "clock"
+ ]
+}
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/dark/config.sh b/config/files/var/home/.config/waybar/themes/ml4w/dark/config.sh
new file mode 100644
index 0000000..6c2cf9f
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/dark/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Dark"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/dark/style.css b/config/files/var/home/.config/waybar/themes/ml4w/dark/style.css
new file mode 100644
index 0000000..9e0e318
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/dark/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor @color8;
+
+@import '../style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/light/config.sh b/config/files/var/home/.config/waybar/themes/ml4w/light/config.sh
new file mode 100644
index 0000000..55e4ffd
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/light/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Light"
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/light/style.css b/config/files/var/home/.config/waybar/themes/ml4w/light/style.css
new file mode 100644
index 0000000..738cd66
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/light/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark @color11;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 @color11;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #FFFFFF;
+@define-color textcolor2 @color11;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/mixed/config.sh b/config/files/var/home/.config/waybar/themes/ml4w/mixed/config.sh
new file mode 100644
index 0000000..c00e231
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/mixed/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W Mixed"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/mixed/style.css b/config/files/var/home/.config/waybar/themes/ml4w/mixed/style.css
new file mode 100644
index 0000000..09032ae
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/mixed/style.css
@@ -0,0 +1,16 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+@import '../../../../../.cache/wal/colors-waybar.css';
+
+@define-color backgroundlight @color8;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 @color8;
+@define-color workspacesbackground2 #FFFFFF;
+@define-color bordercolor @color8;
+@define-color textcolor1 @color8;
+@define-color textcolor2 #FFFFFF;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+@import '../style.css';
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/style.css b/config/files/var/home/.config/waybar/themes/ml4w/style.css
new file mode 100644
index 0000000..035cad2
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/style.css
@@ -0,0 +1,444 @@
+/*
+ * __ __ _ ____ _ _
+ * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___
+ * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
+ * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/
+ * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___|
+ * |___/ |___/
+ *
+ * by Stephan Raabe (2023)
+ * -----------------------------------------------------
+*/
+
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+/* @import 'style-light.css'; */
+
+/* -----------------------------------------------------
+ * General
+ * ----------------------------------------------------- */
+
+* {
+ font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ border: none;
+ border-radius: 0px;
+}
+
+window#waybar {
+ background-color: rgba(0,0,0,0.8);
+ border-bottom: 0px solid #ffffff;
+ /* color: #FFFFFF; */
+ background: transparent;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+/* -----------------------------------------------------
+ * Workspaces
+ * ----------------------------------------------------- */
+
+#workspaces {
+ background: @workspacesbackground1;
+ margin: 2px 1px 3px 1px;
+ padding: 0px 1px;
+ border-radius: 15px;
+ border: 0px;
+ font-weight: bold;
+ font-style: normal;
+ opacity: 0.8;
+ font-size: 16px;
+ color: @textcolor1;
+}
+
+#workspaces button {
+ padding: 0px 5px;
+ margin: 4px 3px;
+ border-radius: 15px;
+ border: 0px;
+ color: @textcolor1;
+ background-color: @workspacesbackground2;
+ transition: all 0.3s ease-in-out;
+ opacity: 0.4;
+}
+
+#workspaces button.active {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+ min-width: 40px;
+ transition: all 0.3s ease-in-out;
+ opacity:1.0;
+}
+
+#workspaces button:hover {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+ opacity:0.7;
+}
+
+/* -----------------------------------------------------
+ * Tooltips
+ * ----------------------------------------------------- */
+
+tooltip {
+ border-radius: 10px;
+ background-color: @backgroundlight;
+ opacity:0.8;
+ padding:20px;
+ margin:0px;
+}
+
+tooltip label {
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Window
+ * ----------------------------------------------------- */
+
+#window {
+ background: @backgroundlight;
+ margin: 5px 15px 5px 0px;
+ padding: 2px 10px 0px 10px;
+ border-radius: 12px;
+ color:@textcolor2;
+ font-size:16px;
+ font-weight:normal;
+ opacity:0.8;
+}
+
+window#waybar.empty #window {
+ background-color:transparent;
+}
+
+/* -----------------------------------------------------
+ * Taskbar
+ * ----------------------------------------------------- */
+
+#taskbar {
+ background: @backgroundlight;
+ margin: 3px 15px 3px 0px;
+ padding:0px;
+ border-radius: 15px;
+ font-weight: normal;
+ font-style: normal;
+ opacity:0.8;
+ border: 3px solid @backgroundlight;
+}
+
+#taskbar button {
+ margin:0;
+ border-radius: 15px;
+ padding: 0px 5px 0px 5px;
+}
+
+/* -----------------------------------------------------
+ * Modules
+ * ----------------------------------------------------- */
+
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+/* -----------------------------------------------------
+ * Custom Quicklinks
+ * ----------------------------------------------------- */
+
+#custom-brave,
+#custom-browser,
+#custom-keybindings,
+#custom-outlook,
+#custom-filemanager,
+#custom-teams,
+#custom-chatgpt,
+#custom-calculator,
+#custom-windowsvm,
+#custom-cliphist,
+#custom-wallpaper,
+#custom-settings,
+#custom-wallpaper,
+#custom-system,
+#custom-waybarthemes {
+ margin-right: 23px;
+ font-size: 20px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: @iconcolor;
+}
+
+#custom-system {
+ margin-right:15px;
+}
+
+#custom-wallpaper {
+ margin-right:25px;
+}
+
+#custom-waybarthemes, #custom-settings {
+ margin-right:20px;
+}
+
+#custom-chatgpt {
+ margin-right: 12px;
+ background-image: url("../assets/ai-icon.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 24px;
+}
+
+#custom-ml4w-welcome {
+ margin-right: 12px;
+ background-image: url("../assets/ml4w-icon.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 24px;
+}
+
+#custom-ml4w-hyprland-settings {
+ margin-right: 12px;
+ background-image: url("../assets/hyprland-icon.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 16px;
+}
+
+/* -----------------------------------------------------
+ * Idle Inhibator
+ * ----------------------------------------------------- */
+
+#idle_inhibitor {
+ margin-right: 15px;
+ font-size: 22px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: @iconcolor;
+}
+
+#idle_inhibitor.activated {
+ margin-right: 15px;
+ font-size: 20px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: #dc2f2f;
+}
+
+/* -----------------------------------------------------
+ * Custom Modules
+ * ----------------------------------------------------- */
+
+#custom-appmenu, #custom-appmenuwlr {
+ background-color: @backgrounddark;
+ font-size: 16px;
+ color: @textcolor1;
+ border-radius: 15px;
+ padding: 0px 10px 0px 10px;
+ margin: 3px 15px 3px 14px;
+ opacity:0.8;
+ border:3px solid @bordercolor;
+}
+
+/* -----------------------------------------------------
+ * Custom Exit
+ * ----------------------------------------------------- */
+
+#custom-exit {
+ margin: 0px 20px 0px 0px;
+ padding:0px;
+ font-size:20px;
+ color: @iconcolor;
+}
+
+/* -----------------------------------------------------
+ * Custom Updates
+ * ----------------------------------------------------- */
+
+#custom-updates {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 5px 15px 5px 0px;
+ opacity:0.8;
+}
+
+#custom-updates.green {
+ background-color: @backgroundlight;
+}
+
+#custom-updates.yellow {
+ background-color: #ff9a3c;
+ color: #FFFFFF;
+}
+
+#custom-updates.red {
+ background-color: #dc2f2f;
+ color: #FFFFFF;
+}
+
+/* -----------------------------------------------------
+ * Custom Youtube
+ * ----------------------------------------------------- */
+
+#custom-youtube {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 5px 15px 5px 0px;
+ opacity:0.8;
+}
+
+/* -----------------------------------------------------
+ * Hardware Group
+ * ----------------------------------------------------- */
+
+#disk,#memory,#cpu,#language {
+ margin:0px;
+ padding:0px;
+ font-size:16px;
+ color:@iconcolor;
+}
+
+#language {
+ margin-right:10px;
+}
+
+/* -----------------------------------------------------
+ * Clock
+ * ----------------------------------------------------- */
+
+#clock {
+ background-color: @backgrounddark;
+ font-size: 16px;
+ color: @textcolor1;
+ border-radius: 15px;
+ padding: 1px 10px 0px 10px;
+ margin: 3px 15px 3px 0px;
+ opacity:0.8;
+ border:3px solid @bordercolor;
+}
+
+/* -----------------------------------------------------
+ * Pulseaudio
+ * ----------------------------------------------------- */
+
+#pulseaudio {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 5px 15px 5px 0px;
+ opacity:0.8;
+}
+
+#pulseaudio.muted {
+ background-color: @backgrounddark;
+ color: @textcolor1;
+}
+
+/* -----------------------------------------------------
+ * Network
+ * ----------------------------------------------------- */
+
+#network {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 5px 15px 5px 0px;
+ opacity:0.8;
+}
+
+#network.ethernet {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+}
+
+#network.wifi {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Bluetooth
+ * ----------------------------------------------------- */
+
+#bluetooth, #bluetooth.on, #bluetooth.connected {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 5px 15px 5px 0px;
+ opacity:0.8;
+}
+
+#bluetooth.off {
+ background-color: transparent;
+ padding: 0px;
+ margin: 0px;
+}
+
+/* -----------------------------------------------------
+ * Battery
+ * ----------------------------------------------------- */
+
+#battery {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 15px 0px 10px;
+ margin: 5px 15px 5px 0px;
+ opacity:0.8;
+}
+
+#battery.charging, #battery.plugged {
+ color: @textcolor2;
+ background-color: @backgroundlight;
+}
+
+@keyframes blink {
+ to {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: @textcolor3;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+/* -----------------------------------------------------
+ * Tray
+ * ----------------------------------------------------- */
+
+#tray {
+ padding: 0px 15px 0px 0px;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+}
+
+
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/white/config.sh b/config/files/var/home/.config/waybar/themes/ml4w/white/config.sh
new file mode 100644
index 0000000..685088f
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/white/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="ML4W White"
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/ml4w/white/style.css b/config/files/var/home/.config/waybar/themes/ml4w/white/style.css
new file mode 100644
index 0000000..83c474f
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/ml4w/white/style.css
@@ -0,0 +1,17 @@
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+ @import '../../../../../.cache/wal/colors-waybar.css';
+
+ @define-color backgroundlight #FFFFFF;
+ @define-color backgrounddark #FFFFFF;
+ @define-color workspacesbackground1 #FFFFFF;
+ @define-color workspacesbackground2 #CCCCCC;
+ @define-color bordercolor #FFFFFF;
+ @define-color textcolor1 #000000;
+ @define-color textcolor2 #000000;
+ @define-color textcolor3 #000000;
+ @define-color iconcolor #FFFFFF;
+
+ @import '../style.css';
+
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/starter/README.md b/config/files/var/home/.config/waybar/themes/starter/README.md
new file mode 100644
index 0000000..30b5f86
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/starter/README.md
@@ -0,0 +1,12 @@
+# Waybar Theme Starter
+
+Create your own Waybar Theme based on this starter theme.
+
+- Copy the folder "~/.config/waybar/themes/starter" and define a custom folder name
+- Open config.sh and enter the name of your new theme
+- Select the theme with the Waybar Themeswitcher with SUPER+CTRL+T
+- Start your customization
+
+You can enable, disable and reorder waybar modules in the config file.
+
+Your custom theme will not be overwritten with an update of the dotfiles.
\ No newline at end of file
diff --git a/config/files/var/home/.config/waybar/themes/starter/config b/config/files/var/home/.config/waybar/themes/starter/config
new file mode 100644
index 0000000..2f82a40
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/starter/config
@@ -0,0 +1,63 @@
+// __ __ _
+// \ \ / /_ _ _ _| |__ __ _ _ __
+// \ \ /\ / / _` | | | | '_ \ / _` | '__|
+// \ V V / (_| | |_| | |_) | (_| | |
+// \_/\_/ \__,_|\__, |_.__/ \__,_|_|
+// |___/
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // General Settings
+
+ // Position TOP
+ "layer": "top",
+ "margin-bottom": 0,
+
+ // Position BOTTOM
+ // "position": "bottom",
+ // "margin-top": 0,
+ // "margin-bottom": 14,
+
+ "layer": "top",
+ "margin-left": 0,
+ "margin-right": 0,
+ "spacing": 0,
+
+ // Load Modules
+ "include": ["~/.config/waybar/themes/starter/modules.json"],
+
+ // Modules Left
+ "modules-left": [
+ "custom/appmenu",
+ "custom/settings",
+ "custom/waybarthemes",
+ "custom/wallpaper",
+ //"wlr/taskbar",
+ "group/quicklinks",
+ "hyprland/window",
+ "custom/starter"
+ ],
+
+ // Modules Center
+ "modules-center": [
+ "hyprland/workspaces"
+ ],
+
+ // Modules Right
+ "modules-right": [
+ "custom/updates",
+ "pulseaudio",
+ "bluetooth",
+ "battery",
+ "network",
+ "group/hardware",
+ "custom/cliphist",
+ "idle_inhibitor",
+ "tray",
+ "custom/exit",
+ "custom/ml4w-welcome",
+ "clock"
+ ]
+}
diff --git a/config/files/var/home/.config/waybar/themes/starter/config.sh b/config/files/var/home/.config/waybar/themes/starter/config.sh
new file mode 100644
index 0000000..a9399f6
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/starter/config.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+theme_name="Waybar Starter"
diff --git a/config/files/var/home/.config/waybar/themes/starter/modules.json b/config/files/var/home/.config/waybar/themes/starter/modules.json
new file mode 100644
index 0000000..99bb21d
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/starter/modules.json
@@ -0,0 +1,330 @@
+// __ __ _ _
+// | \/ | ___ __| |_ _| | ___ ___
+// | |\/| |/ _ \ / _` | | | | |/ _ \/ __|
+// | | | | (_) | (_| | |_| | | __/\__ \
+// |_| |_|\___/ \__,_|\__,_|_|\___||___/
+//
+//
+// by Stephan Raabe (2023)
+// -----------------------------------------------------
+//
+{
+ // Workspaces
+ "hyprland/workspaces" : {
+ "on-click": "activate",
+ "active-only": false,
+ "all-outputs": true,
+ "format": "{}",
+ "format-icons": {
+ "urgent": "",
+ "active": "",
+ "default": ""
+ },
+ "persistent-workspaces": {
+ "*": 5
+ }
+ },
+
+ // Taskbar
+ "wlr/taskbar": {
+ "format": "{icon}",
+ "icon-size": 18,
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "on-click-middle": "close",
+ "ignore-list": [
+ "Alacritty"
+ ],
+ "app_ids-mapping": {
+ "firefoxdeveloperedition": "firefox-developer-edition"
+ },
+ "rewrite": {
+ "Firefox Web Browser": "Firefox",
+ "Foot Server": "Terminal"
+ }
+ },
+
+ // Hyprland Window
+ "hyprland/window": {
+ "rewrite": {
+ "(.*) - Brave": "$1",
+ "(.*) - Chromium": "$1",
+ "(.*) - Brave Search": "$1",
+ "(.*) - Outlook": "$1",
+ "(.*) Microsoft Teams": "$1"
+ },
+ "separate-outputs": true
+ },
+
+ // Cliphist
+ "custom/cliphist": {
+ "format": "",
+ "on-click": "sleep 0.1 && ~/.config/scripts/cliphist.sh",
+ "on-click-right": "sleep 0.1 && ~/.config/scripts/cliphist.sh d",
+ "on-click-middle": "sleep 0.1 && ~/.config/scripts/cliphist.sh w",
+ "tooltip": false
+ },
+
+ // Updates Count
+ "custom/updates": {
+ "format": " {}",
+ "tooltip-format": "{}",
+ "escape": true,
+ "return-type": "json",
+ "exec": "~/.config/scripts/updates.sh",
+ "restart-interval": 60,
+ "on-click": "alacritty -e ~/.config/scripts/installupdates.sh",
+ "tooltip": false
+ },
+
+ // Theme Starter Label
+ "custom/starter": {
+ "format": "THEME STARTER",
+ "tooltip": false
+ },
+
+ // Wallpaper
+ "custom/wallpaper": {
+ "format": "",
+ "on-click": "~/.config/hypr/scripts/wallpaper.sh select",
+ "on-click-right": "~/.config/hypr/scripts/wallpaper.sh",
+ "tooltip": false
+ },
+
+ // Waybar Themes
+ "custom/waybarthemes": {
+ "format": "",
+ "on-click": "~/.config/waybar/themeswitcher.sh",
+ "tooltip": false
+ },
+
+ // Settings
+ "custom/settings": {
+ "format": "",
+ "on-click": "~/.config/apps/ML4W_Dotfiles_Settings-x86_64.AppImage",
+ "tooltip": false
+ },
+
+ // Keybindings
+ "custom/keybindings": {
+ "format": "",
+ "on-click": "~/.config/hypr/scripts/keybindings.sh",
+ "tooltip": false
+ },
+
+ // Filemanager Launcher
+ "custom/filemanager": {
+ "format": "",
+ "on-click": "thunar",
+ "tooltip": false
+ },
+
+ // Browser Launcher
+ "custom/browser": {
+ "format": "",
+ "on-click": "~/.config/.settings/browser.sh",
+ "tooltip": false
+ },
+
+ // ML4W Welcome App
+ "custom/ml4w-welcome": {
+ "on-click": "~/.config/apps/ML4W_Welcome-x86_64.AppImage",
+ "format": " ",
+ "tooltip": false
+ },
+
+ // ChatGPT Launcher
+ "custom/chatgpt": {
+ "format": "",
+ "on-click": "chromium --app=https://chat.openai.com",
+ "tooltip": false
+ },
+
+ // Rofi Application Launcher
+ "custom/appmenu": {
+ "format": "Apps",
+ "on-click": "rofi -show drun -replace",
+ "on-click-right": "~/.config/hypr/scripts/keybindings.sh",
+ "tooltip": false
+ },
+
+ // Power Menu
+ "custom/exit": {
+ "format": "",
+ "on-click": "wlogout",
+ "tooltip": false
+ },
+
+ // Keyboard State
+ "keyboard-state": {
+ "numlock": true,
+ "capslock": true,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "locked": "",
+ "unlocked": ""
+ }
+ },
+
+ // System tray
+ "tray": {
+ // "icon-size": 21,
+ "spacing": 10
+ },
+
+ // Clock
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+
+ // System
+ "custom/system": {
+ "format": "",
+ "tooltip": false
+ },
+
+ // CPU
+ "cpu": {
+ "format": "/ C {usage}% ",
+ "on-click": "alacritty -e htop"
+ },
+
+ // Memory
+ "memory": {
+ "format": "/ M {}% ",
+ "on-click": "alacritty -e htop"
+ },
+
+ // Harddisc space used
+ "disk": {
+ "interval": 30,
+ "format": "D {percentage_used}% ",
+ "path": "/",
+ "on-click": "alacritty -e htop"
+ },
+
+ "hyprland/language": {
+ "format": "/ K {short}"
+ },
+
+ // Group Hardware
+ "group/hardware": {
+ "orientation": "inherit",
+ "drawer": {
+ "transition-duration": 300,
+ "children-class": "not-memory",
+ "transition-left-to-right": false
+ },
+ "modules": [
+ "custom/system",
+ "disk",
+ "cpu",
+ "memory",
+ "hyprland/language"
+ ]
+ },
+
+ // Group Settings
+ "group/settings": {
+ "orientation": "inherit",
+ "drawer": {
+ "transition-duration": 300,
+ "children-class": "not-memory",
+ "transition-left-to-right": false
+ },
+ "modules": [
+ "custom/settings",
+ "custom/waybarthemes",
+ "custom/wallpaper"
+ ]
+ },
+
+ // Group Quicklinks
+ "group/quicklinks": {
+ "orientation": "horizontal",
+ "modules": [
+ "custom/filemanager",
+ "custom/browser"
+ ]
+ },
+
+ // Network
+ "network": {
+ "format": "{ifname}",
+ "format-wifi": " {signalStrength}%",
+ "format-ethernet": " {ipaddr}",
+ "format-disconnected": "Not connected", //An empty format will hide the module.
+ "tooltip-format": " {ifname} via {gwaddri}",
+ "tooltip-format-wifi": " {essid} ({signalStrength}%)",
+ "tooltip-format-ethernet": " {ifname} ({ipaddr}/{cidr})",
+ "tooltip-format-disconnected": "Disconnected",
+ "max-length": 50,
+ "on-click": "alacritty -e nmtui"
+ },
+
+ // Battery
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{icon} {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{icon} {time}",
+ // "format-good": "", // An empty format will hide the module
+ // "format-full": "",
+ "format-icons": [" ", " ", " ", " ", " "]
+ },
+
+ // Pulseaudio
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{icon} {volume}%",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", " ", " "]
+ },
+ "on-click": "pavucontrol"
+ },
+
+ // Bluetooth
+ "bluetooth": {
+ "format-disabled": "",
+ "format-off": "",
+ "interval": 30,
+ "on-click": "blueman-manager",
+ "format-no-controller": ""
+ },
+
+ // Other
+ "user": {
+ "format": "{user}",
+ "interval": 60,
+ "icon": false,
+ },
+
+ // Idle Inhibator
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "tooltip": true,
+ "format-icons":{
+ "activated": "",
+ "deactivated": ""
+ },
+ "on-click-right": "hyprlock"
+ }
+}
diff --git a/config/files/var/home/.config/waybar/themes/starter/style.css b/config/files/var/home/.config/waybar/themes/starter/style.css
new file mode 100644
index 0000000..4224494
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themes/starter/style.css
@@ -0,0 +1,430 @@
+/*
+ * __ __ _ ____ _ _
+ * \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___
+ * \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
+ * \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/
+ * \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___|
+ * |___/ |___/
+ *
+ * by Stephan Raabe (2023)
+ * -----------------------------------------------------
+*/
+
+/* -----------------------------------------------------
+ * Import Pywal colors
+ * ----------------------------------------------------- */
+/* @import 'style-light.css'; */
+@define-color backgroundlight #FFFFFF;
+@define-color backgrounddark #FFFFFF;
+@define-color workspacesbackground1 #FFFFFF;
+@define-color workspacesbackground2 #CCCCCC;
+@define-color bordercolor #FFFFFF;
+@define-color textcolor1 #000000;
+@define-color textcolor2 #000000;
+@define-color textcolor3 #FFFFFF;
+@define-color iconcolor #FFFFFF;
+
+/* -----------------------------------------------------
+ * General
+ * ----------------------------------------------------- */
+
+* {
+ font-family: "Fira Sans Semibold", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ border: none;
+ border-radius: 0px;
+}
+
+window#waybar {
+ background-color: rgba(0,0,0,0.2);
+ border-bottom: 0px solid #ffffff;
+ /* color: #FFFFFF; */
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+/* -----------------------------------------------------
+ * Workspaces
+ * ----------------------------------------------------- */
+
+#workspaces {
+ margin: 5px 1px 6px 1px;
+ padding: 0px 1px;
+ border-radius: 15px;
+ border: 0px;
+ font-weight: bold;
+ font-style: normal;
+ font-size: 16px;
+ color: @textcolor1;
+}
+
+#workspaces button {
+ padding: 0px 5px;
+ margin: 4px 3px;
+ border-radius: 15px;
+ border: 0px;
+ color: @textcolor3;
+ transition: all 0.3s ease-in-out;
+}
+
+#workspaces button.active {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+ min-width: 40px;
+ transition: all 0.3s ease-in-out;
+}
+
+#workspaces button:hover {
+ color: @textcolor1;
+ background: @workspacesbackground2;
+ border-radius: 15px;
+}
+
+/* -----------------------------------------------------
+ * Tooltips
+ * ----------------------------------------------------- */
+
+tooltip {
+ border-radius: 10px;
+ background-color: @backgroundlight;
+ opacity:0.8;
+ padding:20px;
+ margin:0px;
+}
+
+tooltip label {
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Window
+ * ----------------------------------------------------- */
+
+#window {
+ background: @backgroundlight;
+ margin: 10px 15px 10px 0px;
+ padding: 2px 10px 0px 10px;
+ border-radius: 12px;
+ color:@textcolor2;
+ font-size:16px;
+ font-weight:normal;
+}
+
+window#waybar.empty #window {
+ background-color:transparent;
+}
+
+/* -----------------------------------------------------
+ * Taskbar
+ * ----------------------------------------------------- */
+
+#taskbar {
+ background: @backgroundlight;
+ margin: 6px 15px 6px 0px;
+ padding:0px;
+ border-radius: 15px;
+ font-weight: normal;
+ font-style: normal;
+ border: 3px solid @backgroundlight;
+}
+
+#taskbar button {
+ margin:0;
+ border-radius: 15px;
+ padding: 0px 5px 0px 5px;
+}
+
+/* -----------------------------------------------------
+ * Modules
+ * ----------------------------------------------------- */
+
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+/* -----------------------------------------------------
+ * Custom Quicklinks
+ * ----------------------------------------------------- */
+
+#custom-brave,
+#custom-browser,
+#custom-keybindings,
+#custom-outlook,
+#custom-filemanager,
+#custom-teams,
+#custom-chatgpt,
+#custom-calculator,
+#custom-windowsvm,
+#custom-cliphist,
+#custom-wallpaper,
+#custom-settings,
+#custom-wallpaper,
+#custom-system,
+#custom-waybarthemes {
+ margin-right: 23px;
+ font-size: 20px;
+ font-weight: bold;
+ color: @iconcolor;
+}
+
+ #custom-waybarthemes,#custom-system {
+ margin-right:15px;
+ }
+
+
+ #custom-ml4w-welcome {
+ margin-right: 15px;
+ background-image: url("../assets/ml4w-icon.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding-right: 24px;
+}
+
+/* -----------------------------------------------------
+ * Idle Inhibator
+ * ----------------------------------------------------- */
+
+ #idle_inhibitor {
+ margin-right: 15px;
+ font-size: 22px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: @iconcolor;
+}
+
+#idle_inhibitor.activated {
+ margin-right: 15px;
+ font-size: 20px;
+ font-weight: bold;
+ opacity: 0.8;
+ color: #dc2f2f;
+}
+
+/* -----------------------------------------------------
+ * Custom Modules
+ * ----------------------------------------------------- */
+
+#custom-appmenu {
+ background-color: @backgrounddark;
+ font-size: 16px;
+ color: @textcolor1;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 10px;
+}
+
+/* -----------------------------------------------------
+ * Custom Exit
+ * ----------------------------------------------------- */
+
+#custom-exit {
+ margin: 0px 20px 0px 0px;
+ padding:0px;
+ font-size:20px;
+ color: @iconcolor;
+}
+
+/* -----------------------------------------------------
+ * Custom Updates
+ * ----------------------------------------------------- */
+
+#custom-updates {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+#custom-updates.green {
+ background-color: @backgroundlight;
+}
+
+#custom-updates.yellow {
+ background-color: #ff9a3c;
+ color: #FFFFFF;
+}
+
+#custom-updates.red {
+ background-color: #dc2f2f;
+ color: #FFFFFF;
+}
+
+/* -----------------------------------------------------
+ * Custom Youtube
+ * ----------------------------------------------------- */
+
+#custom-youtube {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+/* -----------------------------------------------------
+ * Hardware Group
+ * ----------------------------------------------------- */
+
+ #disk,#memory,#cpu,#language {
+ margin:0px;
+ padding:0px;
+ font-size:16px;
+ color:@iconcolor;
+}
+
+#language {
+ margin-right:10px;
+}
+
+/* -----------------------------------------------------
+ * Clock
+ * ----------------------------------------------------- */
+
+#clock {
+ background-color: @backgrounddark;
+ font-size: 16px;
+ color: @textcolor1;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+/* -----------------------------------------------------
+ * Pulseaudio
+ * ----------------------------------------------------- */
+
+#pulseaudio {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+#pulseaudio.muted {
+ background-color: @backgrounddark;
+ color: @textcolor1;
+}
+
+/* -----------------------------------------------------
+ * Network
+ * ----------------------------------------------------- */
+
+#network {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+#network.ethernet {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+}
+
+#network.wifi {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+}
+
+/* -----------------------------------------------------
+ * Bluetooth
+ * ----------------------------------------------------- */
+
+ #bluetooth, #bluetooth.on, #bluetooth.connected {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 10px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+#bluetooth.off {
+ background-color: transparent;
+ padding: 0px;
+ margin: 0px;
+}
+
+/* -----------------------------------------------------
+ * Battery
+ * ----------------------------------------------------- */
+
+#battery {
+ background-color: @backgroundlight;
+ font-size: 16px;
+ color: @textcolor2;
+ border-radius: 15px;
+ padding: 2px 15px 0px 10px;
+ margin: 10px 15px 10px 0px;
+}
+
+#battery.charging, #battery.plugged {
+ color: @textcolor2;
+ background-color: @backgroundlight;
+}
+
+@keyframes blink {
+ to {
+ background-color: @backgroundlight;
+ color: @textcolor2;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: @textcolor3;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+/* -----------------------------------------------------
+ * Tray
+ * ----------------------------------------------------- */
+
+#tray {
+ background-color: #2980b9;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+/* -----------------------------------------------------
+ * Other
+ * ----------------------------------------------------- */
+
+label:focus {
+ background-color: #000000;
+}
+
+#backlight {
+ background-color: #90b1b1;
+}
+
+#network {
+ background-color: #2980b9;
+}
+
+#network.disconnected {
+ background-color: #f53c3c;
+}
+
diff --git a/config/files/var/home/.config/waybar/themeswitcher.sh b/config/files/var/home/.config/waybar/themeswitcher.sh
new file mode 100755
index 0000000..39d5547
--- /dev/null
+++ b/config/files/var/home/.config/waybar/themeswitcher.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+# _____ _ _ _ _
+# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __
+# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__|
+# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ |
+# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_|
+#
+# by Stephan Raabe (2024)
+# -----------------------------------------------------
+
+# -----------------------------------------------------
+# Default theme folder
+# -----------------------------------------------------
+themes_path="$HOME/.config/waybar/themes"
+
+# -----------------------------------------------------
+# Initialize arrays
+# -----------------------------------------------------
+listThemes=""
+listNames=""
+listNames2=""
+
+# -----------------------------------------------------
+# Read theme folder
+# -----------------------------------------------------
+sleep 0.2
+options=$(find $themes_path -maxdepth 2 -type d)
+for value in $options
+do
+ if [ ! $value == "$HOME/.config/waybar/themes/assets" ]; then
+ if [ ! $value == "$themes_path" ]; then
+ if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then
+ result=$(echo $value | sed "s#$HOME/.config/waybar/themes/#/#g")
+ IFS='/' read -ra arrThemes <<< "$result"
+ listThemes[${#listThemes[@]}]="/${arrThemes[1]};$result"
+ if [ -f $themes_path$result/config.sh ]; then
+ source $themes_path$result/config.sh
+ listNames+="$theme_name\n"
+ listNames2+="$theme_name~"
+ else
+ listNames+="/${arrThemes[1]};$result\n"
+ listNames2+="/${arrThemes[1]};$result~"
+ fi
+ fi
+ fi
+ fi
+done
+
+# -----------------------------------------------------
+# Show rofi dialog
+# -----------------------------------------------------
+listNames=${listNames::-2}
+choice=$(echo -e "$listNames" | rofi -dmenu -replace -i -config ~/.config/rofi/config-themes.rasi -no-show-icons -width 30 -p "Themes" -format i)
+IFS="~"
+input=$listNames2
+read -ra array <<< "$input"
+
+# -----------------------------------------------------
+# Set new theme by writing the theme information to ~/.cache/.themestyle.sh
+# -----------------------------------------------------
+if [ "$choice" ]; then
+ echo "Loading waybar theme..."
+ echo "${listThemes[$choice+1]}" > ~/.cache/.themestyle.sh
+ ~/.config/waybar/launch.sh
+ notify-send "Waybar Theme changed" "to ${array[$choice]}"
+fi
diff --git a/recipes/recipe.yml b/recipes/recipe.yml
index 0b84c96..d589e3a 100644
--- a/recipes/recipe.yml
+++ b/recipes/recipe.yml
@@ -15,6 +15,8 @@ modules:
- usr: /usr # copies config/files/usr into your image's /usr.
# put configuration files you want in /etc/ on a booted system
# in /usr/etc/ in the image. read more in files module reference.
+
+ - var: /var
- type: rpm-ostree
repos:
@@ -23,8 +25,8 @@ modules:
install:
# hyprland
- hyprland
- - hyprpaper # wallpaper util
- - hyprpicker # color picker
+ - hyprpaper # wallpaper util
+ - hyprpicker # color
- hyprshot # screenshot util
- xdg-desktop-portal-hyprland # desktop portal
- hypridle