Merge branch 'dev' into 'main'

Merge Version 2.4

See merge request stephan-raabe/dotfiles!11
This commit is contained in:
Stephan Raabe 2023-10-18 15:26:12 +00:00
commit 9d2c2e8f07
73 changed files with 1278 additions and 256 deletions

View File

@ -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})

View File

@ -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};

View File

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

View File

@ -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 "NEXT: Please continue with 2-install-hyprland.sh and/or 2-install-qtile.sh"

View File

@ -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"

View File

@ -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"

View File

@ -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!"

View File

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

View File

@ -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
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-23-1.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-24-2.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-23-2.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-24-3.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-23-3.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-24-4.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank"><img src="screenshots/screenshot-24-1.png" alt="Click to watch on YouTube" /></a>
<a href="https://youtu.be/ELEQh0z3lm8" target="_blank">Watch on YouTube</a>

View File

@ -1 +0,0 @@
Xcursor.theme: Bibata-Modern-Classic

View File

@ -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"

View File

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

View File

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

4
gtk/gtk-4.0/settings.ini Normal file
View File

@ -0,0 +1,4 @@
[Settings]
gtk-icon-theme-name=Papirus-Dark
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-application-prefer-dark-theme=true

6
gtk/gtk.sh Executable file
View File

@ -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"

View File

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

View File

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

View File

@ -2,6 +2,7 @@
# Window rules
# -----------------------------------------------------
windowrule = tile,^(Microsoft-edge)$
windowrule = tile,^(Brave-browser)$
windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$

View File

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

View File

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

View File

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

View File

@ -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 &
@ -33,6 +33,3 @@ dunst &
# Setup Wallpaper and update colors
~/dotfiles/scripts/updatewal.sh &
# Load Windows 11 VM
# virsh --connect qemu:///system start win11

View File

@ -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 = [

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -34,7 +34,7 @@ configuration {
window {
width: 400px;
x-offset: 0px;
y-offset: 62px;
y-offset: 65px;
spacing: 0px;
padding: 0px;
margin: 0px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -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;

View File

@ -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 &

View File

@ -119,6 +119,7 @@ _installSymLink() {
fi
break;;
[Nn]* )
echo ""
# exit;
break;;
* ) echo "Please answer yes or no.";;

View File

@ -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;

View File

@ -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)

View File

@ -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)

View File

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

View File

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

11
sddm/readme.txt Normal file
View File

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

34
waybar/README.md Normal file
View File

@ -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"
```

View File

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

View File

@ -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
},

View File

@ -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": "<span style=\"italic\">{}</span>"
},
"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": "<span color=\"#f53c3c\"></span> ",
"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": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"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
}
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="Default"

View File

@ -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": "<span style=\"italic\">{}</span>"
},
"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": "<span color=\"#f53c3c\"></span> ",
"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": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"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
}
}

View File

@ -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;
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Colored Bottom"

View File

@ -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';

View File

@ -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"
]
}
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Dark Bottom"

View File

@ -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';

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Light Bottom"

View File

@ -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';

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Mixed Bottom"

View File

@ -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';

View File

@ -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"
]
}
}

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Colored"

View File

@ -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';

View File

@ -34,6 +34,7 @@
"modules-left": [
"custom/appmenu",
"custom/wallpaper",
"custom/waybarthemes",
"wlr/taskbar",
"group/quicklinks",
"hyprland/window"

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Dark"

View File

@ -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';

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Light"

View File

@ -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';

View File

@ -0,0 +1,2 @@
#!/bin/bash
theme_name="ML4W Mixed"

View File

@ -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';

View File

@ -33,6 +33,7 @@
"modules-left": [
"custom/appmenu",
"custom/wallpaper",
"custom/waybarthemes",
"wlr/taskbar",
"group/quicklinks",
"hyprland/window"

View File

@ -13,7 +13,7 @@
/* -----------------------------------------------------
* Import Pywal colors
* ----------------------------------------------------- */
@import '../../.cache/wal/colors-waybar.css';
/* @import 'style-light.css'; */
/* -----------------------------------------------------
* General
@ -39,7 +39,7 @@ window#waybar {
* ----------------------------------------------------- */
#workspaces {
background: #FFFFFF;
background: @workspacesbackground1;
margin: 2px 1px 3px 1px;
padding: 0px 1px;
border-radius: 15px;
@ -48,23 +48,23 @@ window#waybar {
font-style: normal;
opacity: 0.8;
font-size: 16px;
color:#FFFFFF;
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;
color: @textcolor1;
background-color: @workspacesbackground2;
transition: all 0.3s ease-in-out;
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 {
#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:#FFFFFF;
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;

55
waybar/themeswitcher.sh Executable file
View File

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

8
wlogout/README.txt Normal file
View File

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