diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl index cf85cc0..2354faf 100644 --- a/.config/niri/config.kdl +++ b/.config/niri/config.kdl @@ -1,4 +1,5 @@ spawn-at-startup "waybar" +spawn-at-startup "wal -i ~/Pictures/Wallpapers/pywallpaper.jpg -n --cols16" layout { gaps 16 @@ -9,19 +10,21 @@ layout { } default-column-width { proportion 0.33333; } focus-ring { + off + } + border { width 4 active-color "#7fc8ff" inactive-color "#505050" } - border { - off - } } binds { Mod+Shift+Slash { show-hotkey-overlay; } Mod+T hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; } - Mod+D hotkey-overlay-title="Run an Application: wofi" { spawn "wofi --show drun"; } + Mod+D hotkey-overlay-title="Run an Application: wofi" { spawn "wofi -n"; } + Mod+W hotkey-overlay-title="Change Wallpaper: wofi" { spawn "~/.config/wofi/wallpaper.sh"; } + Mod+W hotkey-overlay-title="Open Project: wofi" { spawn "~/.config/wofi/projects.sh"; } Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; } @@ -81,7 +84,7 @@ binds { Mod+Shift+Minus { set-window-height "-10%"; } Mod+Shift+Equal { set-window-height "+10%"; } - Mod+W { toggle-column-tabbed-display; } + Mod+S { toggle-column-tabbed-display; } Mod+Space { switch-layout "next"; } Mod+Shift+Space { switch-layout "prev"; } diff --git a/.config/wofi/projects.sh b/.config/wofi/projects.sh new file mode 100755 index 0000000..32bc896 --- /dev/null +++ b/.config/wofi/projects.sh @@ -0,0 +1,17 @@ +#!/bin/bash +PROJECTS_DIR="$HOME/Projects" + +menu() { + find "$PROJECTS_DIR" -mindepth 1 -maxdepth 1 -type d | while read -r dir; do + basename=$(basename "$dir") + echo "$basename" + done +} + +main() { + choice=$(menu | wofi -c ~/.config/wofi/projects -s ~/.config/wofi/style-projects.css --show dmenu --prompt "Select Project:" -n) + selected_dir=$(echo "$choice" | cut -d':' -f2-) + [ -d "$PROJECTS_DIR/$selected_dir" ] && kitty -d "$PROJECTS_DIR/$selected_dir" nvim +} +main + diff --git a/.config/wofi/style-projects.css b/.config/wofi/style-projects.css index 75267a4..497b835 100644 --- a/.config/wofi/style-projects.css +++ b/.config/wofi/style-projects.css @@ -16,8 +16,8 @@ window { all: unset; padding: 20px; - border-radius: 0px; - background-color: alpha(@background, 0.5); + border-radius: 10px; + background-color: rgba(50,50,50, 1); } #inner-box { margin: 2px; @@ -43,7 +43,6 @@ window { color: @text; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5); border-radius: 10; - background-color: alpha(@background, 0.2); } #input image { border: none; @@ -78,7 +77,7 @@ window { #entry:selected { border: none; border-radius: 20px; - background-color: rgba(0, 0, 0, 0.15); + background-color: rgba(35, 35, 35, 1); } #entry:selected #text { color: @mauve; diff --git a/.config/wofi/style-wallpaper.css b/.config/wofi/style-wallpaper.css index 6eceece..bcecc9d 100755 --- a/.config/wofi/style-wallpaper.css +++ b/.config/wofi/style-wallpaper.css @@ -16,8 +16,8 @@ window { all:unset; padding: 20px; - border-radius: 0px; - background-color: alpha(@background,.5); + border-radius: 10px; + background-color: rgba(50,50,50, 1); } #inner-box { margin: 2px; @@ -42,9 +42,8 @@ window { border: none; outline: none; color: @text; - box-shadow: 1px 1px 5px rgba(0,0,0, .5); + box-shadow: 1px 1px 5px rgba(0,0,0, 1); border-radius:10; - background-color: alpha(@background,.2); } #input image { border: none; @@ -80,11 +79,11 @@ window { #entry:selected { border: none; border-radius: 20px; - background-color: rgba(0, 0, 0, 0.15); + background-color: rgba(35, 35, 35, 1); } #entry:selected #text { color: @mauve; } #entry:drop(active) { - background-color: @lavender !important; + background-color: @lavender; } diff --git a/.config/wofi/style.css b/.config/wofi/style.css index 098a58e..041e3a6 100755 --- a/.config/wofi/style.css +++ b/.config/wofi/style.css @@ -24,8 +24,8 @@ window { all:unset; padding: 20px; - border-radius: 0px; - background-color: alpha(@background,.5); + border-radius: 10px; + background-color: rgba(50,50,50, 1); } #inner-box { margin: 2px; @@ -50,8 +50,7 @@ window { outline: none; color: @text; box-shadow: 1px 1px 5px rgba(0,0,0, .5); - border-radius:10; - background-color: alpha(@background,.2); + border-radius:10px; } #input image { border: none; @@ -95,11 +94,11 @@ window { box-shadow: 1px 1px 5px rgba(255,255,255, .03); border: none; border-radius: 20px; - background-color:transparent; + background-color: rgba(35, 35, 35, 1); } #entry:selected #text { color: @mauve; } #entry:drop(active) { - background-color: @lavender !important; + background-color: rgba(35, 35, 35, 1); } diff --git a/.config/wofi/wallpaper.sh b/.config/wofi/wallpaper.sh new file mode 100755 index 0000000..664d7c8 --- /dev/null +++ b/.config/wofi/wallpaper.sh @@ -0,0 +1,21 @@ +#!/bin/bash +WALLPAPER_DIR="$HOME/Pictures/Wallpapers/walls" +#I dont know what the fuck I am doing +menu() { + find "${WALLPAPER_DIR}" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) | awk '{print "img:"$0}' +} +main() { + choice=$(menu | wofi -c ~/.config/wofi/wallpaper -s ~/.config/wofi/style-wallpaper.css --show dmenu --prompt "Select Wallpaper:" -n) + selected_wallpaper=$(echo "$choice" | sed 's/^img://') + swww img "$selected_wallpaper" --transition-type any --transition-fps 60 --transition-duration .5 + wal -i "$selected_wallpaper" -n --cols16 + pywalfox update + color1=$(awk 'match($0, /color2=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh) + color2=$(awk 'match($0, /color3=\47(.*)\47/,a) { print a[1] }' ~/.cache/wal/colors.sh) + sed -i "s/^gradient_color_1 = .*/gradient_color_1 = '$color1'/" $cava_config + sed -i "s/^gradient_color_2 = .*/gradient_color_2 = '$color2'/" $cava_config + source ~/.cache/wal/colors.sh && cp -r $wallpaper ~/wallpapers/pywallpaper.jpg +} +main + + diff --git a/install.sh b/install.sh index de8b710..f267b1d 100755 --- a/install.sh +++ b/install.sh @@ -7,7 +7,6 @@ sudo pacman -S --noconfirm --needed \ ghostty \ lazygit \ wl-clipboard \ - swaybg \ ripgrep \ starship @@ -18,6 +17,8 @@ git clone https://aur.archlinux.org/yay.git /tmp/yay rm -rf /tmp/yay yay -S --noconfirm --needed \ + python-pywal16 \ + python-pywalfox \ ttf-firacode-nerd \ neovim \ yazi \ @@ -36,3 +37,11 @@ rm -rf /tmp/yay git config --global user.name "adrien" git config --global user.email "git@bouvais.lu" ssh-keygen -t rsa -b 4096 -C "git@bouvais.com" -f "$HOME/.ssh/id_rsa" -N "" + +pywalfox install +wal -i "$HOME/Pictures/Wallpapers/pywallpaper.jpg" -n --cols16 +pywalfox update + +echo "Dont forget to add Pywalfox extension to Firefox https://addons.mozilla.org/en-US/firefox/addon/pywalfox/" +echo "Then run 'pywalfox update'" +