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
-
+
-
+
-
+
+
+
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
+