upstream-main 2.9.2 #6

Open
wyj wants to merge 34 commits from upstream-main into upstream-custom
77 changed files with 491 additions and 280 deletions

View File

@ -0,0 +1,7 @@
# ------------------------------------------------------
# Modify existing files before restore starts
# ------------------------------------------------------
if [ -d ~/dotfiles ] ;then
echo ":: Modify existing files"
fi

View File

@ -19,6 +19,7 @@ if gum confirm "Do you want to run a short system check?" ;then
_commandExists "wlogout" "wlogout" _commandExists "wlogout" "wlogout"
_commandExists "eww" "eww" _commandExists "eww" "eww"
_commandExists "magick" "imagemagick" _commandExists "magick" "imagemagick"
_commandExists "waypaper" "waypaper"
elif [ $? -eq 130 ]; then elif [ $? -eq 130 ]; then
exit 130 exit 130

View File

@ -63,10 +63,15 @@ if [ -z "${dmsel}" ] ;then
fi fi
if [ "$dmsel" == "Install sddm and theme" ] ;then if [ "$dmsel" == "Install sddm and theme" ] ;then
if [ -d /usr/share/sddm/themes/sugar-candy/ ] ;then
sudo rm -rf /usr/share/sddm/themes/sugar-candy/
echo ":: Sugar Candy folder removed"
fi
disman=0 disman=0
# Try to force the installation of sddm # Try to force the installation of sddm
echo ":: Install sddm" echo ":: Install sddm"
yay -S --noconfirm sddm --ask 4 yay -S --noconfirm sddm sddm-sugar-candy-git --ask 4
# Enable sddm # Enable sddm
if [ -f /etc/systemd/system/display-manager.service ]; then if [ -f /etc/systemd/system/display-manager.service ]; then
@ -74,41 +79,24 @@ if [ "$dmsel" == "Install sddm and theme" ] ;then
fi fi
sudo systemctl enable sddm.service sudo systemctl enable sddm.service
# Create sddm.conf.d folder
if [ ! -d /etc/sddm.conf.d/ ]; then if [ ! -d /etc/sddm.conf.d/ ]; then
sudo mkdir /etc/sddm.conf.d sudo mkdir /etc/sddm.conf.d
echo ":: Folder /etc/sddm.conf.d created." echo "Folder /etc/sddm.conf.d created."
fi fi
# Copy sddm.conf
sudo cp sddm/sddm.conf /etc/sddm.conf.d/ sudo cp sddm/sddm.conf /etc/sddm.conf.d/
echo ":: File /etc/sddm.conf.d/sddm.conf updated." echo "File /etc/sddm.conf.d/sddm.conf updated."
# Download and install sugar candy theme if not exists
if [ ! -d /usr/share/sddm/themes/sugar-candy ]; then
if [ -f ~/Downloads/sddm-sugar-candy-master.zip ] ;then
rm ~/Downloads/sddm-sugar-candy-master.zip
fi
wget -P ~/Downloads/ https://framagit.org/MarianArlt/sddm-sugar-candy/-/archive/master/sddm-sugar-candy-master.zip
if [ -f ~/Downloads/sddm-sugar-candy-master.zip ] ;then
unzip -o -q ~/Downloads/sddm-sugar-candy-master.zip -d ~/Downloads/
if [ ! -d /usr/share/sddm/themes/sugar-candy ] ;then
sudo mkdir -p /usr/share/sddm/themes/sugar-candy
fi
sudo cp -r ~/Downloads/sddm-sugar-candy-master/* /usr/share/sddm/themes/sugar-candy
echo ":: SDDM Sugar Candy Theme installed"
else
echo "ERROR: Sugar Candy Download not found"
fi
fi
# Install background wallpaper for sddm
if [ -f /usr/share/sddm/themes/sugar-candy/theme.conf ]; then if [ -f /usr/share/sddm/themes/sugar-candy/theme.conf ]; then
# Cache file for holding the current wallpaper
sudo cp wallpapers/default.jpg /usr/share/sddm/themes/sugar-candy/Backgrounds/current_wallpaper.jpg sudo cp wallpapers/default.jpg /usr/share/sddm/themes/sugar-candy/Backgrounds/current_wallpaper.jpg
echo ":: Default wallpaper copied into /usr/share/sddm/themes/sugar-candy/Backgrounds/" echo "Default wallpaper copied into /usr/share/sddm/themes/sugar-candy/Backgrounds/"
sudo cp sddm/theme.conf /usr/share/sddm/themes/sugar-candy/ sudo cp sddm/theme.conf /usr/share/sddm/themes/sugar-candy/
sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.jpg"'/' /usr/share/sddm/themes/sugar-candy/theme.conf sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.jpg"'/' /usr/share/sddm/themes/sugar-candy/theme.conf
echo ":: File theme.conf updated in /usr/share/sddm/themes/sugar-candy/" echo "File theme.conf updated in /usr/share/sddm/themes/sugar-candy/"
fi fi
elif [ "$dmsel" == "Deactivate current display manager" ] ;then elif [ "$dmsel" == "Deactivate current display manager" ] ;then

View File

@ -43,5 +43,8 @@ fi
if [ -d ~/dotfiles-versions/$version/fastfetch ]; then if [ -d ~/dotfiles-versions/$version/fastfetch ]; then
_installSymLink fastfetch ~/.config/fastfetch ~/dotfiles/fastfetch/ ~/.config _installSymLink fastfetch ~/.config/fastfetch ~/dotfiles/fastfetch/ ~/.config
fi fi
if [ -d ~/dotfiles-versions/$version/waypaper ]; then
_installSymLink waypaper ~/.config/waypaper ~/dotfiles/waypaper/ ~/.config
fi
echo ":: Symbolic links created." echo ":: Symbolic links created."
echo echo

View File

@ -16,4 +16,5 @@ packagesYay=(
"nwg-look" "nwg-look"
"eww" "eww"
"hyprshade" "hyprshade"
"waypaper"
); );

View File

@ -8,7 +8,7 @@ echo
# Check for required packages # Check for required packages
echo "Checking that required packages for the installation are installed..." echo "Checking that required packages for the installation are installed..."
_installPackagesPacman "rsync" "gum" "figlet" "python"; _installPackagesPacman "rsync" "gum" "figlet" "python" "git";
# Double check rsync # Double check rsync
if ! command -v rsync &> /dev/null; then if ! command -v rsync &> /dev/null; then

View File

@ -24,7 +24,7 @@ input {
# for laptop # for laptop
# natural_scroll = yes # natural_scroll = yes
# middle_button_emulation = true # middle_button_emulation = true
# clickfinger_behavior = 1 # clickfinger_behavior = false
} }
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
} }

View File

@ -24,7 +24,7 @@ input {
# for laptop # for laptop
natural_scroll = true natural_scroll = true
middle_button_emulation = true middle_button_emulation = true
clickfinger_behavior = true clickfinger_behavior = false
disable_while_typing = true disable_while_typing = true
} }
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. sensitivity = 0 # -1.0 - 1.0, 0 means no modification.

View File

View File

@ -0,0 +1,26 @@
{
"custom/quicklink1": {
"format": "",
"on-click": "~/dotfiles/.settings/browser.sh",
"tooltip-format": "Open browser"
},
/*
"custom/quicklink1": {
"format": "",
"on-click": "firefox",
"tooltip-format": "Open Firefox"
},
*/
"custom/quicklink2": {
"format": "",
"on-click": "~/dotfiles/.settings/filemanager.sh",
"tooltip-format": "Open filemanager"
},
"group/quicklinks": {
"orientation": "horizontal",
"modules": [
"custom/quicklink1",
"custom/quicklink2"
]
}
}

View File

@ -1 +1 @@
2.9.1.2 2.9.2

View File

@ -1 +1 @@
2912 2920

View File

@ -1,5 +1,18 @@
Version 2.9.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.2
--------------------------------------------------------
- Works with Hyprland 0.41.2
- Introducing waypaper as new wallpaper selector
- Wallpaper cache for generated wallpaper variants. Will speed up the change between wallpapers if cached files exists. https://gitlab.com/stephan-raabe/dotfiles/-/wikis/Home/Wallpapers#wallpaper-cache
- You can define custom quicklinks in waybar: https://gitlab.com/stephan-raabe/dotfiles/-/wikis/Home/Waybar#define-your-quicklinks
- New SVG icons in waybar for ML4W and ChatGPT
- Default waybar theme changed to ml4w-blur/white
- Alacritty: selected text will be copied to the primary clipboard
- General/standard Hyprland environment configuration moved to ml4w.conf (will be re-used in kvm.conf and nvidia.conf)
- The time format in hyprlock is now aligned with the waybar clock time format that is defined in the ML4W Settings App
Version 2.9.1.2 Version 2.9.1.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.1.1 https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.1.2
-------------------------------------------------------- --------------------------------------------------------
- Workspaces module in waybar updated to enable scroll to change the workspace https://gitlab.com/stephan-raabe/dotfiles/-/merge_requests/114 - Workspaces module in waybar updated to enable scroll to change the workspace https://gitlab.com/stephan-raabe/dotfiles/-/merge_requests/114
- More functions deactivated in Game Mode (SUPER+ALT+G) - More functions deactivated in Game Mode (SUPER+ALT+G)

View File

@ -1,8 +1,8 @@
# ML4W Dotfiles 2.9.1.2 # ML4W Dotfiles 2.9.2
An advanced configuration of Hyprland for Arch Linux based distributions. This package includes an installation script to install and setup the required components. An advanced configuration of Hyprland for Arch Linux based distributions. This package includes an installation script to install and setup the required components.
[![Screenshot](screenshots/screenshot2.png "Screenshot")](screenshots/screenshot2.png) [![Screenshot](https://gitlab.com/stephan-raabe/dotfiles/-/wikis/uploads/5715487b0af68f36295f4e37b634f17a/screenshot-20240627-113621.png "Screenshot")](![screenshots/screenshot2.png](https://gitlab.com/stephan-raabe/dotfiles/-/wikis/uploads/5715487b0af68f36295f4e37b634f17a/screenshot-20240627-113621.png))
The ML4W Dotfiles are available as The ML4W Dotfiles are available as
@ -37,11 +37,7 @@ You can also visit the [ML4W Discord Server](https://discord.gg/c4fJK7Za3g) to s
## Screenshots ## Screenshots
[![Screenshot](screenshots/screenshot1.png "Screenshot")](screenshots/screenshot1.png) [![Screenshot](https://gitlab.com/stephan-raabe/dotfiles/-/wikis/uploads/b8dc6a841b6b04fe0b2d380377117a50/screenshot-20240627-113733.png "Screenshot")](![screenshots/screenshot1.png](https://gitlab.com/stephan-raabe/dotfiles/-/wikis/uploads/b8dc6a841b6b04fe0b2d380377117a50/screenshot-20240627-113733.png))
[![Screenshot](screenshots/screenshot3.png "Screenshot")](screenshots/screenshot3.png)
[![Screenshot](screenshots/screenshot4.png "Screenshot")](screenshots/screenshot5.png)
## Wallpaper repository ## Wallpaper repository

View File

@ -11,3 +11,6 @@ opacity = 0.7
[window.padding] [window.padding]
x = 15 x = 15
y = 15 y = 15
[selection]
save_to_clipboard = true

Binary file not shown.

View File

@ -20,15 +20,18 @@ exec-once = hypridle
# Load cliphist history # Load cliphist history
exec-once = wl-paste --watch cliphist store exec-once = wl-paste --watch cliphist store
# Initialize Wallpaper Engine
exec-once = ~/dotfiles/hypr/scripts/init-wallpaper-engine.sh
# Autostart ML4W App # Autostart ML4W App
exec-once = ~/dotfiles/hypr/scripts/ml4w-welcome-autostart.sh exec-once = ~/dotfiles/hypr/scripts/ml4w-welcome-autostart.sh
# Start ewww daemon # Start ewww daemon
exec-once = ~/dotfiles/hypr/scripts/eww.sh exec-once = ~/dotfiles/hypr/scripts/eww.sh
# Initialize waypaper
exec-once = waypaper --restore
# Launch Waybar
exec-once = ~/dotfiles/waybar/launch.sh
# Start autostart cleanup # Start autostart cleanup
exec-once = ~/dotfiles/hypr/scripts/cleanup.sh exec-once = ~/dotfiles/hypr/scripts/cleanup.sh

View File

@ -2,11 +2,4 @@
# Environment Variables # Environment Variables
# name: "Default" # name: "Default"
# ----------------------------------------------------- # -----------------------------------------------------
# Set in ml4w.conf
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1

View File

@ -2,13 +2,5 @@
# Environment Variables # Environment Variables
# name: "KVM" # name: "KVM"
# ----------------------------------------------------- # -----------------------------------------------------
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1
env = WLR_RENDERER_ALLOW_SOFTWARE, 1 env = WLR_RENDERER_ALLOW_SOFTWARE, 1
env = WLR_NO_HARDWARE_CURSORS, 1 env = WLR_NO_HARDWARE_CURSORS, 1

View File

@ -33,8 +33,8 @@ bind = $mainMod, G, togglegroup # Toggle window group
bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh # Toggle animations bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh # Toggle animations
bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh # Take a screenshot bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh # Take a screenshot
bind = $mainMod CTRL, Q, exec, wlogout # Start wlogout bind = $mainMod CTRL, Q, exec, wlogout # Start wlogout
bind = $mainMod SHIFT, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh # Change the wallpaper bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper
bind = $mainMod CTRL, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh select # Open wallpaper selector bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector
bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i # Open application launcher bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i # Open application launcher
bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh # Show keybindings bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh # Show keybindings
bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh # Reload waybar bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh # Reload waybar

View File

@ -8,7 +8,8 @@ dwindle {
} }
master { master {
new_is_master = true # new_is_master = true
# new_status = master
} }
gestures { gestures {

View File

@ -8,7 +8,8 @@ dwindle {
} }
master { master {
new_is_master = true # new_is_master = true
# new_status = master
} }
gestures { gestures {

View File

@ -2,10 +2,22 @@
# ML4W configurations # ML4W configurations
# ----------------------------------------------------- # -----------------------------------------------------
windowrulev2 = float,class:(.*chat.openai.com.*) # Pavucontrol floating
windowrulev2 = size 500 50%,class:(.*chat.openai.com.*) windowrulev2 = float,class:(.*org.pulseaudio.pavucontrol.*)
windowrulev2 = move 20 70,class:(.*chat.openai.com.*) windowrulev2 = size 700 600,class:(.*org.pulseaudio.pavucontrol.*)
windowrulev2 = center,class:(.*org.pulseaudio.pavucontrol.*)
# OpenAI ChatGPT floating
windowrulev2 = float,title:(.*chat.openai.com.*)
windowrulev2 = size 500 50%,title:(.*chat.openai.com.*)
windowrulev2 = move 20 70,title:(.*chat.openai.com.*)
# ML4W Welcome App floating
windowrulev2 = float,class:(.*waypaper.*)
windowrulev2 = size 800 700,class:(.*waypaper.*)
windowrulev2 = center,class:(.*waypaper.*)
# ML4W Welcome App floating
windowrulev2 = float,class:(com.ml4w.welcome) windowrulev2 = float,class:(com.ml4w.welcome)
windowrulev2 = size 700 600,class:(com.ml4w.welcome) windowrulev2 = size 700 600,class:(com.ml4w.welcome)
windowrulev2 = center,class:(com.ml4w.welcome) windowrulev2 = center,class:(com.ml4w.welcome)
@ -14,6 +26,7 @@ windowrulev2 = float,class:(ml4w-welcome.py)
windowrulev2 = size 400 500,class:(ml4w-welcome.py) windowrulev2 = size 400 500,class:(ml4w-welcome.py)
windowrulev2 = center,class:(ml4w-welcome.py) windowrulev2 = center,class:(ml4w-welcome.py)
# ML4W Settings App floating
windowrulev2 = float,class:(com.ml4w.dotfilessettings) windowrulev2 = float,class:(com.ml4w.dotfilessettings)
windowrulev2 = size 700 600,class:(com.ml4w.dotfilessettings) windowrulev2 = size 700 600,class:(com.ml4w.dotfilessettings)
windowrulev2 = move 10% 20%,class:(com.ml4w.dotfilessettings) windowrulev2 = move 10% 20%,class:(com.ml4w.dotfilessettings)
@ -22,6 +35,7 @@ windowrulev2 = float,class:(ml4w-dotfiles-settings.py)
windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py) windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py)
windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py) windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py)
# ML4W Hyprland App floating
windowrulev2 = float,class:(com.ml4w.hyprland.settings) windowrulev2 = float,class:(com.ml4w.hyprland.settings)
windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings) windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings)
windowrulev2 = center,class:(com.ml4w.hyprland.settings) windowrulev2 = center,class:(com.ml4w.hyprland.settings)
@ -30,10 +44,31 @@ windowrulev2 = float,class:(ml4w-hyprland-settings.py)
windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py) windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py)
windowrulev2 = center,class:(ml4w-hyprland-settings.py) windowrulev2 = center,class:(ml4w-hyprland-settings.py)
# General floating
windowrulev2 = float,class:(dotfiles-floating) windowrulev2 = float,class:(dotfiles-floating)
windowrulev2 = size 1000 800,class:(dotfiles-floating) windowrulev2 = size 1000 800,class:(dotfiles-floating)
windowrulev2 = center,class:(dotfiles-floating) windowrulev2 = center,class:(dotfiles-floating)
env = APPIMAGELAUNCHER_DISABLE,1 # XDG Desktop Portal
env = XCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
# QT
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
# GTK
env = GDK_SCALE,1
# Mozilla
env = MOZ_ENABLE_WAYLAND,1
# Set the cursor size for xcursor
env = XCURSOR_SIZE,24
# Disable appimage launcher by default
env = APPIMAGELAUNCHER_DISABLE,1

View File

@ -10,4 +10,5 @@ general {
col.active_border = rgba(ffffffff) col.active_border = rgba(ffffffff)
col.inactive_border = $color11 col.inactive_border = $color11
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = rgba(ffffffff) col.active_border = rgba(ffffffff)
col.inactive_border = $color11 col.inactive_border = $color11
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = rgba(ffffffff) col.active_border = rgba(ffffffff)
col.inactive_border = $color11 col.inactive_border = $color11
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = rgba(ffffffff) col.active_border = rgba(ffffffff)
col.inactive_border = $color11 col.inactive_border = $color11
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -10,4 +10,5 @@ general {
col.active_border = $color11 col.active_border = $color11
col.inactive_border = rgba(ffffffff) col.inactive_border = rgba(ffffffff)
layout = dwindle layout = dwindle
resize_on_border = true
} }

View File

@ -43,6 +43,7 @@ input-field {
label { label {
monitor = monitor =
#clock
text = cmd[update:1000] echo "$TIME" text = cmd[update:1000] echo "$TIME"
color = rgba(200, 200, 200, 1.0) color = rgba(200, 200, 200, 1.0)
font_size = 55 font_size = 55

View File

@ -1,3 +1,3 @@
preload = $HOME/wallpaper/hyprland.jpg preload = $HOME/wallpaper/default.jpg
wallpaper = ,$HOME/wallpaper/hyprland.jpg wallpaper = ,$HOME/wallpaper/default.jpg
splash = false splash = false

View File

@ -46,6 +46,7 @@ _commandExists "swww" "swww"
_commandExists "eww" "eww" _commandExists "eww" "eww"
_commandExists "magick" "imagemagick" _commandExists "magick" "imagemagick"
_commandExists "figlet" "figlet" _commandExists "figlet" "figlet"
_commandExists "waypaper" "waypaper"
echo echo
echo "Press return to exit" echo "Press return to exit"

View File

@ -0,0 +1,5 @@
#!/bin/bash
generated_versions="$HOME/.cache/ml4w-wallpaper-generated"
rm $HOME/.cache/ml4w-wallpaper-generated/*
echo ":: Wallpaper cache cleared"
notify-send "Wallpaper cache cleared"

View File

@ -9,181 +9,135 @@
# by Stephan Raabe (2024) # by Stephan Raabe (2024)
# ----------------------------------------------------- # -----------------------------------------------------
# Cache file for holding the current wallpaper # -----------------------------------------------------
wallpaper_folder="$HOME/wallpaper" # Get selected wallpaper
if [ -f ~/dotfiles/.settings/wallpaper-folder.sh ] ;then # -----------------------------------------------------
source ~/dotfiles/.settings/wallpaper-folder.sh echo ":: Using wallpaper $1"
wallpaper=$1
# -----------------------------------------------------
# Check to use wallpaper cache
# -----------------------------------------------------
use_cache=0
if [ -f $HOME/dotfiles/.settings/wallpaper_cache ] ;then
use_cache=1
fi fi
used_wallpaper="$HOME/.cache/used_wallpaper"
if [ "$use_cache" == "1" ] ;then
echo ":: Using Wallpaper Cache"
else
echo ":: Wallpaper Cache disabled"
fi
# -----------------------------------------------------
# File and folder names
# -----------------------------------------------------
force_generate=0
generated_versions="$HOME/.cache/ml4w-wallpaper-generated"
cache_file="$HOME/.cache/current_wallpaper" cache_file="$HOME/.cache/current_wallpaper"
blurred="$HOME/.cache/blurred_wallpaper.png" blurred_wallpaper="$HOME/.cache/blurred_wallpaper.png"
square="$HOME/.cache/square_wallpaper.png" square_wallpaper="$HOME/.cache/square_wallpaper.png"
rasi_file="$HOME/.cache/current_wallpaper.rasi" rasi_file="$HOME/.cache/current_wallpaper.rasi"
blur_file="$HOME/dotfiles/.settings/blur.sh" blur_file="$HOME/dotfiles/.settings/blur.sh"
blur="50x30" blur="50x30"
blur=$(cat $blur_file) blur=$(cat $blur_file)
# Create cache file if not exists
if [ ! -f $cache_file ] ;then
touch $cache_file
echo "$wallpaper_folder/default.jpg" > "$cache_file"
fi
# Create rasi file if not exists # Create rasi file if not exists
if [ ! -f $rasi_file ] ;then if [ ! -f $rasi_file ] ;then
touch $rasi_file touch $rasi_file
echo "* { current-image: url(\"$wallpaper_folder/default.jpg\", height); }" > "$rasi_file" echo "* { current-image: url(\"$wallpaper_folder/default.jpg\", height); }" > "$rasi_file"
fi fi
current_wallpaper=$(cat "$cache_file") # Create folder with generated versions of wallpaper if not exists
if [ ! -d $generated_versions ] ;then
case $1 in mkdir $generated_versions
fi
# Load wallpaper from .cache of last session
"init")
sleep 1
if [ -f $cache_file ]; then
wal -q -i $current_wallpaper
else
wal -q -i $wallpaper_folder/
fi
;;
# Select wallpaper with rofi
"select")
sleep 0.2
selected=$( find "$wallpaper_folder" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -exec basename {} \; | sort -R | while read rfile
do
echo -en "$rfile\x00icon\x1f$wallpaper_folder/${rfile}\n"
done | rofi -dmenu -i -replace -config ~/dotfiles/rofi/config-wallpaper.rasi)
if [ ! "$selected" ]; then
echo "No wallpaper selected"
exit
fi
wal -q -i $wallpaper_folder/$selected
;;
# Randomly select wallpaper
*)
wal -q -i $wallpaper_folder/
;;
esac
# ----------------------------------------------------- # -----------------------------------------------------
# Load current pywal color scheme # Current wallpaper
# ----------------------------------------------------- # -----------------------------------------------------
current_wallpaper=$wallpaper
current_wallpaper_filename=$(basename $current_wallpaper)
echo ":: Current Wallpaper: $current_wallpaper"
echo ":: Current Wallpaper Filename: $current_wallpaper_filename"
newwall=$current_wallpaper_filename
# -----------------------------------------------------
# Execute pywal
# -----------------------------------------------------
echo ":: Execute wallpaper"
wal -q -i $wallpaper
source "$HOME/.cache/wal/colors.sh" source "$HOME/.cache/wal/colors.sh"
# ----------------------------------------------------- # -----------------------------------------------------
# get wallpaper image name # Wallpaper Effects
# ----------------------------------------------------- # -----------------------------------------------------
newwall=$(echo $wallpaper | sed "s|$wallpaper_folder/||g")
# -----------------------------------------------------
# Reload waybar with new colors
# -----------------------------------------------------
~/dotfiles/waybar/launch.sh
# -----------------------------------------------------
# Set the new wallpaper
# -----------------------------------------------------
transition_type="wipe"
# transition_type="outer"
# transition_type="random"
cp $wallpaper $HOME/.cache/
mv $HOME/.cache/$newwall $used_wallpaper
# Load Wallpaper Effect
if [ -f $HOME/dotfiles/.settings/wallpaper-effect.sh ] ;then if [ -f $HOME/dotfiles/.settings/wallpaper-effect.sh ] ;then
effect=$(cat $HOME/dotfiles/.settings/wallpaper-effect.sh) effect=$(cat $HOME/dotfiles/.settings/wallpaper-effect.sh)
if [ ! "$effect" == "off" ] ;then if [ ! "$effect" == "off" ] ;then
if [ "$1" == "init" ] ;then used_wallpaper=$generated_versions/$effect-$newwall
echo ":: Init" if [ -f $generated_versions/$effect-$newwall ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ] ;then
echo ":: Use cached wallpaper $effect-$newwall"
else else
dunstify "Using wallpaper effect $effect..." "with image $newwall" -h int:value:10 -h string:x-dunst-stack-tag:wallpaper echo ":: Generate new cached wallpaper $effect-$newwall with effect $effect"
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Using wallpaper effect $effect..." "with image $newwall" -h int:value:10 -h string:x-dunst-stack-tag:wallpaper
fi
source $HOME/dotfiles/hypr/effects/wallpaper/$effect
fi fi
source $HOME/dotfiles/hypr/effects/wallpaper/$effect echo ":: Loading wallpaper $generated_versions/$effect-$newwall with effect $effect"
killall -e hyprpaper &
sleep 1;
wal_tpl=$(cat $HOME/dotfiles/.settings/hyprpaper.tpl)
echo $wal_tpl
output=${wal_tpl//WALLPAPER/$used_wallpaper}
echo "$output" > $HOME/dotfiles/hypr/hyprpaper.conf
hyprpaper & > /dev/null 2>&1
else
echo ":: Wallpaper effect is set to off"
fi fi
fi fi
wallpaper_engine=$(cat $HOME/dotfiles/.settings/wallpaper-engine.sh)
if [ "$wallpaper_engine" == "swww" ] ;then
# swww
echo ":: Using swww"
swww img $used_wallpaper \
--transition-bezier .43,1.19,1,.4 \
--transition-fps=60 \
--transition-type=$transition_type \
--transition-duration=0.7 \
--transition-pos "$( hyprctl cursorpos )"
elif [ "$wallpaper_engine" == "hyprpaper" ] ;then
# hyprpaper
echo ":: Using hyprpaper"
killall hyprpaper
wal_tpl=$(cat $HOME/dotfiles/.settings/hyprpaper.tpl)
output=${wal_tpl//WALLPAPER/$used_wallpaper}
echo "$output" > $HOME/dotfiles/hypr/hyprpaper.conf
hyprpaper &
else
echo ":: Wallpaper Engine disabled"
fi
if [ "$1" == "init" ] ;then
echo ":: Init"
else
sleep 1
dunstify "Changing wallpaper ..." "with image $newwall" -h int:value:25 -h string:x-dunst-stack-tag:wallpaper
# -----------------------------------------------------
# Reload Hyprctl.sh
# -----------------------------------------------------
$HOME/.config/ml4w-hyprland-settings/hyprctl.sh &
fi
# ----------------------------------------------------- # -----------------------------------------------------
# Created blurred wallpaper # Created blurred wallpaper
# ----------------------------------------------------- # -----------------------------------------------------
if [ "$1" == "init" ] ;then if [ -f $generated_versions/blur-$blur-$newwall.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ] ;then
echo ":: Init" echo ":: Use cached wallpaper blur-$blur-$newwall.png"
else else
dunstify "Creating blurred version ..." "with image $newwall" -h int:value:50 -h string:x-dunst-stack-tag:wallpaper echo ":: Generate new cached wallpaper blur-$blur-$newwall with blur $blur"
fi if [ "$1" == "init" ] ;then
echo ":: Init"
magick $used_wallpaper -resize 75% $blurred else
echo ":: Resized to 75%" dunstify "Creating blurred version ..." "with image $newwall" -h int:value:50 -h string:x-dunst-stack-tag:wallpaper
if [ ! "$blur" == "0x0" ] ;then fi
magick $blurred -blur $blur $blurred magick $wallpaper -resize 75% $blurred_wallpaper
echo ":: Blurred" echo ":: Resized to 75%"
if [ ! "$blur" == "0x0" ] ;then
magick $blurred_wallpaper -blur $blur $blurred_wallpaper
cp $blurred_wallpaper $generated_versions/blur-$blur-$newwall.png
echo ":: Blurred"
fi
cp $generated_versions/blur-$blur-$newwall.png $blurred_wallpaper
fi fi
cp $generated_versions/blur-$blur-$newwall.png $blurred_wallpaper
# ----------------------------------------------------- # -----------------------------------------------------
# Created quare wallpaper # Created square wallpaper
# ----------------------------------------------------- # -----------------------------------------------------
if [ "$1" == "init" ] ;then if [ -f $generated_versions/square-$newwall.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ] ;then
echo ":: Init" echo ":: Use cached wallpaper square-$newwall.png"
else else
dunstify "Creating square version ..." "with image $newwall" -h int:value:75 -h string:x-dunst-stack-tag:wallpaper echo ":: Generate new cached wallpaper square-$newwall"
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Creating square version ..." "with image $newwall" -h int:value:75 -h string:x-dunst-stack-tag:wallpaper
fi
magick $wallpaper -gravity Center -extent 1:1 $square_wallpaper
cp $square_wallpaper $generated_versions/square-$newwall.png
fi fi
magick $wallpaper -gravity Center -extent 1:1 $square cp $generated_versions/square-$newwall.png $square_wallpaper
echo ":: Square version created"
# -----------------------------------------------------
# Write selected wallpaper into .cache files
# -----------------------------------------------------
echo "$wallpaper" > "$cache_file"
echo "* { current-image: url(\"$blurred\", height); }" > "$rasi_file"
# -----------------------------------------------------
# Send notification
# -----------------------------------------------------
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Wallpaper procedure complete!" "with image $newwall" -h int:value:100 -h string:x-dunst-stack-tag:wallpaper
fi
echo "DONE!"

View File

@ -15,7 +15,7 @@ killall -e xdg-desktop-portal-kde
killall -e xdg-desktop-portal-lxqt killall -e xdg-desktop-portal-lxqt
killall -e xdg-desktop-portal-wlr killall -e xdg-desktop-portal-wlr
killall -e xdg-desktop-portal-gtk killall -e xdg-desktop-portal-gtk
killall xdg-desktop-portal killall -e xdg-desktop-portal
sleep 1 sleep 1
# start xdg-desktop-portal-hyprland # start xdg-desktop-portal-hyprland

View File

@ -34,7 +34,7 @@ else
fi fi
echo "" echo ""
source .install/required.sh source .install/required.sh
source .install/confirm-start.sh source .install/confirm_start.sh
source .install/paralleldownloads.sh source .install/paralleldownloads.sh
source .install/yay.sh source .install/yay.sh
source .install/updatesystem.sh source .install/updatesystem.sh
@ -44,37 +44,45 @@ source .install/installer.sh
source .install/remove.sh source .install/remove.sh
source .install/general.sh source .install/general.sh
source .install/packages/general-packages.sh source .install/packages/general-packages.sh
source .install/install-packages.sh source .install/install_packages.sh
source .install/profile.sh source .install/profile.sh
if [[ $profile == *"Hyprland"* ]]; then if [[ $profile == *"Hyprland"* ]]; then
echo -e "${GREEN}" echo -e "${GREEN}"
figlet "Hyprland" figlet "Hyprland"
echo -e "${NONE}" echo -e "${NONE}"
source .install/packages/hyprland-packages.sh source .install/packages/hyprland-packages.sh
source .install/install-packages.sh source .install/install_packages.sh
fi fi
if [[ $profile == *"Qtile"* ]]; then if [[ $profile == *"Qtile"* ]]; then
echo -e "${GREEN}" echo -e "${GREEN}"
figlet "Qtile" figlet "Qtile"
echo -e "${NONE}" echo -e "${NONE}"
source .install/packages/qtile-packages.sh source .install/packages/qtile-packages.sh
source .install/install-packages.sh source .install/install_packages.sh
fi fi
source .install/wallpaper.sh source .install/wallpaper.sh
source .install/displaymanager.sh source .install/displaymanager.sh
source .install/issue.sh source .install/issue.sh
# Modify existing files before restore starts
source .install/before_restore.sh
# Restore configuration and settings
source .install/restore.sh source .install/restore.sh
# Setup the input devices
source .install/keyboard.sh source .install/keyboard.sh
source .install/neovim.sh source .install/neovim.sh
source .install/hook.sh source .install/hook.sh
source .install/vm.sh source .install/vm.sh
source .install/copy.sh source .install/copy.sh
source .install/init-pywal.sh source .install/init-pywal.sh
if [[ $profile == *"Hyprland"* ]]; then if [[ $profile == *"Hyprland"* ]]; then
source .install/hyprland-dotfiles.sh source .install/hyprland_dotfiles.sh
fi fi
if [[ $profile == *"Qtile"* ]]; then if [[ $profile == *"Qtile"* ]]; then
source .install/qtile-dotfiles.sh source .install/qtile_dotfiles.sh
fi fi
source .install/settings.sh source .install/settings.sh
source .install/apps.sh source .install/apps.sh

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

View File

@ -25,7 +25,7 @@ sleep 0.2
# ----------------------------------------------------- # -----------------------------------------------------
# Default theme: /THEMEFOLDER;/VARIATION # Default theme: /THEMEFOLDER;/VARIATION
# ----------------------------------------------------- # -----------------------------------------------------
themestyle="/ml4w;/ml4w/light" themestyle="/ml4w-blur;/ml4w-blur/white"
# ----------------------------------------------------- # -----------------------------------------------------
# Get current theme information from .cache/.themestyle.sh # Get current theme information from .cache/.themestyle.sh
@ -38,7 +38,7 @@ else
fi fi
IFS=';' read -ra arrThemes <<< "$themestyle" IFS=';' read -ra arrThemes <<< "$themestyle"
echo "Theme: ${arrThemes[0]}" echo ":: Theme: ${arrThemes[0]}"
if [ ! -f ~/dotfiles/waybar/themes${arrThemes[1]}/style.css ]; then if [ ! -f ~/dotfiles/waybar/themes${arrThemes[1]}/style.css ]; then
themestyle="/ml4w;/ml4w/light" themestyle="/ml4w;/ml4w/light"

View File

@ -110,7 +110,7 @@
// Wallpaper // Wallpaper
"custom/wallpaper": { "custom/wallpaper": {
"format": "", "format": "",
"on-click": "~/dotfiles/hypr/scripts/wallpaper.sh select", "on-click": "waypaper",
"on-click-right": "~/dotfiles/hypr/scripts/wallpaper-effects.sh", "on-click-right": "~/dotfiles/hypr/scripts/wallpaper-effects.sh",
"tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect" "tooltip-format": "Left: Select a wallpaper\nRight: Select wallpaper effect"
}, },
@ -136,20 +136,6 @@
"tooltip": false "tooltip": false
}, },
// Filemanager Launcher
"custom/filemanager": {
"format": "",
"on-click": "~/dotfiles/.settings/filemanager.sh",
"tooltip-format": "Open filemanager"
},
// Browser Launcher
"custom/browser": {
"format": "",
"on-click": "~/dotfiles/.settings/browser.sh",
"tooltip-format": "Open browser"
},
// ChatGPT Launcher // ChatGPT Launcher
"custom/chatgpt": { "custom/chatgpt": {
"format": " ", "format": " ",
@ -315,15 +301,6 @@
] ]
}, },
// Group Quicklinks
"group/quicklinks": {
"orientation": "horizontal",
"modules": [
"custom/browser",
"custom/filemanager",
]
},
// Network // Network
"network": { "network": {
"format": "{ifname}", "format": "{ifname}",

View File

@ -0,0 +1,18 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" role="img">
<!-- Define the mask for the cutouts -->
<mask id="cutoutMask">
<!-- Circle -->
<circle fill="white" cx="120" cy="120" r="120" />
<!-- Big L Shape -->
<rect x="60" y="165" width="120" height="15" rx="4" ry="4" fill="black"/>
<rect x="60" y="60" width="15" height="120" rx="4" ry="4" fill="black"/>
<!-- Little L Shape -->
<rect x="110" y="120" width="75" height="15" rx="4" ry="4" fill="black"/>
<rect x="110" y="55" width="15" height="80" rx="4" ry="4" fill="black"/>
</mask>
<!-- Circle with cutouts -->
<circle fill="black" cx="120" cy="120" r="120" mask="url(#cutoutMask)" />
</svg>

After

Width:  |  Height:  |  Size: 728 B

View File

@ -0,0 +1,18 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" role="img">
<!-- Define the mask for the cutouts -->
<mask id="cutoutMask">
<!-- Circle -->
<circle fill="white" cx="120" cy="120" r="120" />
<!-- Big L Shape -->
<rect x="60" y="165" width="120" height="15" rx="4" ry="4" fill="black"/>
<rect x="60" y="60" width="15" height="120" rx="4" ry="4" fill="black"/>
<!-- Little L Shape -->
<rect x="110" y="120" width="75" height="15" rx="4" ry="4" fill="black"/>
<rect x="110" y="55" width="15" height="80" rx="4" ry="4" fill="black"/>
</mask>
<!-- Circle with cutouts -->
<circle fill="white" cx="120" cy="120" r="120" mask="url(#cutoutMask)" />
</svg>

After

Width:  |  Height:  |  Size: 728 B

View File

@ -0,0 +1,18 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" role="img">
<!-- Define the mask for the cutouts -->
<mask id="cutoutMask">
<!-- Circle -->
<circle fill="#19cddb" cx="120" cy="120" r="120" />
<!-- Big L Shape -->
<rect x="60" y="165" width="120" height="15" rx="4" ry="4" fill="black"/>
<rect x="60" y="60" width="15" height="120" rx="4" ry="4" fill="black"/>
<!-- Little L Shape -->
<rect x="110" y="120" width="75" height="15" rx="4" ry="4" fill="black"/>
<rect x="110" y="55" width="15" height="80" rx="4" ry="4" fill="black"/>
</mask>
<!-- Circle with cutouts -->
<circle fill="#19cddb" cx="120" cy="120" r="120" mask="url(#cutoutMask)" />
</svg>

After

Width:  |  Height:  |  Size: 732 B

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><title>OpenAI icon</title><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#ffffff" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><title>OpenAI icon</title><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#ffffff" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><title>OpenAI icon</title><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -20,5 +20,10 @@ window#waybar {
} }
#custom-ml4w-welcome { #custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-dark.png"); background-image: url("../../assets/ml4w-icon-black.svg");
} }
#custom-chatgpt {
background-image: url("../../assets/openai-black.svg");
}

View File

@ -19,7 +19,10 @@
"spacing": 0, "spacing": 0,
// Load Modules // Load Modules
"include": ["~/dotfiles/waybar/modules.json"], "include": [
"~/dotfiles/.settings/waybar-quicklinks.json",
"~/dotfiles/waybar/modules.json"
],
// Modules Left // Modules Left
"modules-left": [ "modules-left": [

View File

@ -18,3 +18,11 @@
window#waybar { window#waybar {
background-color: rgba(255,255,255,0.1); background-color: rgba(255,255,255,0.1);
} }
#custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-white.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-white.svg");
}

View File

@ -20,5 +20,9 @@ window#waybar {
} }
#custom-ml4w-welcome { #custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-dark.png"); background-image: url("../../assets/ml4w-icon-black.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-black.svg");
} }

View File

@ -19,7 +19,10 @@
"spacing": 0, "spacing": 0,
// Load Modules // Load Modules
"include": ["~/dotfiles/waybar/modules.json"], "include": [
"~/dotfiles/.settings/waybar-quicklinks.json",
"~/dotfiles/waybar/modules.json"
],
// Modules Left // Modules Left
"modules-left": [ "modules-left": [

View File

@ -165,6 +165,16 @@ window#waybar.empty #window {
#custom-system, #custom-system,
#custom-hyprshade, #custom-hyprshade,
#custom-hypridle, #custom-hypridle,
#custom-quicklink1,
#custom-quicklink2,
#custom-quicklink3,
#custom-quicklink4,
#custom-quicklink5,
#custom-quicklink6,
#custom-quicklink7,
#custom-quicklink8,
#custom-quicklink9,
#custom-quicklink10,
#custom-waybarthemes { #custom-waybarthemes {
margin-right: 23px; margin-right: 23px;
font-size: 20px; font-size: 20px;
@ -203,10 +213,11 @@ window#waybar.empty #window {
#custom-ml4w-welcome { #custom-ml4w-welcome {
margin-right: 12px; margin-right: 12px;
background-image: url("../assets/ml4w-icon.png"); background-image: url("../assets/ml4w-icon.svg");
background-repeat: no-repeat;
background-position: center; background-position: center;
padding-right: 24px; background-repeat: no-repeat;
background-size: contain;
padding-right: 20px;
} }
#custom-ml4w-hyprland-settings { #custom-ml4w-hyprland-settings {
@ -219,10 +230,11 @@ window#waybar.empty #window {
#custom-chatgpt { #custom-chatgpt {
margin-right: 12px; margin-right: 12px;
background-image: url("../assets/ai-icon-20.png"); background-image: url("../assets/openai.svg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
padding-right: 24px; background-size: contain;
padding-right: 16px;
} }
/* ----------------------------------------------------- /* -----------------------------------------------------

View File

@ -18,3 +18,11 @@
window#waybar { window#waybar {
background-color: rgba(255,255,255,0.1); background-color: rgba(255,255,255,0.1);
} }
#custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-white.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-white.svg");
}

View File

@ -16,5 +16,9 @@
@import '../../ml4w/style.css'; @import '../../ml4w/style.css';
#custom-ml4w-welcome { #custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-dark.png"); background-image: url("../../assets/ml4w-icon-black.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-black.svg");
} }

View File

@ -19,7 +19,10 @@
"spacing": 0, "spacing": 0,
// Load Modules // Load Modules
"include": ["~/dotfiles/waybar/modules.json"], "include": [
"~/dotfiles/.settings/waybar-quicklinks.json",
"~/dotfiles/waybar/modules.json"
],
// Modules Left // Modules Left
"modules-left": [ "modules-left": [

View File

@ -14,3 +14,11 @@
@define-color iconcolor #FFFFFF; @define-color iconcolor #FFFFFF;
@import '../../ml4w/style.css'; @import '../../ml4w/style.css';
#custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-white.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-white.svg");
}

View File

@ -18,7 +18,10 @@
"spacing": 0, "spacing": 0,
// Load Modules // Load Modules
"include": ["~/dotfiles/waybar/modules.json"], "include": [
"~/dotfiles/.settings/waybar-quicklinks.json",
"~/dotfiles/waybar/modules.json"
],
// Modules Left // Modules Left
"modules-left": [ "modules-left": [

View File

@ -136,6 +136,16 @@ window#waybar.empty #window {
#custom-system, #custom-system,
#custom-hyprshade, #custom-hyprshade,
#custom-hypridle, #custom-hypridle,
#custom-quicklink1,
#custom-quicklink2,
#custom-quicklink3,
#custom-quicklink4,
#custom-quicklink5,
#custom-quicklink6,
#custom-quicklink7,
#custom-quicklink8,
#custom-quicklink9,
#custom-quicklink10,
#custom-waybarthemes { #custom-waybarthemes {
margin-right: 23px; margin-right: 23px;
font-size: 14px; font-size: 14px;
@ -185,11 +195,12 @@ window#waybar.empty #window {
#custom-ml4w-welcome { #custom-ml4w-welcome {
margin-right: 15px; margin-right: 12px;
background-image: url("../assets/ml4w-icon-20.png"); background-image: url("../assets/ml4w-icon.svg");
background-repeat: no-repeat;
background-position: center; background-position: center;
padding-right: 24px; background-repeat: no-repeat;
background-size: contain;
padding-right: 20px;
} }
#custom-ml4w-hyprland-settings { #custom-ml4w-hyprland-settings {

View File

@ -15,6 +15,10 @@
@import '../style.css'; @import '../style.css';
#custom-ml4w-welcome { #custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-dark.png"); background-image: url("../../assets/ml4w-icon-black.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-black.svg");
} }

View File

@ -19,7 +19,10 @@
"spacing": 0, "spacing": 0,
// Load Modules // Load Modules
"include": ["~/dotfiles/waybar/modules.json"], "include": [
"~/dotfiles/.settings/waybar-quicklinks.json",
"~/dotfiles/waybar/modules.json"
],
// Modules Left // Modules Left
"modules-left": [ "modules-left": [

View File

@ -166,6 +166,16 @@ window#waybar.empty #window {
#custom-system, #custom-system,
#custom-hyprshade, #custom-hyprshade,
#custom-hypridle, #custom-hypridle,
#custom-quicklink1,
#custom-quicklink2,
#custom-quicklink3,
#custom-quicklink4,
#custom-quicklink5,
#custom-quicklink6,
#custom-quicklink7,
#custom-quicklink8,
#custom-quicklink9,
#custom-quicklink10,
#custom-waybarthemes { #custom-waybarthemes {
margin-right: 23px; margin-right: 23px;
font-size: 20px; font-size: 20px;
@ -204,18 +214,20 @@ window#waybar.empty #window {
#custom-chatgpt { #custom-chatgpt {
margin-right: 12px; margin-right: 12px;
background-image: url("../assets/ai-icon.png"); background-image: url("../assets/openai.svg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
padding-right: 24px; background-size: contain;
padding-right: 16px;
} }
#custom-ml4w-welcome { #custom-ml4w-welcome {
margin-right: 12px; margin-right: 12px;
background-image: url("../assets/ml4w-icon.png"); background-image: url("../assets/ml4w-icon.svg");
background-repeat: no-repeat;
background-position: center; background-position: center;
padding-right: 24px; background-repeat: no-repeat;
background-size: contain;
padding-right: 20px;
} }
#custom-ml4w-hyprland-settings { #custom-ml4w-hyprland-settings {

View File

@ -1,17 +1,24 @@
/* ----------------------------------------------------- /* -----------------------------------------------------
* Import Pywal colors * Import Pywal colors
* ----------------------------------------------------- */ * ----------------------------------------------------- */
@import '../../../../../.cache/wal/colors-waybar.css'; @import '../../../../../.cache/wal/colors-waybar.css';
@define-color backgroundlight #FFFFFF; @define-color backgroundlight #FFFFFF;
@define-color backgrounddark #FFFFFF; @define-color backgrounddark #FFFFFF;
@define-color workspacesbackground1 #FFFFFF; @define-color workspacesbackground1 #FFFFFF;
@define-color workspacesbackground2 #CCCCCC; @define-color workspacesbackground2 #CCCCCC;
@define-color bordercolor #FFFFFF; @define-color bordercolor #FFFFFF;
@define-color textcolor1 #000000; @define-color textcolor1 #000000;
@define-color textcolor2 #000000; @define-color textcolor2 #000000;
@define-color textcolor3 #000000; @define-color textcolor3 #000000;
@define-color iconcolor #FFFFFF; @define-color iconcolor #FFFFFF;
@import '../style.css'; @import '../style.css';
#custom-ml4w-welcome {
background-image: url("../../assets/ml4w-icon-white.svg");
}
#custom-chatgpt {
background-image: url("../../assets/openai-white.svg");
}

View File

@ -26,7 +26,10 @@
"spacing": 0, "spacing": 0,
// Load Modules // Load Modules
"include": ["~/dotfiles/waybar/themes/starter/modules.json"], "include": [
"~/dotfiles/.settings/waybar-quicklinks.json",
"~/dotfiles/waybar/themes/starter/modules.json"
],
// Modules Left // Modules Left
"modules-left": [ "modules-left": [

View File

@ -166,6 +166,16 @@ window#waybar.empty #window {
#custom-system, #custom-system,
#custom-hyprshade, #custom-hyprshade,
#custom-hypridle, #custom-hypridle,
#custom-quicklink1,
#custom-quicklink2,
#custom-quicklink3,
#custom-quicklink4,
#custom-quicklink5,
#custom-quicklink6,
#custom-quicklink7,
#custom-quicklink8,
#custom-quicklink9,
#custom-quicklink10,
#custom-waybarthemes { #custom-waybarthemes {
margin-right: 23px; margin-right: 23px;
font-size: 20px; font-size: 20px;
@ -194,10 +204,11 @@ window#waybar.empty #window {
} }
#custom-ml4w-welcome { #custom-ml4w-welcome {
margin-right: 15px; margin-right: 12px;
background-image: url("../assets/ml4w-icon.png"); background-image: url("../assets/ml4w-icon.svg");
background-repeat: no-repeat;
background-position: center; background-position: center;
background-repeat: no-repeat;
background-size: contain;
padding-right: 24px; padding-right: 24px;
} }

19
waypaper/config.ini Normal file
View File

@ -0,0 +1,19 @@
[Settings]
language = en
folder = ~/wallpaper
wallpaper = ~/wallpaper/default.jpg
backend = hyprpaper
monitors = All
fill = fill
sort = name
color = #ffffff
subfolders = False
show_hidden = False
show_gifs_only = False
post_command = ~/dotfiles/hypr/scripts/wallpaper.sh $wallpaper
number_of_columns = 3
swww_transition_type = any
swww_transition_step = 90
swww_transition_angle = 0
swww_transition_duration = 2