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