diff --git a/.back/wal/templates/colors-hyprland.conf b/.back/wal/templates/colors-hyprland.conf deleted file mode 100644 index 84e2394..0000000 --- a/.back/wal/templates/colors-hyprland.conf +++ /dev/null @@ -1,18 +0,0 @@ -$background = rgb({background.strip}) -$foreground = rgb({foreground.strip}) -$color0 = rgb({color0.strip}) -$color1 = rgb({color1.strip}) -$color2 = rgb({color2.strip}) -$color3 = rgb({color3.strip}) -$color4 = rgb({color4.strip}) -$color5 = rgb({color5.strip}) -$color6 = rgb({color6.strip}) -$color7 = rgb({color7.strip}) -$color8 = rgb({color8.strip}) -$color9 = rgb({color9.strip}) -$color10 = rgb({color10.strip}) -$color11 = rgb({color11.strip}) -$color12 = rgb({color12.strip}) -$color13 = rgb({color13.strip}) -$color14 = rgb({color14.strip}) -$color15 = rgb({color15.strip}) \ No newline at end of file diff --git a/.back/wal/templates/colors-waybar.css b/.back/wal/templates/colors-waybar.css deleted file mode 100644 index c9cced6..0000000 --- a/.back/wal/templates/colors-waybar.css +++ /dev/null @@ -1,20 +0,0 @@ -@define-color foreground {foreground}; -@define-color background {background}; -@define-color cursor {cursor}; - -@define-color color0 {color0}; -@define-color color1 {color1}; -@define-color color2 {color2}; -@define-color color3 {color3}; -@define-color color4 {color4}; -@define-color color5 {color5}; -@define-color color6 {color6}; -@define-color color7 {color7}; -@define-color color8 {color8}; -@define-color color9 {color9}; -@define-color color10 {color10}; -@define-color color11 {color11}; -@define-color color12 {color12}; -@define-color color13 {color13}; -@define-color color14 {color14}; -@define-color color15 {color15}; diff --git a/.deploycheck b/.deploycheck deleted file mode 100644 index bd7c7b9..0000000 --- a/.deploycheck +++ /dev/null @@ -1,8 +0,0 @@ -------------------------------------------------------- -Checklist for changes on main branch after merging -------------------------------------------------------- - -hyprland.conf: Set monitor to ,preferred,auto,1 -hyprland.conf: Set keyboard to us -gtk/gtk-3.0: Remove bookmarks - diff --git a/1-install.sh b/1-install.sh index 268038f..23526c3 100755 --- a/1-install.sh +++ b/1-install.sh @@ -93,9 +93,6 @@ packagesPacman=( "ttf-fira-code" "ttf-firacode-nerd" "figlet" - "lxappearance" - "breeze" - "breeze-gtk" "vlc" "exa" "python-pip" @@ -107,7 +104,8 @@ packagesPacman=( "tumbler" "xautolock" "blueman" - "nautilus" + "sddm" + "papirus-icon-theme" ); packagesYay=( @@ -115,7 +113,7 @@ packagesYay=( "pfetch" "bibata-cursor-theme" "trizen" - "kora-icon-theme" + "sddm-sugar-dark" ); # ------------------------------------------------------ @@ -144,19 +142,18 @@ echo "-> Install .bashrc" _installSymLink .bashrc ~/.bashrc ~/dotfiles/.bashrc ~/.bashrc # ------------------------------------------------------ -# Install custom issue (login prompt) +# Install sddm display manager # ------------------------------------------------------ echo "" -echo "-> Install login screen" +echo "-> Install sddm display manager" while true; do read -p "Do you want to install the custom login promt? (Yy/Nn): " yn case $yn in [Yy]* ) - sudo cp ~/dotfiles/login/issue /etc/issue - echo "Login promt installed." + sudo systemctl enable sddm.service break;; [Nn]* ) - echo "Custom login promt skipped." + echo "sddm installation skipped." break;; * ) echo "Please answer yes or no.";; esac @@ -168,7 +165,7 @@ done echo "" echo "-> Install wallapers" while true; do - read -p "Do you want to clone the wallpapers? (Yy/Nn): " yn + read -p "Do you want to clone the wallpapers? If not, the script will install 3 default wallpapers to ~/wallpaper/ (Yy/Nn): " yn case $yn in [Yy]* ) if [ -d ~/wallpaper/ ]; then @@ -186,7 +183,7 @@ while true; do mkdir ~/wallpaper fi cp ~/dotfiles/wallpapers/* ~/wallpaper - echo "Default wallpaper installed." + echo "Default wallpapers installed." break;; * ) echo "Please answer yes or no.";; esac @@ -200,8 +197,17 @@ echo "-> Init pywal" wal -i ~/dotfiles/wallpapers/default.jpg echo "pywal initiated." +# ------------------------------------------------------ +# Copy default wallpaper to .cache +# ------------------------------------------------------ +echo "" +echo "-> Copy default wallpaper to .cache" +cp ~/dotfiles/wallpapers/default.jpg ~/.cache/current_wallpaper.jpg +echo "default wallpaper copied." + # ------------------------------------------------------ # DONE # ------------------------------------------------------ clear -echo "DONE!" +echo "DONE!" +echo "NEXT: Please continue with 2-install-hyprland.sh and/or 2-install-qtile.sh" diff --git a/2-install-hyprland.sh b/2-install-hyprland.sh index 974cc4a..49fa2ca 100755 --- a/2-install-hyprland.sh +++ b/2-install-hyprland.sh @@ -70,4 +70,7 @@ _installPackagesPacman "${packagesPacman[@]}"; _installPackagesYay "${packagesYay[@]}"; echo "" -echo "DONE! Please reboot your system!" +echo "DONE!" +echo "NEXT: Update the keyboard layout and screen resolution in ~/dotfiles/hypr/hyprland.conf" +echo "Then proceed with with 3-dotfiles.sh" + diff --git a/2-install-qtile.sh b/2-install-qtile.sh index 8cf8070..7b51688 100755 --- a/2-install-qtile.sh +++ b/2-install-qtile.sh @@ -58,4 +58,7 @@ packagesPacman=( # ------------------------------------------------------ _installPackagesPacman "${packagesPacman[@]}"; -echo "DONE! Please reboot your system!" +echo "" +echo "DONE!" +echo "NEXT: Update the keyboard layout and screen resolution in ~/dotfiles/qtile/autostart.sh" +echo "Then proceed with 3-dotfiles.sh" diff --git a/3-dotfiles.sh b/3-dotfiles.sh index 9bbbc6a..9358b96 100755 --- a/3-dotfiles.sh +++ b/3-dotfiles.sh @@ -25,9 +25,9 @@ echo " " echo "by Stephan Raabe (2023)" echo "-------------------------------------" echo "" -echo "The script will ask for permission to remove existing folders and files." -echo "But you can decide to keep your local versions by answering with No (Nn)." -echo "Symbolic links will be created from ~/dotfiles into your home and .config directories." +echo "The script will ask for permission to remove existing directories and files from ~/.config/" +echo "Symbolic links will then be created from ~/dotfiles into your ~/.config/ directory." +echo "But you can decide to keep your personal versions by answering with No (Nn)." echo "" # ------------------------------------------------------ @@ -78,9 +78,11 @@ _installSymLink starship ~/.config/starship.toml ~/dotfiles/starship/starship.to _installSymLink rofi ~/.config/rofi ~/dotfiles/rofi/ ~/.config _installSymLink dunst ~/.config/dunst ~/dotfiles/dunst/ ~/.config _installSymLink wal ~/.config/wal ~/dotfiles/wal/ ~/.config -wal -i screenshots/ + +wal -i wallpapers/ echo "Pywal templates initiated!" echo "" + echo "-------------------------------------" echo "-> Install GTK dotfiles" echo "-------------------------------------" @@ -88,8 +90,7 @@ echo "" _installSymLink .gtkrc-2.0 ~/.gtkrc-2.0 ~/dotfiles/gtk/.gtkrc-2.0 ~/.gtkrc-2.0 _installSymLink gtk-3.0 ~/.config/gtk-3.0 ~/dotfiles/gtk/gtk-3.0/ ~/.config/ -_installSymLink .Xresouces ~/.Xresources ~/dotfiles/gtk/.Xresources ~/.Xresources -_installSymLink .icons ~/.icons ~/dotfiles/gtk/.icons/ ~/ +_installSymLink gtk-4.0 ~/.config/gtk-4.0 ~/dotfiles/gtk/gtk-4.0/ ~/.config/ echo "-------------------------------------" echo "-> Install Qtile dotfiles" @@ -115,4 +116,5 @@ _installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config # ------------------------------------------------------ # DONE # ------------------------------------------------------ -echo "DONE! Please reboot your system!" +echo "DONE!" +echo "NEXT: Please logout and reboot your system!" diff --git a/CHANGELOG b/CHANGELOG index c9debc9..fad4a4b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,19 @@ +Version 2.4 +https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.3 +-------------------------------------------------------- +- Now using sddm as Display Manager +- sddm theme sddm-sugar-dark available +- Add Waybar theme switcher (SUPER + CTRL + T) +- Add Waybar theme engine ~/dotfiles/waybar/themes +- Switch to chromium as default browser (SUPER + B) +- Brave is alternative browser (SUPER + CTRL + B) +- Default animations back to standard ~/dotfiles/conf/animations-low.conf due to compatibility reasons. Enhanced animations available in ~/dotfiles/conf/animations-high.conf +- Thunar is default file manager now due to compatibility reasons +- Default icons set to Papirus icon theme +- GTK files updated and cleaned up. gtk-4.0 added (please check the ~/dotfiles/3-dotfile.sh for required symlinks) +- Default cursor set to Bibata Modern Ice +- 1-install.sh checks if base-devel is installed. Required to install and compile yay + Version 2.3 https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.3 -------------------------------------------------------- diff --git a/README.md b/README.md index 1208cfc..051f62f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # ML4W dotfiles -This is the configuration of my Arch linux based installation for Hyprland (Wayland) and Qtile (Xorg). +This is my configuration of Hyprland (Wayland) and Qtile (Xorg). +This package includes installation scripts to install and setup the required components. +The dotfiles are tested with Arch Linux, Manjaro Linux, EndeavourOS and Arco Linux. ## Common Packages @@ -10,11 +12,10 @@ This is the configuration of my Arch linux based installation for Hyprland (Wayl - Icons: Font Awesome - Menus: Rofi - Colorscheme: pywal (dynamic) -- Browsers: brave, chromium -- Filemanager: Neutilus, ranger, Thunar -- Cursor: Bibata Modern Classic -- Icons: Kora-Icon-Theme -- Theme: Breeze-dark +- Browsers: chromium (brave optional) +- Filemanager: Thunar +- Cursor: Bibata Modern Ice +- Icons: Papirus-Icon-Theme - Virtual Machine: qemu (Windows 11 with looking glass and xrdp) ## Hyprland @@ -35,13 +36,17 @@ This is the configuration of my Arch linux based installation for Hyprland (Wayl Included is a pywal configuration that changes the color scheme based on a randomly selected wallpaper. With the key binding SuperKey + Shift + w you can change the wallpaper. SuperKey + Ctrl + w opens rofi with a list of installed wallpapers for your individual selection. See also the .bashrc and the key bindings on Hyprland and Qtile for more alias definitions. +In addition, you can switch the Waybar Template with SUPER + CTRL + T or by pressing the "..." icon in Waybar. The templates are available in ~/dotfiles/waybar/themes. You can add your own personal themes into this folder. The script will read in the folder structure. + ## Screenshots & Video -Click to watch on YouTube +Click to watch on YouTube -Click to watch on YouTube +Click to watch on YouTube -Click to watch on YouTube +Click to watch on YouTube + +Click to watch on YouTube Watch on YouTube diff --git a/gtk/.Xresources b/gtk/.Xresources deleted file mode 100644 index 5da3aa0..0000000 --- a/gtk/.Xresources +++ /dev/null @@ -1 +0,0 @@ -Xcursor.theme: Bibata-Modern-Classic diff --git a/gtk/.gtkrc-2.0 b/gtk/.gtkrc-2.0 index 002f663..6b83602 100644 --- a/gtk/.gtkrc-2.0 +++ b/gtk/.gtkrc-2.0 @@ -1,14 +1,2 @@ -gtk-theme-name="Breeze-Dark" -gtk-icon-theme-name="kora" -gtk-font-name="Cantarell 11" -gtk-cursor-theme-name="Bibata-Modern-Classic" -gtk-cursor-theme-size=0 -gtk-toolbar-style=GTK_TOOLBAR_BOTH -gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR -gtk-button-images=1 -gtk-menu-images=1 -gtk-enable-event-sounds=1 -gtk-enable-input-feedback-sounds=1 -gtk-xft-antialias=1 -gtk-xft-hinting=1 -gtk-xft-hintstyle="hintfull" +gtk-icon-theme-name="Papirus-Dark" +gtk-cursor-theme-name="Bibata-Modern-Ice" diff --git a/gtk/.icons/default/index.theme b/gtk/.icons/default/index.theme deleted file mode 100644 index f21ab4d..0000000 --- a/gtk/.icons/default/index.theme +++ /dev/null @@ -1,5 +0,0 @@ -# This file is written by LXAppearance. Do not edit. -[Icon Theme] -Name=Default -Comment=Default Cursor Theme -Inherits=Bibata-Modern-Classic diff --git a/gtk/gtk-3.0/settings.ini b/gtk/gtk-3.0/settings.ini index 31f643d..24f3624 100644 --- a/gtk/gtk-3.0/settings.ini +++ b/gtk/gtk-3.0/settings.ini @@ -1,16 +1,4 @@ [Settings] -gtk-theme-name="Breeze-Dark" -gtk-icon-theme-name="kora" -gtk-font-name=Cantarell 11 -gtk-cursor-theme-name="Bibata-Modern-Classic" -gtk-cursor-theme-size=0 -gtk-toolbar-style=GTK_TOOLBAR_ICONS -gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR -gtk-button-images=1 -gtk-menu-images=0 -gtk-enable-event-sounds=1 -gtk-enable-input-feedback-sounds=1 -gtk-xft-antialias=1 -gtk-xft-hinting=1 -gtk-xft-hintstyle=hintfull +gtk-icon-theme-name=Papirus-Dark +gtk-cursor-theme-name=Bibata-Modern-Ice gtk-application-prefer-dark-theme=true diff --git a/gtk/gtk-4.0/settings.ini b/gtk/gtk-4.0/settings.ini new file mode 100644 index 0000000..24f3624 --- /dev/null +++ b/gtk/gtk-4.0/settings.ini @@ -0,0 +1,4 @@ +[Settings] +gtk-icon-theme-name=Papirus-Dark +gtk-cursor-theme-name=Bibata-Modern-Ice +gtk-application-prefer-dark-theme=true diff --git a/gtk/gtk.sh b/gtk/gtk.sh new file mode 100755 index 0000000..d0afe47 --- /dev/null +++ b/gtk/gtk.sh @@ -0,0 +1,6 @@ +#!/bin/sh +gnome_schema="org.gnome.desktop.interface" +gsettings set "$gnome_schema" icon-theme "Papirus-Dark" +gsettings set "$gnome_schema" cursor-theme "Bibata-Modern-Ice" +gsettings set "$gnome_schema" font-name "Cantarell 11" +gsettings set "$gnome_schema" color-scheme "prefer-dark" diff --git a/hypr/conf/animations1.conf b/hypr/conf/animations-high.conf similarity index 100% rename from hypr/conf/animations1.conf rename to hypr/conf/animations-high.conf diff --git a/hypr/conf/animations2.conf b/hypr/conf/animations-low.conf similarity index 100% rename from hypr/conf/animations2.conf rename to hypr/conf/animations-low.conf diff --git a/hypr/conf/autostart.conf b/hypr/conf/autostart.conf index 9f3ef40..8ada1f8 100644 --- a/hypr/conf/autostart.conf +++ b/hypr/conf/autostart.conf @@ -8,7 +8,7 @@ exec-once = swww init exec-once = dunst exec-once = ~/dotfiles/scripts/lockscreentime.sh exec-once = ~/dotfiles/scripts/updatewal-swww.sh -exec-once = ~/dotfiles/hypr/gtk.sh -exec-once = hyprctl setcursor Bibata-Modern-Classic 24 +exec-once = ~/dotfiles/gtk/gtk.sh +exec-once = hyprctl setcursor Bibata-Modern-Ice 24 exec-once = ~/dotfiles/waybar/launch.sh exec-once = wl-paste --watch cliphist store diff --git a/hypr/conf/keybindings.conf b/hypr/conf/keybindings.conf index 8053da5..aa8f551 100644 --- a/hypr/conf/keybindings.conf +++ b/hypr/conf/keybindings.conf @@ -9,7 +9,8 @@ bind = $mainMod, Q, killactive bind = $mainMod, F, fullscreen bind = $mainMod, E, exec, dolphin bind = $mainMod, T, togglefloating -bind = $mainMod, B, exec, brave +bind = $mainMod, B, exec, chromium +bind = $mainMod CTRL, B, exec, brave bind = $mainMod, J, togglesplit bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r @@ -24,6 +25,7 @@ bind = $mainMod CTRL, RETURN, exec, ~/dotfiles/scripts/applauncher.sh bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh bind = $mainMod CTRL, F, exec, ~/dotfiles/scripts/filemanager.sh bind = $mainMod CTRL, C, exec, ~/dotfiles/scripts/cliphist.sh +bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 diff --git a/hypr/conf/windowrules.conf b/hypr/conf/windowrules.conf index c576abf..1f30c87 100644 --- a/hypr/conf/windowrules.conf +++ b/hypr/conf/windowrules.conf @@ -2,6 +2,7 @@ # Window rules # ----------------------------------------------------- +windowrule = tile,^(Microsoft-edge)$ windowrule = tile,^(Brave-browser)$ windowrule = tile,^(Chromium)$ windowrule = float,^(pavucontrol)$ diff --git a/hypr/gtk.sh b/hypr/gtk.sh deleted file mode 100755 index 372ab62..0000000 --- a/hypr/gtk.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -gnome_schema="org.gnome.desktop.interface" - -gsettings set "$gnome_schema" gtk-theme "Breeze-Dark" -gsettings set "$gnome_schema" icon-theme "kora" -gsettings set "$gnome_schema" cursor-theme "Bibata-Modern-Classic" -gsettings set "$gnome_schema" font-name "Cantarell 11" - -gsettings set org.gnome.desktop.interface color-scheme prefer-dark diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index f11aaf0..e968032 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -12,7 +12,7 @@ # Keyboard Layout # ----------------------------------------------------- # $keyboardlayout=de -$keyboardlayout = us +$keyboardlayout=us # ----------------------------------------------------- # Monitor Setup @@ -43,4 +43,9 @@ source = ~/dotfiles/hypr/conf/layouts.conf source = ~/dotfiles/hypr/conf/misc.conf source = ~/dotfiles/hypr/conf/keybindings.conf source = ~/dotfiles/hypr/conf/windowrules.conf -source = ~/dotfiles/hypr/conf/animations1.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/dotfiles/hypr/conf/animations-low.conf +# source = ~/dotfiles/hypr/conf/animations-high.conf diff --git a/polybar/config.ini b/polybar/config.ini index 052edc4..2fa077f 100644 --- a/polybar/config.ini +++ b/polybar/config.ini @@ -32,7 +32,7 @@ separator = "" separator-foreground = ${colors.disabled} font-0 = "Fira Sans SemiBold:size=11;2" font-1 = "Font Awesome 6 Free Solid:pixelsize=11;2" -modules-left = appmenu brave xwindow +modules-left = appmenu browser xwindow modules-center = xworkspaces modules-right = battery xkeyboard mysystem filesystem pulseaudio memory cpu date exit cursor-click = pointer @@ -56,7 +56,7 @@ separator = "" separator-foreground = ${colors.disabled} font-0 = "Fira Sans SemiBold:size=11;2" font-1 = "Font Awesome 6 Free Solid:pixelsize=11;2" -modules-left = appmenu brave chatgpt xwindow +modules-left = appmenu browser chatgpt xwindow modules-center = xworkspaces modules-right = battery xkeyboard mysystem filesystem pulseaudio memory cpu date exit cursor-click = pointer @@ -71,26 +71,26 @@ exec = "python ~/private/youtube.py" format-prefix = " " format-prefix-foreground = ${colors.primary} interval = 300 -click-left = "brave --app=https://studio.youtube.com" +click-left = "chromium --app=https://studio.youtube.com" label-foreground = #FFFFFF [module/outlook] type = custom/text content-foreground = ${colors.foreground} content = "" -click-left = "brave --app=https://outlook.office.com/mail/" +click-left = "chromium --app=https://outlook.office.com/mail/" [module/teams] type = custom/text content-foreground = ${colors.foreground} content = "" -click-left = "brave --app=https://teams.microsoft.com/go" +click-left = "chromium --app=https://teams.microsoft.com/go" -[module/brave] +[module/browser] type = custom/text content-foreground = ${colors.foreground} content = "" -click-left = "brave" +click-left = "chromium" [module/appmenu] type = custom/text @@ -108,7 +108,7 @@ click-left = "scrcpy -d" type = custom/text content-foreground = ${colors.foreground} content = "" -click-left = "brave --app=https://chat.openai.com" +click-left = "chromium --app=https://chat.openai.com" [module/calculator] type = custom/text diff --git a/qtile/autostart.sh b/qtile/autostart.sh index 597b046..65a13f8 100755 --- a/qtile/autostart.sh +++ b/qtile/autostart.sh @@ -10,14 +10,14 @@ # ----------------------------------------------------- # My screen resolution -xrandr --rate 120 +# xrandr --rate 120 # For Virtual Machine -# xrandr --outout Virtual-1 --mode 1920x1080 +# xrandr --output Virtual-1 --mode 1920x1080 # Set keyboard mapping -setxkbmap de -# setxkbmap en +# setxkbmap de +setxkbmap en # Load picom picom & @@ -32,7 +32,4 @@ dunst & ~/dotfiles/polybar/launch.sh & # Setup Wallpaper and update colors -~/dotfiles/scripts/updatewal.sh & - -# Load Windows 11 VM -# virsh --connect qemu:///system start win11 +~/dotfiles/scripts/updatewal.sh & \ No newline at end of file diff --git a/qtile/config.py b/qtile/config.py index dcacd02..c63c92c 100644 --- a/qtile/config.py +++ b/qtile/config.py @@ -29,38 +29,28 @@ from pathlib import Path home = str(Path.home()) # -------------------------------------------------------- -# Define Bar +# Define Status Bar # -------------------------------------------------------- wm_bar = "polybar" # wm_bar = "qtile" -# -------------------------------------------------------- -# Check for VirtualBox -# -------------------------------------------------------- - -if (os.path.isfile("/usr/bin/VBoxService")): - terminal = "terminator" -else: - terminal = "alacritty" - # -------------------------------------------------------- # Check for Desktop/Laptop # -------------------------------------------------------- - # 3 = Desktop platform = int(os.popen("cat /sys/class/dmi/id/chassis_type").read()) # -------------------------------------------------------- # Set default apps # -------------------------------------------------------- - -# terminal = guess_terminal(terminal) -browser = "brave" +terminal = "alacritty" +browser = "chromium" +# browser = "brave" # -------------------------------------------------------- # Keybindings # -------------------------------------------------------- -mod = "mod4" +mod = "mod4" # SUPER KEY keys = [ diff --git a/rofi/config-cliphist.rasi b/rofi/config-cliphist.rasi index 17e2b85..8bd91b7 100644 --- a/rofi/config-cliphist.rasi +++ b/rofi/config-cliphist.rasi @@ -33,8 +33,8 @@ configuration { /* ---- Window ---- */ window { width: 400px; - x-offset: -15px; - y-offset: 62px; + x-offset: -14px; + y-offset: 65px; spacing: 0px; padding: 0px; margin: 0px; diff --git a/rofi/config-power.rasi b/rofi/config-power.rasi index 258a8c9..272d874 100644 --- a/rofi/config-power.rasi +++ b/rofi/config-power.rasi @@ -33,8 +33,8 @@ configuration { /* ---- Window ---- */ window { width: 400px; - x-offset: -15px; - y-offset: 62px; + x-offset: -14px; + y-offset: 65px; spacing: 0px; padding: 0px; margin: 0px; diff --git a/rofi/config-screenshot.rasi b/rofi/config-screenshot.rasi index de72c20..1671313 100644 --- a/rofi/config-screenshot.rasi +++ b/rofi/config-screenshot.rasi @@ -34,8 +34,8 @@ configuration { window { width: 400px; height: 130px; - x-offset: -15px; - y-offset: 62px; + x-offset: 0px; + y-offset: 0px; spacing: 0px; padding: 0px; margin: 0px; @@ -44,8 +44,8 @@ window { border-color: #FFFFFF; cursor: "default"; transparency: "real"; - location: northeast; - anchor: northeast; + location: center; + anchor: center; fullscreen: false; enabled: true; border-radius: 10px; diff --git a/rofi/config-short.rasi b/rofi/config-short.rasi index a46a995..148168e 100644 --- a/rofi/config-short.rasi +++ b/rofi/config-short.rasi @@ -34,8 +34,8 @@ configuration { window { width: 200px; height: 130px; - x-offset: -15px; - y-offset: 62px; + x-offset: -14px; + y-offset: 65px; spacing: 0px; padding: 0px; margin: 0px; diff --git a/rofi/config-wallpaper.rasi b/rofi/config-wallpaper.rasi index a6311ac..95946a4 100644 --- a/rofi/config-wallpaper.rasi +++ b/rofi/config-wallpaper.rasi @@ -34,7 +34,7 @@ configuration { window { width: 400px; x-offset: 0px; - y-offset: 62px; + y-offset: 65px; spacing: 0px; padding: 0px; margin: 0px; diff --git a/screenshots/screenshot-24-1.png b/screenshots/screenshot-24-1.png new file mode 100644 index 0000000..62ef7b0 Binary files /dev/null and b/screenshots/screenshot-24-1.png differ diff --git a/screenshots/screenshot-24-2.png b/screenshots/screenshot-24-2.png new file mode 100644 index 0000000..ebd3eb4 Binary files /dev/null and b/screenshots/screenshot-24-2.png differ diff --git a/screenshots/screenshot-24-3.png b/screenshots/screenshot-24-3.png new file mode 100644 index 0000000..cde624b Binary files /dev/null and b/screenshots/screenshot-24-3.png differ diff --git a/screenshots/screenshot-24-4.png b/screenshots/screenshot-24-4.png new file mode 100644 index 0000000..61bfe02 Binary files /dev/null and b/screenshots/screenshot-24-4.png differ diff --git a/scripts/filemanager.sh b/scripts/filemanager.sh index cfea587..030609c 100755 --- a/scripts/filemanager.sh +++ b/scripts/filemanager.sh @@ -9,10 +9,5 @@ # by Stephan Raabe (2023) # ----------------------------------------------------- -if [ -f "/usr/bin/nautilus" ]; then - echo "nautilus is installed." - nautilus --new-window -else - echo "nautilus not installed. Launching thunar instead." - thunar -fi; +thunar + diff --git a/scripts/launchvm.sh b/scripts/launchvm.sh index f616c8b..953bbd4 100755 --- a/scripts/launchvm.sh +++ b/scripts/launchvm.sh @@ -15,19 +15,21 @@ if [ -f ~/private/win11-credentials.sh ]; then else win11user="USER" win11pass="PASS" + vmip="192.168.122.44" fi + tmp=$(virsh --connect qemu:///system list | grep " win11 " | awk '{ print $3}') if ([ "x$tmp" == "x" ] || [ "x$tmp" != "xrunning" ]) then + echo "Virtual Machine win11 is starting now... Waiting 30s before starting xfreerdp." + notify-send "Virtual Machine win11 is starting now..." "Waiting 30s before starting xfreerdp." virsh --connect qemu:///system start win11 - echo "Virtual Machine win11 is starting... Waiting 45s for booting up." - notify-send "Virtual Machine win11 is starting..." "Waiting 45s for booting up." - sleep 45 + sleep 30 else notify-send "Virtual Machine win11 is already running." "Launching xfreerdp now!" echo "Starting xfreerdp now..." fi -xfreerdp -grab-keyboard /v:192.168.122.44 /size:100% /cert-ignore /u:$win11user /p:$win11pass /d: /dynamic-resolution /gfx-h264:avc444 +gfx-progressive & +xfreerdp -grab-keyboard /v:$vmip /size:100% /cert-ignore /u:$win11user /p:$win11pass /d: /dynamic-resolution /gfx-h264:avc444 +gfx-progressive & diff --git a/scripts/library.sh b/scripts/library.sh index 76a2da8..38a2e28 100755 --- a/scripts/library.sh +++ b/scripts/library.sh @@ -119,6 +119,7 @@ _installSymLink() { fi break;; [Nn]* ) + echo "" # exit; break;; * ) echo "Please answer yes or no.";; diff --git a/scripts/lockscreentime.sh b/scripts/lockscreentime.sh index ae732e2..06e7dbc 100755 --- a/scripts/lockscreentime.sh +++ b/scripts/lockscreentime.sh @@ -1,8 +1,20 @@ #/bin/sh +# ___ _ _ _ _ +# |_ _|__| | | ___| |_(_)_ __ ___ ___ +# | |/ _` | |/ _ \ __| | '_ ` _ \ / _ \ +# | | (_| | | __/ |_| | | | | | | __/ +# |___\__,_|_|\___|\__|_|_| |_| |_|\___| +# +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +timeswaylock=600 +timeoff=660 if [ -f "/usr/bin/swayidle" ]; then echo "swayidle is installed." - swayidle -w timeout 600 'swaylock -f' timeout 660 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' + swayidle -w timeout $timeswaylock 'swaylock -f' timeout $timeoff 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' else echo "swayidle not installed." fi; diff --git a/scripts/powermenu-hypr.sh b/scripts/powermenu-hypr.sh index cc49d91..a4daf40 100755 --- a/scripts/powermenu-hypr.sh +++ b/scripts/powermenu-hypr.sh @@ -24,7 +24,8 @@ case $choice in $option1) swaylock ;; $option2) - hyprctl dispatch exit ;; + # loginctl terminate-user $USER # For command line based login + hyprctl dispatch exit ;; # For display manager login $option3) systemctl reboot ;; $option4) diff --git a/scripts/powermenu.sh b/scripts/powermenu.sh index e19e387..35d6311 100755 --- a/scripts/powermenu.sh +++ b/scripts/powermenu.sh @@ -24,7 +24,7 @@ case $choice in $option1) slock ;; $option2) - loginctl terminate-user $USER ;; + qtile cmd-obj -o cmd -f shutdown ;; $option3) systemctl reboot ;; $option4) diff --git a/scripts/templates.sh b/scripts/templates.sh index 5dbe39e..3f87582 100755 --- a/scripts/templates.sh +++ b/scripts/templates.sh @@ -12,7 +12,6 @@ # Select text file selected=$(ls -1 ~/private/templates | rofi -dmenu -p "Select the template") - if [ "$selected" ]; then # Add content to clipboard xclip -sel clip ~/private/templates/$selected diff --git a/scripts/wallpaper-swww.sh b/scripts/wallpaper-swww.sh index 5f0b7dd..60ff078b 100755 --- a/scripts/wallpaper-swww.sh +++ b/scripts/wallpaper-swww.sh @@ -12,7 +12,7 @@ # ----------------------------------------------------- # Select wallpaper # ----------------------------------------------------- -selected=$(ls -1 ~/wallpaper | grep "jpg" | rofi -dmenu -config ~/dotfiles/rofi/config-wallpaper.rasi -p "Wallpapers") +selected=$(ls -1 ~/wallpaper | grep "jpg" | rofi -dmenu -config ~/dotfiles/rofi/config-wallpaper.rasi) if [ "$selected" ]; then diff --git a/sddm/readme.txt b/sddm/readme.txt new file mode 100644 index 0000000..1a9b0bf --- /dev/null +++ b/sddm/readme.txt @@ -0,0 +1,11 @@ +# CURRENTLY WORK IN PROGRESS TO CREATE A SDDM THEME + +# Install sugar dark as a base +yay -S sddm-sugar-dark + +# In the [Theme] section simply add the themes name: Current=sugar-dark +# Copy from /usr/lib/sddm/sddm.conf.d/default.conf +/etc/sddm.conf.d/sddm.conf + +# Test the theme +sddm-greeter --test-mode --theme /usr/share/sddm/themes/sugar-dark \ No newline at end of file diff --git a/waybar/README.md b/waybar/README.md new file mode 100644 index 0000000..5e5eef3 --- /dev/null +++ b/waybar/README.md @@ -0,0 +1,34 @@ +## 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 ~/dotfiles/waybar/themes/ + +## Waybar Documentation +Waybar github: https://github.com/Alexays/Waybar +Waybar Wiki: https://github.com/Alexays/Waybar/wiki + +## Create your own theme + +Please check the configurations of the folders in ~/dotfiles/waybar/themes/ +Create a folder for your theme and add your configuration. +A good starting point is to copy the default folder with the default waybar theme. + +The main theme folder includes the core config file and stylesheet. +Waybar configuration: https://github.com/Alexays/Waybar/wiki/Configuration + +Create subfolders to save variations like in the folder ml4w. You can include stylesheets from other themes to standardize your themes like in the theme ml4w-bottom. + +## Stylesheet + +The style.css includes the style file of the theme. +Waybar Styling: https://github.com/Alexays/Waybar/wiki/Styling + +## Define theme name + +Add a config.sh file to save the theme name. Add it to the main or subfolders for variations. + +``` +#!/bin/bash +theme_name="ML4W Light" +``` + + diff --git a/waybar/launch.sh b/waybar/launch.sh index 7eb606b..5fd6bd2 100755 --- a/waybar/launch.sh +++ b/waybar/launch.sh @@ -9,16 +9,38 @@ # ----------------------------------------------------- # ----------------------------------------------------- -# Quit running waybar instances +# Quit all running waybar instances # ----------------------------------------------------- killall waybar # ----------------------------------------------------- -# Loading the configuration based on the username +# 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 ${arrThemes[0]} + +if [ ! -f ~/dotfiles/waybar/themes${arrThemes[1]}/style.css ]; then + themestyle="/ml4w;/ml4w/light" +fi + +# ----------------------------------------------------- +# Loading the configuration and style file based on the username # ----------------------------------------------------- if [[ $USER = "raabe" ]] then - waybar -c ~/dotfiles/waybar/myconfig & -s ~/dotfiles/waybar/style.css + waybar -c ~/dotfiles/waybar/themes${arrThemes[0]}/myconfig -s ~/dotfiles/waybar/themes${arrThemes[1]}/style.css & else - waybar & + waybar -c ~/dotfiles/waybar/themes${arrThemes[0]}/config -s ~/dotfiles/waybar/themes${arrThemes[1]}/style.css & fi diff --git a/waybar/modules.json b/waybar/modules.json index 0c57ca4..e417b22 100644 --- a/waybar/modules.json +++ b/waybar/modules.json @@ -89,8 +89,15 @@ // Wallpaper "custom/wallpaper": { "format": "", - "on-click-right": "~/dotfiles/scripts/wallpaper-swww.sh", - "on-click": "~/dotfiles/scripts/updatewal-swww.sh", + "on-click": "~/dotfiles/scripts/wallpaper-swww.sh", + "on-click-right": "~/dotfiles/scripts/updatewal-swww.sh", + "tooltip": false + }, + + // Waybar Themes + "custom/waybarthemes": { + "format": "", + "on-click": "~/dotfiles/waybar/themeswitcher.sh", "tooltip": false }, @@ -139,7 +146,7 @@ // Windows VM "custom/windowsvm": { "format": "", - "on-click": "~/private/launchvm.sh", + "on-click": "~/dotfiles/scripts/launchvm.sh", "tooltip": false }, diff --git a/waybar/themes/default/config b/waybar/themes/default/config new file mode 100644 index 0000000..753b78d --- /dev/null +++ b/waybar/themes/default/config @@ -0,0 +1,167 @@ +{ + // "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": ["wlr/workspaces"], + "modules-center": ["hyprland/window"], + "modules-right": ["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": "" + } + }, + "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/waybar/themes/default/config.sh b/waybar/themes/default/config.sh new file mode 100644 index 0000000..aa77c90 --- /dev/null +++ b/waybar/themes/default/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="Default" diff --git a/waybar/themes/default/myconfig b/waybar/themes/default/myconfig new file mode 100644 index 0000000..f4636ce --- /dev/null +++ b/waybar/themes/default/myconfig @@ -0,0 +1,167 @@ +{ + // "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"], + "modules-center": ["hyprland/window"], + "modules-right": ["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": "" + } + }, + "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/waybar/themes/default/style.css b/waybar/themes/default/style.css new file mode 100644 index 0000000..cf5c5fb --- /dev/null +++ b/waybar/themes/default/style.css @@ -0,0 +1,280 @@ +* { + /* `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; +} + +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/waybar/themes/ml4w-bottom/colored/config.sh b/waybar/themes/ml4w-bottom/colored/config.sh new file mode 100644 index 0000000..0a31bac --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/colored/style.css b/waybar/themes/ml4w-bottom/colored/style.css new file mode 100644 index 0000000..53bf65c --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/config b/waybar/themes/ml4w-bottom/config new file mode 100644 index 0000000..00da10c --- /dev/null +++ b/waybar/themes/ml4w-bottom/config @@ -0,0 +1,79 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // General Settings + + // Position TOP + // "layer": "top", + // "margin-top": 14, + // "margin-bottom": 0, + + // Position BOTTOM + "position": "bottom", + "margin-top": 0, + "margin-bottom": 14, + + "layer": "top", + "height": 16, + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": ["~/dotfiles/waybar/modules.json"], + + // Modules Left + "modules-left": [ + "custom/appmenu", + "custom/wallpaper", + "custom/waybarthemes", + "wlr/taskbar", + "group/quicklinks", + "hyprland/window" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/updates", + "pulseaudio", + "bluetooth", + "battery", + "group/hardware", + "custom/cliphist", + "network", + "custom/exit", + "clock" + ], + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/brave", + ] + }, + + // Group Hardware + "group/hardware": { + "orientation": "horizontal", + "modules": [ + "disk", + "cpu", + "memory" + ] + } +} diff --git a/waybar/themes/ml4w-bottom/dark/config.sh b/waybar/themes/ml4w-bottom/dark/config.sh new file mode 100644 index 0000000..a6fe8ff --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/dark/style.css b/waybar/themes/ml4w-bottom/dark/style.css new file mode 100644 index 0000000..2179f76 --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/light/config.sh b/waybar/themes/ml4w-bottom/light/config.sh new file mode 100644 index 0000000..e016502 --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/light/style.css b/waybar/themes/ml4w-bottom/light/style.css new file mode 100644 index 0000000..833b8c4 --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/mixed/config.sh b/waybar/themes/ml4w-bottom/mixed/config.sh new file mode 100644 index 0000000..e5bc67e --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/mixed/style.css b/waybar/themes/ml4w-bottom/mixed/style.css new file mode 100644 index 0000000..f3ee832 --- /dev/null +++ b/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/waybar/themes/ml4w-bottom/myconfig b/waybar/themes/ml4w-bottom/myconfig new file mode 100644 index 0000000..1b6a158 --- /dev/null +++ b/waybar/themes/ml4w-bottom/myconfig @@ -0,0 +1,80 @@ +// __ __ _ +// \ \ / /_ _ _ _| |__ __ _ _ __ +// \ \ /\ / / _` | | | | '_ \ / _` | '__| +// \ V V / (_| | |_| | |_) | (_| | | +// \_/\_/ \__,_|\__, |_.__/ \__,_|_| +// |___/ +// +// by Stephan Raabe (2023) +// ----------------------------------------------------- +// +{ + // Position TOP + // "position": "top", + // "margin-top": 14, + //"margin-bottom": 0, + + // Position BOTTOM + "position": "bottom", + "margin-bottom": 14, + "margin-top": 0, + + // General Settings + "layer": "top", + "height": 16, + "margin-left": 0, + "margin-right": 0, + "spacing": 0, + + // Load Modules + "include": ["~/dotfiles/waybar/modules.json"], + + // Modules Left + "modules-left": [ + "custom/appmenu", + "custom/wallpaper", + "custom/waybarthemes", + "wlr/taskbar", + "group/quicklinks", + "hyprland/window" + ], + + // Modules Center + "modules-center": [ + "hyprland/workspaces" + ], + + // Modules Right + "modules-right": [ + "custom/youtube", + "custom/updates", + "pulseaudio", + "bluetooth", + "battery", + "group/hardware", + "custom/cliphist", + "network", + "custom/exit", + "clock" + ], + + // Group Quicklinks + "group/quicklinks": { + "orientation": "horizontal", + "modules": [ + "custom/filemanager", + "custom/chatgpt", + "custom/windowsvm" + ] + }, + + // Group Hardware + "group/hardware": { + "orientation": "horizontal", + "modules": [ + "disk", + "cpu", + "memory" + ] + } +} diff --git a/waybar/themes/ml4w/colored/config.sh b/waybar/themes/ml4w/colored/config.sh new file mode 100644 index 0000000..25dbee7 --- /dev/null +++ b/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/waybar/themes/ml4w/colored/style.css b/waybar/themes/ml4w/colored/style.css new file mode 100644 index 0000000..f9008da --- /dev/null +++ b/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/waybar/config b/waybar/themes/ml4w/config similarity index 97% rename from waybar/config rename to waybar/themes/ml4w/config index 8617d3b..bf39306 100644 --- a/waybar/config +++ b/waybar/themes/ml4w/config @@ -34,6 +34,7 @@ "modules-left": [ "custom/appmenu", "custom/wallpaper", + "custom/waybarthemes", "wlr/taskbar", "group/quicklinks", "hyprland/window" diff --git a/waybar/themes/ml4w/dark/config.sh b/waybar/themes/ml4w/dark/config.sh new file mode 100644 index 0000000..6c2cf9f --- /dev/null +++ b/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/waybar/themes/ml4w/dark/style.css b/waybar/themes/ml4w/dark/style.css new file mode 100644 index 0000000..9e0e318 --- /dev/null +++ b/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/waybar/themes/ml4w/light/config.sh b/waybar/themes/ml4w/light/config.sh new file mode 100644 index 0000000..55e4ffd --- /dev/null +++ b/waybar/themes/ml4w/light/config.sh @@ -0,0 +1,2 @@ +#!/bin/bash +theme_name="ML4W Light" diff --git a/waybar/themes/ml4w/light/style.css b/waybar/themes/ml4w/light/style.css new file mode 100644 index 0000000..738cd66 --- /dev/null +++ b/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/waybar/themes/ml4w/mixed/config.sh b/waybar/themes/ml4w/mixed/config.sh new file mode 100644 index 0000000..c00e231 --- /dev/null +++ b/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/waybar/themes/ml4w/mixed/style.css b/waybar/themes/ml4w/mixed/style.css new file mode 100644 index 0000000..09032ae --- /dev/null +++ b/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/waybar/myconfig b/waybar/themes/ml4w/myconfig similarity index 97% rename from waybar/myconfig rename to waybar/themes/ml4w/myconfig index bec1f17..77749c8 100644 --- a/waybar/myconfig +++ b/waybar/themes/ml4w/myconfig @@ -33,6 +33,7 @@ "modules-left": [ "custom/appmenu", "custom/wallpaper", + "custom/waybarthemes", "wlr/taskbar", "group/quicklinks", "hyprland/window" diff --git a/waybar/style.css b/waybar/themes/ml4w/style.css similarity index 79% rename from waybar/style.css rename to waybar/themes/ml4w/style.css index f2e3c91..0b64fd3 100644 --- a/waybar/style.css +++ b/waybar/themes/ml4w/style.css @@ -13,7 +13,7 @@ /* ----------------------------------------------------- * Import Pywal colors * ----------------------------------------------------- */ -@import '../../.cache/wal/colors-waybar.css'; +/* @import 'style-light.css'; */ /* ----------------------------------------------------- * General @@ -39,32 +39,32 @@ window#waybar { * ----------------------------------------------------- */ #workspaces { - background: #FFFFFF; + background: @workspacesbackground1; margin: 2px 1px 3px 1px; padding: 0px 1px; border-radius: 15px; - border:0px; + border: 0px; font-weight: bold; font-style: normal; - opacity:0.8; - font-size:16px; - color:#FFFFFF; + opacity: 0.8; + font-size: 16px; + color: @textcolor1; } #workspaces button { - padding: 1px 9px; - margin: 3px 3px; + padding: 0px 5px; + margin: 4px 3px; border-radius: 15px; - border:0px; - color: #FFFFFF; - background-color: @color11; + border: 0px; + color: @textcolor1; + background-color: @workspacesbackground2; transition: all 0.3s ease-in-out; - opacity:0.4; + opacity: 0.4; } #workspaces button.active { - color: #FFFFFF; - background: @color11; + color: @textcolor1; + background: @workspacesbackground2; border-radius: 15px; min-width: 40px; transition: all 0.3s ease-in-out; @@ -72,8 +72,8 @@ window#waybar { } #workspaces button:hover { - color: #FFFFFF; - background: @color11; + color: @textcolor1; + background: @workspacesbackground2; border-radius: 15px; opacity:0.7; } @@ -84,14 +84,14 @@ window#waybar { tooltip { border-radius: 10px; - background-color: #FFFFFF; + background-color: @backgroundlight; opacity:0.8; padding:20px; margin:0px; } tooltip label { - color: @color11; + color: @textcolor2; } /* ----------------------------------------------------- @@ -99,11 +99,11 @@ tooltip label { * ----------------------------------------------------- */ #window { - background: #FFFFFF; + background: @backgroundlight; margin: 5px 15px 5px 0px; padding: 2px 10px 0px 10px; border-radius: 12px; - color:@background; + color:@textcolor2; font-size:16px; font-weight:normal; opacity:0.8; @@ -119,7 +119,7 @@ window#waybar.empty #window { #taskbar { /* background: @color11; */ - background: #FFFFFF; + background: @backgroundlight; margin: 3px 15px 3px 0px; padding:0px; /*padding: 2px 3px 1px 3px;*/ @@ -127,11 +127,12 @@ window#waybar.empty #window { font-weight: normal; font-style: normal; opacity:0.8; - border: 3px solid #FFFFFF; + border: 3px solid @backgroundlight; } #taskbar button { margin:0; + border-radius: 15px; padding: 0px 5px 0px 5px; } @@ -151,12 +152,12 @@ window#waybar.empty #window { * Custom Quicklinks * ----------------------------------------------------- */ -#custom-brave, #custom-outlook, #custom-filemanager, #custom-teams, #custom-chatgpt, #custom-calculator, #custom-windowsvm, #custom-cliphist, #custom-wallpaper { - margin-right:20px; - font-size:20px; - font-weight:bold; - opacity:0.8; - color:#FFFFFF; +#custom-brave, #custom-outlook, #custom-filemanager, #custom-teams, #custom-chatgpt, #custom-calculator, #custom-windowsvm, #custom-cliphist, #custom-wallpaper, #custom-waybarthemes { + margin-right: 20px; + font-size: 20px; + font-weight: bold; + opacity: 0.8; + color: @iconcolor; } #custom-wallpaper { @@ -168,14 +169,14 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #custom-appmenu { - background-color: @color11; + background-color: @backgrounddark; font-size: 16px; - color: #FFFFFF; + color: @textcolor1; border-radius: 15px; padding: 0px 10px 0px 10px; margin: 3px 15px 3px 14px; opacity:0.8; - border:3px solid #FFFFFF; + border:3px solid @bordercolor; } /* ----------------------------------------------------- @@ -183,10 +184,10 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #custom-exit { - margin: 0px 15px 0px 0px; + margin: 0px 20px 0px 0px; padding:0px; font-size:20px; - color:#FFFFFF; + color: @iconcolor; } /* ----------------------------------------------------- @@ -194,9 +195,9 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #custom-updates { - background-color: #FFFFFF; + background-color: @backgroundlight; font-size: 16px; - color: @background; + color: @textcolor2; border-radius: 15px; padding: 2px 10px 0px 10px; margin: 5px 15px 5px 0px; @@ -204,17 +205,17 @@ window#waybar.empty #window { } #custom-updates.green { - background-color: #FFFFFF; + background-color: @backgroundlight; } #custom-updates.yellow { background-color: #ff9a3c; - color: #ffffff; + color: #FFFFFF; } #custom-updates.red { background-color: #dc2f2f; - color: #ffffff; + color: #FFFFFF; } /* ----------------------------------------------------- @@ -222,9 +223,9 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #custom-youtube { - background-color: #FFFFFF; + background-color: @backgroundlight; font-size: 16px; - color: @background; + color: @textcolor2; border-radius: 15px; padding: 2px 10px 0px 10px; margin: 5px 15px 5px 0px; @@ -239,7 +240,7 @@ window#waybar.empty #window { margin:0px; padding:0px; font-size:16px; - color:#FFFFFF; + color:@iconcolor; } #memory { @@ -251,14 +252,14 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #clock { - background-color: @color11; + background-color: @backgrounddark; font-size: 16px; - color: #FFFFFF; + color: @textcolor1; border-radius: 15px; padding: 1px 10px 0px 10px; margin: 3px 15px 3px 0px; opacity:0.8; - border:3px solid #FFFFFF; + border:3px solid @bordercolor; } /* ----------------------------------------------------- @@ -266,9 +267,9 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #pulseaudio { - background-color: #FFFFFF; + background-color: @backgroundlight; font-size: 16px; - color: @background; + color: @textcolor2; border-radius: 15px; padding: 2px 10px 0px 10px; margin: 5px 15px 5px 0px; @@ -276,8 +277,8 @@ window#waybar.empty #window { } #pulseaudio.muted { - background-color: @color11; - color: #FFFFFF; + background-color: @backgrounddark; + color: @textcolor1; } /* ----------------------------------------------------- @@ -285,24 +286,23 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #network { - background-color: #FFFFFF; + background-color: @backgroundlight; font-size: 16px; - color: @background; + color: @textcolor2; border-radius: 15px; padding: 2px 10px 0px 10px; - margin: 3px 10px 3px 0px; + margin: 5px 15px 5px 0px; opacity:0.8; - border: 3px solid #FFFFFF } #network.ethernet { - background-color: @color11; - color:#FFFFFF; + background-color: @backgroundlight; + color: @textcolor2; } #network.wifi { - background-color: @color11; - color:#FFFFFF; + background-color: @backgroundlight; + color: @textcolor2; } /* ----------------------------------------------------- @@ -310,9 +310,9 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #bluetooth.on, #bluetooth.connected { - background-color: #FFFFFF; + background-color: @backgroundlight; font-size: 16px; - color: @background; + color: @textcolor2; border-radius: 15px; padding: 2px 10px 0px 10px; margin: 5px 15px 5px 0px; @@ -330,9 +330,9 @@ window#waybar.empty #window { * ----------------------------------------------------- */ #battery { - background-color: #FFFFFF; + background-color: @backgroundlight; font-size: 16px; - color: @background; + color: @textcolor2; border-radius: 15px; padding: 2px 15px 0px 10px; margin: 5px 15px 5px 0px; @@ -340,20 +340,20 @@ window#waybar.empty #window { } #battery.charging, #battery.plugged { - color: #ffffff; - background-color: @color11; + color: @textcolor2; + background-color: @backgroundlight; } @keyframes blink { to { - background-color: #ffffff; - color: #000000; + background-color: @backgroundlight; + color: @textcolor2; } } #battery.critical:not(.charging) { background-color: #f53c3c; - color: #ffffff; + color: @textcolor3; animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; diff --git a/waybar/themeswitcher.sh b/waybar/themeswitcher.sh new file mode 100755 index 0000000..26410e7 --- /dev/null +++ b/waybar/themeswitcher.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# _____ _ _ _ _ +# |_ _| |__ ___ _ __ ___ ___ _____ _(_) |_ ___| |__ ___ _ __ +# | | | '_ \ / _ \ '_ ` _ \ / _ \/ __\ \ /\ / / | __/ __| '_ \ / _ \ '__| +# | | | | | | __/ | | | | | __/\__ \\ V V /| | || (__| | | | __/ | +# |_| |_| |_|\___|_| |_| |_|\___||___/ \_/\_/ |_|\__\___|_| |_|\___|_| +# +# by Stephan Raabe (2023) +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Default theme folder +# ----------------------------------------------------- +themes_path="$HOME/dotfiles/waybar/themes" + +# ----------------------------------------------------- +# Initialize arrays +# ----------------------------------------------------- +listThemes="" +listNames="" + +# ----------------------------------------------------- +# Read theme folder +# ----------------------------------------------------- +options=$(find $themes_path -maxdepth 2 -type d) +for value in $options +do + if [ ! $value == "$themes_path" ]; then + if [ $(find $value -maxdepth 1 -type d | wc -l) = 1 ]; then + result=$(echo $value | sed "s#$HOME/dotfiles/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" + else + listNames+="/${arrThemes[1]};$result\n" + fi + fi + fi +done + +# ----------------------------------------------------- +# Show rofi dialog +# ----------------------------------------------------- +listNames=${listNames::-2} +choice=$(echo -e "$listNames" | rofi -dmenu -config ~/dotfiles/rofi/config-wallpaper.rasi -no-show-icons -width 30 -p "Themes" -format i) + +# ----------------------------------------------------- +# Set new theme by writing the theme information to ~/.cache/.themestyle.sh +# ----------------------------------------------------- +if [ "$choice" ]; then + echo "${listThemes[$choice+1]}" > ~/.cache/.themestyle.sh + ~/dotfiles/waybar/launch.sh +fi diff --git a/wlogout/README.txt b/wlogout/README.txt new file mode 100644 index 0000000..4ceecd7 --- /dev/null +++ b/wlogout/README.txt @@ -0,0 +1,8 @@ +Select Logout Command depending on your setup: + +Use for Display Manager e.g., sddm (DEFAULT) +sleep 1; hyprctl dispatch exit + +Use for Arch Linux text based login +sleep 1; loginctl terminate-user $USER +