diff options
82 files changed, 1635 insertions, 338 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 394bd80d..f61335a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,70 @@ # Changelog — KoolDots +## v2.3.23 + +- Changed `whiptail` GUI to dark colors + - Some terminals rendered incorrectly made menu unreadable +- Added more icons to `ModulesWorkpaces` +- Removed the following from hyprland settings: + - `vfr` -- Been enabled by default + - `psuedotile` -- In `dwindle` layout + - As of Hyprland v0.55 they will generate confiuration errors +- `OverviewToggle.sh` wasn't checking properly for quickshell service + - Found by `@TeaJhay` + - Changed script to look for `qs` not `quickshell` +- Minimum Hyprland version is now v0.54.x + - The addtion of scrolling and monocle require 0.54 or greater + - Updated warning banner when you run `copy.sh` +- Added check for `kde-polkit` + - With KDE installed users reported escalation fails + - `kde-polkit` is crashing preventng privledge escalation +- Added `.config/hyprland/scripts/Polkit-Diag.sh` + - This runs a series of Read Only commands to triage polkit issues +- Fixed syntax errors in a few waybar CSS files + - What should have been `<TAB> color` + - Was `\tcode` Caused by bad search and replace + - It caused waybar to crash +- Updated `Keyhints.sh` + - Was missing `scrolling` and `monocle` layouts +- Fixed display order for layout change binding + - It showed `master` after `dwindle` + - Correct order is `dwindle`, `scrolling`. `monocle`, `master` +- Added doc on how get `ventoy` GUI to run properly + - Seems to be a known bug + - `https://github.com/ventoy/Ventoy/issues/3570` +- Fixed issue with long pause starting lockscreen + - In `~/.config/hypr/UserScripts/WeatherWrap.sh` + - I put the weather cache check in the background + - Shortened network timeouts for ping and curl +- Changed `ERROR` to `NOTE` when first installing dotfiles + - The backup directory isn't there but reports as error + - Thank you `@moukhtar22` for finding and reporting this +- Removed `grace` timeout from `hyprlock*.conf` files + - It's now only supported on the command line + - Also updated out the `#image` and `#label` + - They require a space after the `#` +- Fixed: Setting wallpaper per monitor on restore both has same wallpaper + - `WallpaperDaemon` only tracked one wallpaper + - Added per monitor current wallpaper +- Added: Support for transistion effects with `awww` +- Added: `rofi-ssh-menu` `SUPER + S` + - Reads hosts from `$HOME/.ssh/config` + - You can also add in SSH keys to that file + - Including for just local hosts and another for your repositories for example +- Removed: Some leftover `Jakoolit` references +- Added: WindowRule and icon for `shelly` unified app installer for arch +- Added: WindowRule for `hyprwcenter` Audio control app +- Updated: Waybar CSS files to use `font-size 14px` + - Waybar, v15.x doesn't support `font-size 99%` +- Added: Script to disable Intel CPU Turbo feature + - `$HOME/.config/hypr/scripts/disable.cpu.turbo.sh` + - CPU turbo will often spin up the fan to max, then slowly drop back down + - Very noisy, happens randomly. 11th/12th gen notorious for this issue + - Should be added to User Startup as needed +- Fixed: Duplicate keybinds +- Fixed: `rofi beats` keybind not working + +v2.3.22 ## v2.3.22 - Fixed: Kitty font issue @@ -17,7 +82,7 @@ - Created a startup script to check for `awww-daemon` or fallback to `swww-daemon` - Suggest everyone remove `swww` and replace with `awww` - This has been done in `NixOS-Hyprland` but you have to update to current build in main branch -- FIXED: Long delay updating colors after wallpaper change +- Fixed: Long delay updating colors after wallpaper change - Added more app icons for `WaybarWorkspaces` - Emacs - Nautilus @@ -32,6 +97,11 @@ - Doesn't use `specialworkspace` anymore - Updates to Hyprland seem to break old logic - The Dropdown would flash on hide +- Fixed `all float` toggle + - Old command depreciated + - Replaced with a script `Float-All-Windows.sh` in `Keybinds.conf` file +- Fixed Package name for `waybar-weather` +- Added `scrolling` layout - Fixed all float toggle - Old command drepreciated - Replaced with a script `Float-All-Windows.sh` in `Keybinds.conf` file @@ -45,12 +115,12 @@ - Updated `ChangeLayout` script for scrolling - Requires Hyprland v0.54+ - Added two keybinds for scrolling layout as a start - - SUPERSHIFT + comma swap columns - - SUPERSHIFT + period move to next column - - SUPERALT + H Horizonal Scrolling - - SUPERALT + V Vertical Scrolling + - `SUPERSHIFT + comma` -- Swap columns + - `SUPERSHIFT + period` -- Move to next column + - `SUPERALT + H` -- Horizonal Scrolling + - `SUPERALT + V` -- Vertical Scrolling - Updated `togglesplit` to `layoutmsg,togglesplit` - - Has been depreciated, w/0.54 it's not supported + - The old format Has been depreciated, w/0.54 it's not supported - No errors just doesn't work - Fixed many of the WALLUST based waybars color issues - Foreground/background colors were same light color @@ -65,10 +135,10 @@ - TokyoNight - Changed `fastfetch` dotfiles name to `KoolDots` - ENVvariables file had both QT5CT and QT6CT variables - ` #Added style ENV for kvantum -env = QT_QPA_PLATFORMTHEME,qt6ct -env = QT_STYLE_OVERRIDE,kvantum` - > Note: Not sure how will this will work as I don't normally use kvantum + ````#Added style ENV for kvantum + env = QT_QPA_PLATFORMTHEME,qt6ct + env = QT_STYLE_OVERRIDE,kvantum``` + ```` ## v2.3.21 diff --git a/config/hypr/UserScripts/WallpaperAutoChange.sh b/config/hypr/UserScripts/WallpaperAutoChange.sh index aa6cf89e..faec6335 100755 --- a/config/hypr/UserScripts/WallpaperAutoChange.sh +++ b/config/hypr/UserScripts/WallpaperAutoChange.sh @@ -27,7 +27,7 @@ if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then exit 1 fi -# Edit below to control the images transition +# Edit below to control the images transition (swww/awww) export SWWW_TRANSITION_FPS=60 export SWWW_TRANSITION_TYPE=simple diff --git a/config/hypr/UserScripts/WallpaperEffects.sh b/config/hypr/UserScripts/WallpaperEffects.sh index 57db3532..e1c8fe83 100755 --- a/config/hypr/UserScripts/WallpaperEffects.sh +++ b/config/hypr/UserScripts/WallpaperEffects.sh @@ -24,12 +24,12 @@ fi iDIR="$HOME/.config/swaync/images" iDIRi="$HOME/.config/swaync/icons" -# swww transition config (only when using swww) +# swww/awww transition config FPS=60 TYPE="wipe" DURATION=2 BEZIER=".43,1.19,1,.4" -if [[ "$WWW" == "swww" ]]; then +if [[ "$WWW" == "swww" || "$WWW" == "awww" ]]; then SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER" else SWWW_PARAMS="" diff --git a/config/hypr/UserScripts/WallpaperRandom.sh b/config/hypr/UserScripts/WallpaperRandom.sh index db8251f2..70f051f7 100755 --- a/config/hypr/UserScripts/WallpaperRandom.sh +++ b/config/hypr/UserScripts/WallpaperRandom.sh @@ -19,12 +19,12 @@ PICS=($(find -L "${wallDIR}" -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name RANDOMPICS=${PICS[ $RANDOM % ${#PICS[@]} ]} -# Transition config (only when using swww) +# Transition config (swww/awww) FPS=30 TYPE="random" DURATION=1 BEZIER=".43,1.19,1,.4" -if [[ "$WWW_CMD" == "swww" ]]; then +if [[ "$WWW_CMD" == "swww" || "$WWW_CMD" == "awww" ]]; then SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER" else SWWW_PARAMS="" diff --git a/config/hypr/UserScripts/WallpaperSelect.sh b/config/hypr/UserScripts/WallpaperSelect.sh index 9dafdf57..31c7969a 100755 --- a/config/hypr/UserScripts/WallpaperSelect.sh +++ b/config/hypr/UserScripts/WallpaperSelect.sh @@ -21,17 +21,18 @@ wallpaper_link="$HOME/.config/rofi/.current_wallpaper" iDIR="$HOME/.config/swaync/images" iDIRi="$HOME/.config/swaync/icons" -# swww transition config (only when using swww) +# swww/awww transition config FPS=60 TYPE="any" DURATION=2 BEZIER=".43,1.19,1,.4" -if [[ "$WWW_CMD" == "swww" ]]; then +if [[ "$WWW_CMD" == "swww" || "$WWW_CMD" == "awww" ]]; then SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER" else SWWW_PARAMS="" fi + # Check if package bc exists if ! command -v bc &>/dev/null; then notify-send -i "$iDIR/error.png" "bc missing" "Install package bc first" @@ -42,6 +43,9 @@ fi rofi_theme="$HOME/.config/rofi/config-wallpaper.rasi" focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name') +per_monitor_wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current_${focused_monitor}" +per_monitor_wallpaper_link="$HOME/.config/rofi/.current_wallpaper_${focused_monitor}" + # Ensure focused_monitor is detected if [[ -z "$focused_monitor" ]]; then notify-send -i "$iDIR/error.png" "E-R-R-O-R" "Could not detect focused monitor" @@ -175,6 +179,11 @@ apply_image_wallpaper() { } "$WWW_CMD" img -o "$focused_monitor" "$image_path" $SWWW_PARAMS + # Persist per-monitor wallpaper selection + mkdir -p "$(dirname "$per_monitor_wallpaper_current")" "$(dirname "$per_monitor_wallpaper_link")" + ln -sf "$image_path" "$per_monitor_wallpaper_link" || true + cp -f "$image_path" "$per_monitor_wallpaper_current" || true + # Run additional scripts (pass the image path to avoid cache race conditions) "$SCRIPTSDIR/WallustSwww.sh" "$image_path" sleep 2 diff --git a/config/hypr/UserScripts/WeatherWrap.sh b/config/hypr/UserScripts/WeatherWrap.sh index 1e15e4a6..a95bbd51 100755 --- a/config/hypr/UserScripts/WeatherWrap.sh +++ b/config/hypr/UserScripts/WeatherWrap.sh @@ -14,15 +14,15 @@ BASH_FALLBACK="$SCRIPT_DIR/Weather.sh" # Function to check network connectivity check_network() { # Try multiple methods to check network - if ping -c1 -W2 8.8.8.8 >/dev/null 2>&1; then + if ping -c1 -W1 8.8.8.8 >/dev/null 2>&1; then return 0 fi - if ping -c1 -W2 1.1.1.1 >/dev/null 2>&1; then + if ping -c1 -W1 1.1.1.1 >/dev/null 2>&1; then return 0 fi - if curl -s --connect-timeout 3 "https://ipinfo.io" >/dev/null 2>&1; then + if curl -s --connect-timeout 2 "https://ipinfo.io" >/dev/null 2>&1; then return 0 fi diff --git a/config/hypr/configs/ENVariables.conf b/config/hypr/configs/ENVariables.conf index fd7831b8..0226d053 100644 --- a/config/hypr/configs/ENVariables.conf +++ b/config/hypr/configs/ENVariables.conf @@ -10,7 +10,7 @@ # environment-variables # Current Version of KoolDots: -env = DOTS_VERSION,2.3.22 +env = DOTS_VERSION,2.3.23 ### Toolkit Backend Variables ### env = GDK_BACKEND,wayland,x11,* diff --git a/config/hypr/configs/SystemSettings.conf b/config/hypr/configs/SystemSettings.conf index 3d8122be..6621ffe2 100644 --- a/config/hypr/configs/SystemSettings.conf +++ b/config/hypr/configs/SystemSettings.conf @@ -14,8 +14,7 @@ $scriptsDir = $HOME/.config/hypr/scripts dwindle { - pseudotile = false - preserve_split = true + preserve_split = true smart_resizing = true use_active_for_splits = true smart_split = false @@ -115,7 +114,6 @@ gestures { misc { disable_hyprland_logo = true disable_splash_rendering = true - vfr = true vrr = 2 mouse_move_enables_dpms = true enable_swallow = off diff --git a/config/hypr/configs/WindowRules-config-v3.conf b/config/hypr/configs/WindowRules-config-v3.conf index 29d5c274..aab7d005 100644 --- a/config/hypr/configs/WindowRules-config-v3.conf +++ b/config/hypr/configs/WindowRules-config-v3.conf @@ -252,6 +252,17 @@ windowrule { center = on size = (monitor_w*0.6) (monitor_h*0.6) } +# Named rule for Shelly +windowrule { + name = Shelly + match:class = ^(com.shellyorg.shelly)$ + match:title = ^(Shelly)$ + match:initial_class = ^(com.shellyorg.shelly)$ + match:initial_title = ^(Shelly)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.6) +} # Named rule for CachyOS Hello windowrule { @@ -401,3 +412,59 @@ windowrule { center = on size = (monitor_w*0.6) (monitor_h*0.6) } +# Named rule for hyprpwcenter audio control panel +windowrule { + name = hyprland audio panel + match:class = ^(hyprpwcenter)$ + match:initial_class = ^(hyprpwcenter)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.6) +} +# Named rule for Garida Assistant +windowrule { + name = Garuda Assistant + match:class = ^(garuda-assistant)$ + match:title = ^(Garuda Assistant)$ + match:initial_class = ^(garuda-assistant)$ + match:initial_title = ^(Garuda Assistant)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.6) +} + +# Named rule for HyprMod HL config GUI +windowrule { + name = HyprMod GUI + match:class = ^(com.github.hyprmod)$ + match:title = ^(HyprMod)$ + match:initial_class = ^(com.github.hyprmod)$ + match:initial_title = ^(HyprMod)$ + float = on + center = on + size = (monitor_w*0.7) (monitor_h*0.75) +} +# Named rule for easy effects +windowrule { + name = EasyEffects + match:class = ^(com.github.wwmm.easyeffects)$ + match:title = ^(Easy Effects)$ + match:initial_class = ^(com.github.wwmm.easyeffects)$ + match:initial_title = ^(Easy Effects)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.65) +} +# Named rule for Mousam weather GUI +windowrule { + name = Mousam Weather + match:class = ^(io.github.amit9838.mousam)$ + match:title = ^(Mousam)$ + match:initial_class = ^(io.github.amit9838.mousam)$ + match:initial_title = ^(Mousam)$ + float = on + center = on + size = (monitor_w*0.7) (monitor_h*0.75) +} + + diff --git a/config/hypr/configs/WindowRules.conf b/config/hypr/configs/WindowRules.conf index 29d5c274..7082d64c 100644 --- a/config/hypr/configs/WindowRules.conf +++ b/config/hypr/configs/WindowRules.conf @@ -252,6 +252,17 @@ windowrule { center = on size = (monitor_w*0.6) (monitor_h*0.6) } +# Named rule for Shelly +windowrule { + name = Shelly + match:class = ^(com.shellyorg.shelly)$ + match:title = ^(Shelly)$ + match:initial_class = ^(com.shellyorg.shelly)$ + match:initial_title = ^(Shelly)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.6) +} # Named rule for CachyOS Hello windowrule { @@ -401,3 +412,60 @@ windowrule { center = on size = (monitor_w*0.6) (monitor_h*0.6) } +# Named rule for hyprpwcenter audio control panel +windowrule { + name = hyprland audio panel + match:class = ^(hyprpwcenter)$ + match:initial_class = ^(hyprpwcenter)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.6) +} +# Named rule for Garida Assistant +windowrule { + name = Garuda Assistant + match:class = ^(garuda-assistant)$ + match:title = ^(Garuda Assistant)$ + match:initial_class = ^(garuda-assistant)$ + match:initial_title = ^(Garuda Assistant)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.6) +} + +# Named rule for HyprMod HL config GUI +windowrule { + name = HyprMod GUI + match:class = ^(com.github.hyprmod)$ + match:title = ^(HyprMod)$ + match:initial_class = ^(com.github.hyprmod)$ + match:initial_title = ^(HyprMod)$ + float = on + center = on + size = (monitor_w*0.7) (monitor_h*0.75) +} +# Named rule for easy effects +windowrule { + name = EasyEffects + match:class = ^(com.github.wwmm.easyeffects)$ + match:title = ^(Easy Effects)$ + match:initial_class = ^(com.github.wwmm.easyeffects)$ + match:initial_title = ^(Easy Effects)$ + float = on + center = on + size = (monitor_w*0.6) (monitor_h*0.65) +} + +# Named rule for Mousam weather GUI +windowrule { + name = Mousam Weather + match:class = ^(io.github.amit9838.mousam)$ + match:title = ^(Mousam)$ + match:initial_class = ^(io.github.amit9838.mousam)$ + match:initial_title = ^(Mousam)$ + float = on + center = on + size = (monitor_w*0.7) (monitor_h*0.75) +} + + diff --git a/config/hypr/hyprlock-1080p.conf b/config/hypr/hyprlock-1080p.conf index f36df9e4..b0a0279c 100644 --- a/config/hypr/hyprlock-1080p.conf +++ b/config/hypr/hyprlock-1080p.conf @@ -7,7 +7,6 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf $Scripts = $HOME/.config/hypr/scripts general { - grace = 1 fractional_scaling = 2 immediate_render = true } @@ -72,7 +71,7 @@ label { # } # Seconds-Time -#label { +# label { # monitor = ## text = cmd[update:1000] echo "$(date +"%S")" # text = cmd[update:1000] echo "$(date +"%S %p")" #AM/PM @@ -82,10 +81,10 @@ label { # position = 0, -350 # halign = center # valign = top -#} +# } # Put a picture of choice here. Default is the current wallpaper -#image { +# image { # monitor = # path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current # size = 160 @@ -97,7 +96,7 @@ label { # position = 0, 280 # halign = center # valign = bottom -} +# } # USER label { diff --git a/config/hypr/hyprlock-2k.conf b/config/hypr/hyprlock-2k.conf index 42d24d05..8c357d90 100644 --- a/config/hypr/hyprlock-2k.conf +++ b/config/hypr/hyprlock-2k.conf @@ -7,7 +7,6 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf $Scripts = $HOME/.config/hypr/scripts general { - grace = 1 fractional_scaling = 2 immediate_render = true } @@ -85,7 +84,7 @@ label { # } # Put a picture of choice here. Default is the current wallpaper -#image { +# image { # monitor = # #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current # size = 160 @@ -97,7 +96,7 @@ label { # position = 0, 400 # halign = center # valign = bottom -#} +# } # USER label { diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf index 42d24d05..8c357d90 100644 --- a/config/hypr/hyprlock.conf +++ b/config/hypr/hyprlock.conf @@ -7,7 +7,6 @@ source = $HOME/.config/hypr/wallust/wallust-hyprland.conf $Scripts = $HOME/.config/hypr/scripts general { - grace = 1 fractional_scaling = 2 immediate_render = true } @@ -85,7 +84,7 @@ label { # } # Put a picture of choice here. Default is the current wallpaper -#image { +# image { # monitor = # #path = $HOME/.config/hypr/wallpaper_effects/.wallpaper_current # size = 160 @@ -97,7 +96,7 @@ label { # position = 0, 400 # halign = center # valign = bottom -#} +# } # USER label { diff --git a/config/hypr/scripts/ChangeLayout.sh b/config/hypr/scripts/ChangeLayout.sh index f52d783f..f9f6b52b 100755 --- a/config/hypr/scripts/ChangeLayout.sh +++ b/config/hypr/scripts/ChangeLayout.sh @@ -38,7 +38,6 @@ set_layout() { hyprctl keyword unbind SUPER,up hyprctl keyword unbind SUPER,down hyprctl keyword unbind SUPER,O - hyprctl keyword unbind SUPER_SHIFT,M case "$target" in "dwindle") @@ -67,7 +66,6 @@ set_layout() { hyprctl keyword bind SUPER,up,layoutmsg,cycleprev hyprctl keyword bind SUPER,right,layoutmsg,cyclenext hyprctl keyword bind SUPER,down,layoutmsg,cyclenext - hyprctl keyword bind SUPER_SHIFT,M,layoutmsg,swapnext notify-send -e -u low -i "$notif" " Monocle Layout" ;; "master") diff --git a/config/hypr/scripts/KeyHints.sh b/config/hypr/scripts/KeyHints.sh index f00837d3..a9f6660a 100755 --- a/config/hypr/scripts/KeyHints.sh +++ b/config/hypr/scripts/KeyHints.sh @@ -10,69 +10,68 @@ BACKEND=wayland # Check if rofi or yad is running and kill them if they are -if pidof rofi > /dev/null; then +if pidof rofi >/dev/null; then pkill rofi fi -if pidof yad > /dev/null; then +if pidof yad >/dev/null; then pkill yad fi # Launch yad with calculated width and height GDK_BACKEND=$BACKEND yad \ - --center \ - --title="KooL Quick Cheat Sheet" \ - --no-buttons \ - --list \ - --column=Key: \ - --column=Description: \ - --column=Command: \ - --timeout-indicator=bottom \ -"ESC" "close this app" "" " = " "SUPER KEY (Windows Key Button)" "(SUPER KEY)" \ -" SHIFT K" "Searchable Keybinds" "(Search all Keybinds via rofi)" \ -" SHIFT E" "KooL Hyprland Settings Menu" "" \ -"" "" "" \ -" enter" "Terminal" "(kitty)" \ -" SHIFT enter" "DropDown Terminal" " Q to close" \ -" B" "Launch Browser" "(Default browser)" \ -" A" "Desktop Overview" "(AGS - if opted to install)" \ -" D" "Application Launcher" "(rofi-wayland)" \ -" E" "Open File Manager" "(Thunar)" \ -" S" "Google Search using rofi" "(rofi)" \ -" T" "Global theme switcher" "(rofi)" \ -" Q" "close active window" "(not kill)" \ -" Shift Q " "kills an active window" "(kill)" \ -" ALT mouse scroll up/down " "Desktop Zoom" "Desktop Magnifier" \ -" Alt V" "Clipboard Manager" "(cliphist)" \ -" W" "Choose wallpaper" "(Wallpaper Menu)" \ -" Shift W" "Choose wallpaper effects" "(imagemagick + awww)" \ -"CTRL ALT W" "Random wallpaper" "(via awww)" \ -" CTRL ALT B" "Hide/UnHide Waybar" "waybar" \ -" CTRL B" "Choose waybar styles" "(waybar styles)" \ -" ALT B" "Choose waybar layout" "(waybar layout)" \ -" ALT R" "Reload Waybar swaync Rofi" "CHECK NOTIFICATION FIRST!!!" \ -" SHIFT N" "Launch Notification Panel" "swaync Notification Center" \ -" Print" "screenshot" "(grim)" \ -" Shift Print" "screenshot region" "(grim + slurp)" \ -" Shift S" "screenshot region" "(swappy)" \ -" CTRL Print" "screenshot timer 5 secs " "(grim)" \ -" CTRL SHIFT Print" "screenshot timer 10 secs " "(grim)" \ -"ALT Print" "Screenshot active window" "active window only" \ -"CTRL ALT P" "power-menu" "(wlogout)" \ -"CTRL ALT L" "screen lock" "(hyprlock)" \ -"CTRL ALT Del" "Hyprland Exit" "(NOTE: Hyprland Will exit immediately)" \ -" SHIFT F" "Fullscreen" "Toggles to full screen" \ -" CTL F" "Fake Fullscreen" "Toggles to fake full screen" \ -" ALT L" "Toggle Dwindle | Master Layout" "Hyprland Layout" \ -" SPACEBAR" "Toggle float" "single window" \ -" ALT SPACEBAR" "Toggle all windows to float" "all windows" \ -" ALT O" "Toggle Blur" "normal or less blur" \ -" CTRL O" "Toggle Opaque ON or OFF" "on active window only" \ -" Shift A" "Animations Menu" "Choose Animations via rofi" \ -" CTRL R" "Rofi Themes Menu" "Choose Rofi Themes via rofi" \ -" CTRL Shift R" "Rofi Themes Menu v2" "Choose Rofi Themes via Theme Selector (modified)" \ -" SHIFT G" "Gamemode! All animations OFF or ON" "toggle" \ -" ALT E" "Rofi Emoticons" "Emoticon" \ -" H" "Launch this Quick Cheat Sheet" "" \ -"" "" "" \ -"More tips:" "https://github.com/LinuxBeginnings/Hyprland-Dots/wiki" ""\ + --center \ + --title="KooL Quick Cheat Sheet" \ + --no-buttons \ + --list \ + --column=Key: \ + --column=Description: \ + --column=Comment: \ + --timeout-indicator=bottom \ + "ESC" "close this app" "" " = " "SUPER KEY (Windows Key Button)" "(SUPER KEY)" \ + " SHIFT K" "Searchable Keybinds" "(Search all Keybinds via rofi)" \ + " SHIFT E" "KooL Hyprland Settings Menu" "WindowRules,themes,defaults, etc" \ + " enter" "Terminal" "(Default:kitty)" \ + " SHIFT enter" "DropDown Terminal" " Q to close" \ + " B" "Launch Browser" "(Default browser)" \ + " A" "Desktop Overview" "Shows open apps in workspaces" \ + " D" "Application Launcher" "(rofi-wayland)" \ + " E" "Open File Manager" "(Thunar)" \ + " S" "Google Search using rofi" "(rofi)" \ + " T" "Global theme switcher" "(rofi)" \ + " Q" "close active window" "(not kill)" \ + " Shift Q " "kills an active window" "(kill)" \ + " ALT mouse scroll up/down " "Desktop Zoom" "Desktop Magnifier" \ + " Alt V" "Clipboard Manager" "(cliphist)" \ + " W" "Choose wallpaper" "(Wallpaper Menu)" \ + " Shift W" "Choose wallpaper effects" "(imagemagick + awww)" \ + "CTRL ALT W" "Random wallpaper" "(via awww)" \ + " CTRL ALT B" "Hide/UnHide Waybar" "waybar" \ + " CTRL B" "Choose waybar styles" "(waybar styles)" \ + " ALT B" "Choose waybar layout" "(waybar layout)" \ + " ALT R" "Reload Waybar swaync Rofi" "CHECK NOTIFICATION FIRST!!!" \ + " SHIFT N" "Launch Notification Panel" "swaync Notification Center" \ + " Print" "screenshot" "(grim)" \ + " Shift Print" "screenshot region" "(grim + slurp)" \ + " Shift S" "screenshot region" "(swappy)" \ + " CTRL Print" "screenshot timer 5 secs " "(grim)" \ + " CTRL SHIFT Print" "screenshot timer 10 secs " "(grim)" \ + "ALT Print" "Screenshot active window" "active window only" \ + "CTRL ALT P" "power-menu" "(wlogout)" \ + "CTRL ALT L" "screen lock" "(hyprlock)" \ + "CTRL ALT Del" "Hyprland Exit" "(NOTE: Hyprland Will exit immediately)" \ + " SHIFT F" "Fullscreen" "Toggles to full screen" \ + " CTL F" "Fake Fullscreen" "Toggles to fake full screen" \ + " ALT L" "Toggle Dwindle|Floating|Monocle|Master layouts" "Hyprland Layouts" \ + " SPACEBAR" "Toggle float" "single window" \ + " ALT SPACEBAR" "Toggle all windows to float" "all windows" \ + " ALT O" "Toggle Blur" "normal or less blur" \ + " CTRL O" "Toggle Opaque ON or OFF" "on active window only" \ + " Shift A" "Animations Menu" "Choose Animations via rofi" \ + " CTRL R" "Rofi Themes Menu" "Choose Rofi Themes via rofi" \ + " CTRL Shift R" "Rofi Themes Menu v2" "Choose Rofi Themes via Theme Selector (modified)" \ + " SHIFT G" "Gamemode! All animations OFF or ON" "toggle" \ + " ALT E" "Rofi Emoticons" "Emoticon" \ + " H" "Launch this Quick Cheat Sheet" "" \ + "" "" "" \ + "More tips:" "https://github.com/LinuxBeginnings/Hyprland-Dots/wiki" "" diff --git a/config/hypr/scripts/LockScreen.sh b/config/hypr/scripts/LockScreen.sh index a7b27ad9..b795a8f7 100755 --- a/config/hypr/scripts/LockScreen.sh +++ b/config/hypr/scripts/LockScreen.sh @@ -10,7 +10,7 @@ #pidof hyprlock || hyprlock -q # Ensure weather cache is up-to-date before locking (Waybar/lockscreen readers) -bash "$HOME/.config/hypr/UserScripts/WeatherWrap.sh" >/dev/null 2>&1 +bash "$HOME/.config/hypr/UserScripts/WeatherWrap.sh" >/dev/null 2>&1 & loginctl lock-session diff --git a/config/hypr/scripts/Polkit-Diag.sh b/config/hypr/scripts/Polkit-Diag.sh new file mode 100755 index 00000000..0f32b640 --- /dev/null +++ b/config/hypr/scripts/Polkit-Diag.sh @@ -0,0 +1,521 @@ +#!/usr/bin/env bash +# ================================================== +# KoolDots (2026) +# Project URL: https://github.com/LinuxBeginnings +# License: GNU GPLv3 +# SPDX-License-Identifier: GPL-3.0-or-later +# ================================================== +# 💫 https://github.com/LinuxBeginnings 💫 # +# Polkit Diagnostic & Triage Script # + +# Default values +OUTFILE="$HOME/Downloads/Polkit-diag.txt" +DRY_RUN=0 +INSTALL_OVERRIDE=0 +FORCE_OVERRIDE=0 + +# Systemd override details for hyprpolkitagent +OVERRIDE_DIR="$HOME/.config/systemd/user/hyprpolkitagent.service.d" +OVERRIDE_FILE="$OVERRIDE_DIR/override.conf" + +OVERRIDE_CONTENT="[Unit] +After= +After=dbus.service graphical-session.target +PartOf=graphical-session.target + +[Install] +WantedBy=graphical-session.target" + +print_help() { + cat << EOF +Usage: $(basename "$0") [OPTIONS] +Gather diagnostic information for polkit issues and optionally apply a systemd override. +This script is modular and extensible for different Linux distributions. + +Options: + -h, --help Show this help message and exit + -d, --dry-run Run without making changes (output to stdout instead of file) + --install-override Install the systemd override for hyprpolkitagent if not already present + --force-override Overwrite the existing systemd override for hyprpolkitagent + -o, --output FILE Specify custom output file (default: $HOME/Downloads/Polkit-diag.txt) +EOF +} + +setup_output() { + if [[ $DRY_RUN -eq 1 ]]; then + echo "=================================================" + echo " [Dry Run] Diagnostics will be printed to stdout." + echo "=================================================" + exec 3>&1 + else + local outdir + outdir=$(dirname "$OUTFILE") + + # Check and create directory if it doesn't exist + if [[ ! -d "$outdir" ]]; then + echo "Directory $outdir does not exist. Creating..." + mkdir -p "$outdir" + fi + + # Backup existing file + if [[ -f "$OUTFILE" ]]; then + local backup_file="${OUTFILE}.bak.$(date +%Y%m%d%H%M%S)" + echo "Existing output file found. Backing up to: $backup_file" + mv "$OUTFILE" "$backup_file" + fi + + echo "Diagnostics will be saved to: $OUTFILE" + exec 3> "$OUTFILE" + fi +} + +apply_override() { + if [[ $INSTALL_OVERRIDE -eq 1 ]]; then + local msg="\n=== Systemd Override for hyprpolkitagent ===" + [[ $DRY_RUN -eq 0 ]] && echo -e "$msg" >&3 + echo -e "$msg" + + local out + if systemctl --user is-enabled hyprpolkitagent.service >/dev/null 2>&1; then + msg="[STATUS] hyprpolkitagent.service is currently enabled." + else + msg="[STATUS] hyprpolkitagent.service is NOT enabled. You may need to enable it." + fi + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3 + echo "$msg" + + if [[ -f "$OVERRIDE_FILE" && $FORCE_OVERRIDE -eq 0 ]]; then + msg="[INFO] Override already exists at $OVERRIDE_FILE." + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3; echo "$msg" + msg="[ACTION] Use --force-override to overwrite it." + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3; echo "$msg" + else + if [[ -f "$OVERRIDE_FILE" && $FORCE_OVERRIDE -eq 1 ]]; then + msg="[CONFIRM] Force override requested. Overwriting existing override..." + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3; echo "$msg" + fi + + msg="[ACTION] Installing override to $OVERRIDE_FILE..." + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3; echo "$msg" + + if [[ $DRY_RUN -eq 0 ]]; then + # Capture dir creation + if out=$(mkdir -p "$OVERRIDE_DIR" 2>&1); then + msg=" [OK] Created/verified directory $OVERRIDE_DIR." + else + msg=" [ERROR] Failed to create directory $OVERRIDE_DIR.\n Details: $out" + fi + echo -e "$msg" >&3; echo -e "$msg" + + # Capture file write + if out=$(echo "$OVERRIDE_CONTENT" > "$OVERRIDE_FILE" 2>&1); then + msg=" [OK] Successfully wrote override file." + else + msg=" [ERROR] Failed to write override file.\n Details: $out" + fi + echo -e "$msg" >&3; echo -e "$msg" + + # Capture daemon-reload + if out=$(systemctl --user daemon-reload 2>&1); then + msg=" [OK] Systemd daemon reloaded." + else + msg=" [ERROR] Failed to reload systemd daemon.\n Details: $out" + fi + echo -e "$msg" >&3; echo -e "$msg" + + # Capture restart + if systemctl --user is-active --quiet hyprpolkitagent.service; then + msg="[ACTION] Restarting hyprpolkitagent.service..." + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3; echo "$msg" + + if out=$(systemctl --user restart hyprpolkitagent.service 2>&1); then + msg=" [OK] Service restarted successfully." + else + msg=" [ERROR] Failed to restart service.\n Details: $out" + fi + echo -e "$msg" >&3; echo -e "$msg" + else + msg="[INFO] Service is not currently active, skipping restart step." + [[ $DRY_RUN -eq 0 ]] && echo "$msg" >&3; echo "$msg" + fi + else + msg="[Dry Run] Would create $OVERRIDE_FILE and reload systemd daemon." + echo "$msg" + fi + fi + fi +} + +gather_general_info() { + echo -e "\n=======================================" >&3 + echo -e " General System Information" >&3 + echo -e "=======================================" >&3 + echo "Date: $(date)" >&3 + echo -e "\n--- Kernel ---" >&3 + uname -a >&3 + + echo -e "\n--- OS Release ---" >&3 + cat /etc/os-release >&3 + + echo -e "\n=======================================" >&3 + echo -e " Polkit Service Status" >&3 + echo -e "=======================================" >&3 + + echo -e "\n--- System Polkit Service ---" >&3 + systemctl status polkit.service --no-pager >&3 2>&1 || true + + echo -e "\n--- User Hyprpolkitagent Service ---" >&3 + systemctl --user status hyprpolkitagent.service --no-pager >&3 2>&1 || true + + echo -e "\n--- Running Polkit Processes ---" >&3 + local polkit_procs + polkit_procs=$(ps aux | grep -i '[p]olkit') + if [[ -n "$polkit_procs" ]]; then + echo "$polkit_procs" >&3 + + # Check for conflicting agents + local kde_agent_running=0 + local gnome_agent_running=0 + local hypr_agent_running=0 + + if echo "$polkit_procs" | grep -q "polkit-kde-authentication-agent-1"; then + kde_agent_running=1 + fi + if echo "$polkit_procs" | grep -q "polkit-gnome-authentication-agent-1"; then + gnome_agent_running=1 + fi + if echo "$polkit_procs" | grep -q "hyprpolkitagent"; then + hypr_agent_running=1 + fi + + if [[ $hypr_agent_running -eq 1 && ($kde_agent_running -eq 1 || $gnome_agent_running -eq 1) ]]; then + echo -e "\n[!] CONFLICT DETECTED: Multiple polkit agents are running!" >&3 + echo " Hyprpolkitagent is running alongside another desktop environment's agent." >&3 + echo " Only ONE polkit agent can be registered at a time." >&3 + if [[ $kde_agent_running -eq 1 ]]; then + echo " -> Found KDE polkit agent. You may need to disable it in Hyprland by adding 'NotShowIn=Hyprland;' to its autostart .desktop file." >&3 + fi + if [[ $gnome_agent_running -eq 1 ]]; then + echo " -> Found GNOME polkit agent. You may need to disable it in Hyprland." >&3 + fi + elif [[ $kde_agent_running -eq 1 && $hypr_agent_running -eq 0 ]]; then + echo -e "\n[!] WARNING: KDE polkit agent is running instead of hyprpolkitagent." >&3 + echo " This can cause 'authentication agent already exists' errors if hyprpolkitagent tries to start later." >&3 + fi + else + echo "No polkit processes found running." >&3 + fi + + echo -e "\n=======================================" >&3 + echo -e " Recent Logs" >&3 + echo -e "=======================================" >&3 + + echo -e "\n--- Journalctl (polkit.service) [Last 50 entries, warnings/errors] ---" >&3 + journalctl -u polkit.service -n 50 --no-pager -p 4 >&3 2>&1 || echo "Could not fetch system polkit logs." >&3 + + echo -e "\n--- Journalctl (hyprpolkitagent.service) [Last 50 entries] ---" >&3 + journalctl --user -u hyprpolkitagent.service -n 50 --no-pager >&3 2>&1 || echo "Could not fetch user hyprpolkitagent logs." >&3 +} + +# --- Modular Package Checking System --- +check_packages() { + local check_cmd="$1" + local install_msg="$2" + shift 2 + local pkgs=("$@") + + local missing_pkgs=() + for pkg in "${pkgs[@]}"; do + local out + if out=$(eval "$check_cmd \"$pkg\"" 2>/dev/null); then + # Print the first line of output as the installed info + echo "[INSTALLED] $(echo "$out" | head -n 1)" >&3 + else + echo "[MISSING] $pkg" >&3 + missing_pkgs+=("$pkg") + fi + done + + if [[ ${#missing_pkgs[@]} -gt 0 ]]; then + echo -e "\nWARNING: The following packages are missing:" >&3 + for mpkg in "${missing_pkgs[@]}"; do + echo " - $mpkg" >&3 + done + echo "$install_msg ${missing_pkgs[*]}" >&3 + return 1 + fi + return 0 +} +check_source_binaries() { + local bin_dir="$1" + shift + local bins=("$@") + local found_any=0 + + echo -e "\n--- Source Builds (${bin_dir}) ---" >&3 + for bin in "${bins[@]}"; do + if [[ -x "${bin_dir}/${bin}" ]]; then + echo "[SOURCE] ${bin_dir}/${bin}" >&3 + found_any=1 + else + echo "[MISSING] ${bin_dir}/${bin}" >&3 + fi + done + + return $found_any +} + +gather_arch_info() { + echo -e "\n=======================================" >&3 + echo -e " Package Info (Arch Linux)" >&3 + echo -e "=======================================" >&3 + + # Essential packages required for polkit & related UI + local pkgs=( + "qt5-declarative" + "qt5-quickcontrols2" + "qt6-declarative" + "hyprpolkitagent" + "polkit" + ) + + local aur_pkgs=( + "xfce-polkit" + ) + + local missing_any=0 + + echo -e "\n--- Official Repositories ---" >&3 + check_packages "pacman -Q" "Install official packages by running: sudo pacman -S" "${pkgs[@]}" || missing_any=1 + + echo -e "\n--- AUR ---" >&3 + check_packages "pacman -Q" "Install AUR packages by running: yay -S" "${aur_pkgs[@]}" || missing_any=1 + + if [[ $missing_any -eq 0 ]]; then + echo -e "\nSUCCESS: All expected packages are installed." >&3 + fi +} +gather_ubuntu_info() { + echo -e "\n=======================================" >&3 + echo -e " Package Info (Ubuntu/PPA)" >&3 + echo -e "=======================================" >&3 + + # Essential packages required for polkit & related UI + local pkgs=( + "qml-module-qtqml" + "qml-module-qtquick2" + "qml-module-qtquick-controls" + "qml-module-qtquick-controls2" + "qml-module-qtquick-layouts" + "qml6-module-qtqml" + "qml6-module-qtquick" + "qml6-module-qtquick-controls" + "hyprpolkitagent" + "polkit" + ) + + local extra_pkgs=( + "xfce-polkit" + "polkit-kde-agent-1" + "mate-polkit" + ) + + local missing_any=0 + + echo -e "\n--- Official Repositories / PPA ---" >&3 + check_packages "dpkg -s" "Install packages by running: sudo apt install" "${pkgs[@]}" || missing_any=1 + + echo -e "\n--- Extra/Alternative ---" >&3 + check_packages "dpkg -s" "Install extra packages by running: sudo apt install" "${extra_pkgs[@]}" || missing_any=1 + echo "[INFO] lxqt-polkit (optional) — large dependency set." >&3 + + if [[ $missing_any -eq 0 ]]; then + echo -e "\nSUCCESS: All expected packages are installed." >&3 + fi +} +gather_debian_info() { + echo -e "\n=======================================" >&3 + echo -e " Package Info (Debian/Ubuntu)" >&3 + echo -e "=======================================" >&3 + + local source_bins=( + "hyprpolkitagent" + ) + + local source_found=0 + if check_source_binaries "/usr/local/bin" "${source_bins[@]}"; then + source_found=1 + fi + + # Essential packages required for polkit & related UI + local pkgs=( + "qml-module-qtqml" + "qml-module-qtquick2" + "qml-module-qtquick-controls" + "qml-module-qtquick-controls2" + "qml-module-qtquick-layouts" + "qml6-module-qtqml" + "qml6-module-qtquick" + "qml6-module-qtquick-controls" + "polkit" + ) + + local extra_pkgs=( + "xfce4-polkit" + "lxqt-policykit" + "polkit-kde-agent-1" + "mate-polkit" + ) + + local missing_any=0 + + echo -e "\n--- Official Repositories ---" >&3 + if [[ $source_found -eq 0 ]]; then + pkgs+=("hyprpolkitagent") + else + echo "[INFO] hyprpolkitagent found in /usr/local/bin (source build). Skipping dpkg check for it." >&3 + fi + check_packages "dpkg -s" "Install packages by running: sudo apt install" "${pkgs[@]}" || missing_any=1 + + echo -e "\n--- Extra/Alternative ---" >&3 + check_packages "dpkg -s" "Install extra packages by running: sudo apt install" "${extra_pkgs[@]}" || missing_any=1 + + if [[ $missing_any -eq 0 ]]; then + echo -e "\nSUCCESS: All expected packages are installed." >&3 + fi +} + +gather_fedora_info() { + echo -e "\n=======================================" >&3 + echo -e " Package Info (Fedora)" >&3 + echo -e "=======================================" >&3 + + # Essential packages required for polkit & related UI + local pkgs=( + "qt5-qtdeclarative" + "qt5-qtquickcontrols2" + "qt6-qtdeclarative" + "hyprpolkitagent" + "polkit" + ) + + local extra_pkgs=( + "xfce-polkit" + ) + + local missing_any=0 + + echo -e "\n--- Official Repositories ---" >&3 + check_packages "rpm -q" "Install packages by running: sudo dnf install" "${pkgs[@]}" || missing_any=1 + + echo -e "\n--- Extra/Alternative ---" >&3 + check_packages "rpm -q" "Install extra packages by running: sudo dnf install" "${extra_pkgs[@]}" || missing_any=1 + + if [[ $missing_any -eq 0 ]]; then + echo -e "\nSUCCESS: All expected packages are installed." >&3 + fi +} + +detect_os() { + if [ -f /etc/os-release ]; then + . /etc/os-release + OS=$ID + else + OS="unknown" + fi +} + +# ---------------------------------------------------------------------------- +# Main Execution +# ---------------------------------------------------------------------------- + +# Parse arguments +while [[ "$#" -gt 0 ]]; do + case "$1" in + -h|--help) + print_help + exit 0 + ;; + -d|--dry-run) + DRY_RUN=1 + ;; + --install-override) + INSTALL_OVERRIDE=1 + ;; + --force-override) + FORCE_OVERRIDE=1 + INSTALL_OVERRIDE=1 + ;; + -o|--output) + if [[ -n "$2" && "$2" != -* ]]; then + OUTFILE="$2" + shift + else + echo "Error: Argument for $1 is missing" >&2 + exit 1 + fi + ;; + *) + echo "Unknown option: $1" >&2 + print_help + exit 1 + ;; + esac + shift +done + +setup_output + +echo "Starting Polkit Diagnostic Script..." >&3 + +# Optional apply override logic +if [[ $INSTALL_OVERRIDE -eq 1 ]]; then + apply_override +fi + +# Gather general info +gather_general_info + +# Gather OS-specific package info +detect_os +case "$OS" in + arch|artix|manjaro|endeavouros|cachyos) + gather_arch_info + ;; + debian) + gather_debian_info + ;; + ubuntu|pop|linuxmint) + gather_ubuntu_info + ;; + fedora) + gather_fedora_info + ;; + opensuse*) + echo -e "\n=======================================" >&3 + echo -e " Package Info ($OS)" >&3 + echo -e "=======================================" >&3 + echo "OpenSUSE package check is pending implementation." >&3 + ;; + nixos) + echo -e "\n=======================================" >&3 + echo -e " Package Info ($OS)" >&3 + echo -e "=======================================" >&3 + echo "NixOS configuration check is pending implementation." >&3 + ;; + *) + echo -e "\n=======================================" >&3 + echo -e " Package Info" >&3 + echo -e "=======================================" >&3 + echo "Unknown or unsupported OS: $OS. Skipping package checks." >&3 + ;; +esac + +echo -e "\nDiagnostics completed at $(date)" >&3 + +if [[ $DRY_RUN -eq 0 ]]; then + echo "=================================================" + echo " Diagnostic gathering complete!" + echo " Please review the output file: $OUTFILE" + echo "=================================================" +fi diff --git a/config/hypr/scripts/Polkit.sh b/config/hypr/scripts/Polkit.sh index 768747ab..f09c9e1f 100755 --- a/config/hypr/scripts/Polkit.sh +++ b/config/hypr/scripts/Polkit.sh @@ -21,12 +21,23 @@ fi if [ -z "${QT_QUICK_CONTROLS_STYLE:-}" ]; then export QT_QUICK_CONTROLS_STYLE=Basic fi -if [ -z "${QT_STYLE_OVERRIDE:-}" ]; then + +# Check if kvantum is specified globally but the QML module is missing +if [[ "${QT_STYLE_OVERRIDE:-}" == "kvantum" ]] || [[ "${QT_STYLE_OVERRIDE:-}" == "kvantum-dark" ]]; then + # Check common Qt5/Qt6 QML directories for the Kvantum module + if ! find /usr/lib /usr/lib64 /usr/share -type d -path "*/qml/*/kvantum" -print -quit 2>/dev/null | grep -q .; then + echo "Kvantum QML module not found. Overriding QT_STYLE_OVERRIDE for Polkit to prevent crash." + export QT_STYLE_OVERRIDE=Fusion + fi +elif [ -z "${QT_STYLE_OVERRIDE:-}" ]; then export QT_STYLE_OVERRIDE=Fusion fi # List of potential Polkit agent file paths (preferred order) polkit=( + "/usr/libexec/hyprpolkitagent" + "/usr/lib/hyprpolkitagent" + "/usr/lib/hyprpolkitagent/hyprpolkitagent" "/usr/bin/xfce-polkit" "/usr/lib/xfce4/polkit-agent/xfce-polkit" "/usr/libexec/xfce-polkit" @@ -39,9 +50,6 @@ polkit=( "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1" "/usr/lib/polkit-kde-authentication-agent-1" "/usr/libexec/polkit-kde-authentication-agent-1" - "/usr/libexec/hyprpolkitagent" - "/usr/lib/hyprpolkitagent" - "/usr/lib/hyprpolkitagent/hyprpolkitagent" ) executed=false diff --git a/config/hypr/scripts/WallpaperDaemon.sh b/config/hypr/scripts/WallpaperDaemon.sh index fc7f71c0..4d1c6e86 100755 --- a/config/hypr/scripts/WallpaperDaemon.sh +++ b/config/hypr/scripts/WallpaperDaemon.sh @@ -23,44 +23,83 @@ done wallpaper_link="$HOME/.config/rofi/.current_wallpaper" wallpaper_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current" -wallpaper_path="" -# Prefer the symlink target if it's valid -if [ -L "$wallpaper_link" ]; then - resolved="$(readlink -f "$wallpaper_link")" - if [ -n "$resolved" ] && [ -f "$resolved" ]; then - wallpaper_path="$resolved" +read_cached_wallpaper() { + local cache_file="$1" + [ -f "$cache_file" ] || return 1 + awk 'NF && $0 !~ /^filter/ {print; exit}' "$cache_file" +} + +get_monitors() { + if command -v jq >/dev/null 2>&1; then + hyprctl monitors -j | jq -r '.[].name' + else + hyprctl monitors | awk '/^Monitor/{print $2}' fi -fi +} -# Fall back to link file or copied current wallpaper -if [ -z "$wallpaper_path" ] && [ -f "$wallpaper_link" ]; then - wallpaper_path="$wallpaper_link" -fi -if [ -z "$wallpaper_path" ] && [ -f "$wallpaper_current" ]; then - wallpaper_path="$wallpaper_current" -fi +apply_wallpaper_for_monitor() { + local monitor="$1" + local per_monitor_link="$HOME/.config/rofi/.current_wallpaper_${monitor}" + local per_monitor_current="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current_${monitor}" + local wallpaper_path="" -# Last resort: use cached swww/awww wallpaper paths -if [ -z "$wallpaper_path" ]; then - for cache_dir in "$HOME/.cache/awww" "$HOME/.cache/swww"; do - [ -d "$cache_dir" ] || continue - for cache_file in "$cache_dir"/*; do - [ -f "$cache_file" ] || continue - candidate="$(awk 'NF && $0 !~ /^filter/ {print; exit}' "$cache_file")" - if [ -n "$candidate" ] && [ -f "$candidate" ]; then - wallpaper_path="$candidate" - break - fi - done - [ -n "$wallpaper_path" ] && break - done -fi + # Prefer per-monitor symlink target if valid + if [ -L "$per_monitor_link" ]; then + local resolved + resolved="$(readlink -f "$per_monitor_link")" + if [ -n "$resolved" ] && [ -f "$resolved" ]; then + wallpaper_path="$resolved" + fi + fi -if [ -n "$wallpaper_path" ] && [ -f "$wallpaper_path" ]; then - if ! "$WWW_CMD" img "$wallpaper_path" >/dev/null 2>&1; then - # Retry once after a short delay - sleep 0.3 - "$WWW_CMD" img "$wallpaper_path" >/dev/null 2>&1 & + # Fall back to per-monitor files + if [ -z "$wallpaper_path" ] && [ -f "$per_monitor_link" ]; then + wallpaper_path="$per_monitor_link" fi -fi + if [ -z "$wallpaper_path" ] && [ -f "$per_monitor_current" ]; then + wallpaper_path="$per_monitor_current" + fi + + # Fall back to global files + if [ -z "$wallpaper_path" ] && [ -L "$wallpaper_link" ]; then + local resolved_global + resolved_global="$(readlink -f "$wallpaper_link")" + if [ -n "$resolved_global" ] && [ -f "$resolved_global" ]; then + wallpaper_path="$resolved_global" + fi + fi + if [ -z "$wallpaper_path" ] && [ -f "$wallpaper_link" ]; then + wallpaper_path="$wallpaper_link" + fi + if [ -z "$wallpaper_path" ] && [ -f "$wallpaper_current" ]; then + wallpaper_path="$wallpaper_current" + fi + + # Last resort: use per-monitor cache + if [ -z "$wallpaper_path" ]; then + local cache_file="$WWW_CACHE_DIR/$monitor" + local cache_fallback="" + if [ "$WWW_CACHE_DIR" = "$HOME/.cache/awww" ]; then + cache_fallback="$HOME/.cache/swww/$monitor" + else + cache_fallback="$HOME/.cache/awww/$monitor" + fi + wallpaper_path="$(read_cached_wallpaper "$cache_file")" + if [ -z "$wallpaper_path" ] && [ -n "$cache_fallback" ]; then + wallpaper_path="$(read_cached_wallpaper "$cache_fallback")" + fi + fi + + if [ -n "$wallpaper_path" ] && [ -f "$wallpaper_path" ]; then + if ! "$WWW_CMD" img -o "$monitor" "$wallpaper_path" >/dev/null 2>&1; then + sleep 0.3 + "$WWW_CMD" img -o "$monitor" "$wallpaper_path" >/dev/null 2>&1 & + fi + fi +} + +while read -r monitor; do + [ -n "$monitor" ] || continue + apply_wallpaper_for_monitor "$monitor" +done < <(get_monitors) diff --git a/config/hypr/v2.3.23 b/config/hypr/v2.3.23 new file mode 100644 index 00000000..51de9972 --- /dev/null +++ b/config/hypr/v2.3.23 @@ -0,0 +1,5 @@ +### https://github.com/LinuxBeginnings ### +## https://github.com/LinuxBeginnings/Hyprland-Dots +## This is to have a reference of which version would be + +## note that this will always be higher than the released versions
\ No newline at end of file diff --git a/config/rofi/0-shared-fonts.rasi b/config/rofi/0-shared-fonts.rasi index 4c300e0e..ba546b52 100644 --- a/config/rofi/0-shared-fonts.rasi +++ b/config/rofi/0-shared-fonts.rasi @@ -1,5 +1,5 @@ /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ -/* Ja KooLit - Global rofi fonts */ +/* KoolDots - Global rofi fonts */ /* This is where you can change fonts and sizes */ @@ -13,4 +13,4 @@ configuration { /*****-- Elements Font Size -----*****/ element-text { font: "JetBrainsMono Nerd Font SemiBold 13"; -}
\ No newline at end of file +} diff --git a/config/rofi/config.rasi b/config/rofi/config.rasi index e81dd459..f1280a95 100644 --- a/config/rofi/config.rasi +++ b/config/rofi/config.rasi @@ -1,5 +1,5 @@ /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ -/* Ja KooLit - Default +/* dKoolDots - Default * All main themes or configs are located in ~/.config/rofi/themes/ * If you want to edit the config, that is where you should edit NOT here diff --git a/config/systemd/user/hyprpolkitagent.service.d/override.conf b/config/systemd/user/hyprpolkitagent.service.d/override.conf index 04840d90..a0d034d9 100644 --- a/config/systemd/user/hyprpolkitagent.service.d/override.conf +++ b/config/systemd/user/hyprpolkitagent.service.d/override.conf @@ -1,7 +1,7 @@ [Unit] After= -After=dbus.service -PartOf= +After=dbus.service graphical-session.target +PartOf=graphical-session.target [Install] -WantedBy=default.target +WantedBy=graphical-session.target diff --git a/config/waybar/ModulesCustom b/config/waybar/ModulesCustom index 3abb96d4..f3e49da4 100644 --- a/config/waybar/ModulesCustom +++ b/config/waybar/ModulesCustom @@ -24,6 +24,7 @@ "return-type": "json", "hide-empty-text": true, "on-click": "pkill -USR1 waybar-weather" + // "on-click": "flatpak run io.github.amit9838.mousam" }, "custom/hyprpicker": { diff --git a/config/waybar/ModulesWorkspaces b/config/waybar/ModulesWorkspaces index c9497b74..15f5da5b 100644 --- a/config/waybar/ModulesWorkspaces +++ b/config/waybar/ModulesWorkspaces @@ -207,6 +207,7 @@ "class<[Tt]elegram-desktop|org.telegram.desktop|io.github.tdesktop_x64.TDesktop>": " ", "class<discord|discord-canary|[Ww]ebcord|[Vv]esktop|com.discordapp.Discord|dev.vencord.Vesktop>": " ", + "class<app.fluxer.Fluxer>": " ", "class<[Ss]ignal|signal-desktop|org.signal.Signal>": " ", "title<.*Signal.*>": " ", "title<.*whatsapp.*>": " ", @@ -230,6 +231,7 @@ "class<vlc>": " ", "class<[Kk]denlive|org.kde.kdenlive>": "🎬 ", "title<.*Kdenlive.*>": "🎬 ", + "class<com.github.wwmm.easyeffects>": " ", "title<.*cmus.*>": " ", "class<[Ss]potify>": " ", "class<Plex>": " ", @@ -265,12 +267,17 @@ "class<obs|com.obsproject.Studio>": " ", "class<polkit-gnome-authentication-agent-1>": " ", + "class<hyprpolkitagent>": " ", + "class<com.github.hyprmod>": " ", "class<nwg-look>": " ", + "class<vswaybar-studio>": " ", "class<nwg-displays>": " ", "class<[Pp]avucontrol|org.pulseaudio.pavucontrol>": " ", "class<steam>": " ", "class<thunar|nemo|org.gnome.Nautilus>": " ", "class<Gparted>":"", + "class<timeshift-gtk>":"", + "class<btrfs-assistant>":"", "class<gimp>": " ", "class<emulator>": "📱 ", "class<android-studio>": " ", @@ -278,6 +285,7 @@ "class<localsend>":"", "class<PrusaSlicer|UltiMaker-Cura|OrcaSlicer>": "", "class<nvidia-settings>": " ", + "class<com.shellyorg.shelly>": " ", "class<io.github.kolunmi.Bazaar>": " ", "title<^Bazaar$>": " ", diff --git a/config/waybar/style/0-VERTICAL-Catpuccin-Mocha.css b/config/waybar/style/0-VERTICAL-Catpuccin-Mocha.css index 66663a76..e699cc65 100644 --- a/config/waybar/style/0-VERTICAL-Catpuccin-Mocha.css +++ b/config/waybar/style/0-VERTICAL-Catpuccin-Mocha.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,6 +17,8 @@ window#waybar { background-color: @base; border-radius: 5px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -27,8 +30,11 @@ tooltip { border-color: @sapphire; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @blue; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #taskbar button, @@ -224,6 +230,8 @@ tooltip label { window#waybar.bottombar #backlight-slider trough, window#waybar.bottombar #pulseaudio-slider trough { min-height: 7px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #backlight-slider highlight, diff --git a/config/waybar/style/0-VERTICAL-Golden-Noir.css b/config/waybar/style/0-VERTICAL-Golden-Noir.css index 1fa6babb..61db3fd5 100644 --- a/config/waybar/style/0-VERTICAL-Golden-Noir.css +++ b/config/waybar/style/0-VERTICAL-Golden-Noir.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,10 +17,14 @@ window#waybar { border-radius: 30px; color: #cba6f7; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -209,6 +214,8 @@ tooltip { window#waybar.bottombar #backlight-slider trough, window#waybar.bottombar #pulseaudio-slider trough { min-height: 7px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #backlight-slider highlight, diff --git a/config/waybar/style/0-VERTICAL-Oglo-Chicklets.css b/config/waybar/style/0-VERTICAL-Oglo-Chicklets.css index 39a2cb47..0403cb10 100644 --- a/config/waybar/style/0-VERTICAL-Oglo-Chicklets.css +++ b/config/waybar/style/0-VERTICAL-Oglo-Chicklets.css @@ -3,6 +3,7 @@ * { font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-weight: bold; } @@ -13,18 +14,26 @@ window#waybar { color: #d3c6aa; transition-property: background-color; transition-duration: .5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* window#waybar.empty { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.solo { background-color: #FFFFFF; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } */ @@ -369,12 +378,15 @@ tooltip decoration:backdrop { box-shadow: none; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: #d3c6aa; padding-left: 5px; padding-right: 5px; padding-top: 0px; padding-bottom: 5px; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } @@ -399,6 +411,8 @@ tooltip label { window#waybar.bottombar #backlight-slider trough, window#waybar.bottombar #pulseaudio-slider trough { min-height: 7px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #backlight-slider highlight, diff --git a/config/waybar/style/Black-&-White-Monochrome.css b/config/waybar/style/Black-&-White-Monochrome.css index 0873374c..59005708 100644 --- a/config/waybar/style/Black-&-White-Monochrome.css +++ b/config/waybar/style/Black-&-White-Monochrome.css @@ -6,6 +6,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,6 +17,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -28,8 +31,11 @@ tooltip { border-color: white; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label{ color: #cdd6f4; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /*-----module groups----*/ .modules-right { diff --git a/config/waybar/style/Catppuccin-Frappe.css b/config/waybar/style/Catppuccin-Frappe.css index cac79f2f..21e86b3e 100644 --- a/config/waybar/style/Catppuccin-Frappe.css +++ b/config/waybar/style/Catppuccin-Frappe.css @@ -6,6 +6,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -20,10 +21,14 @@ window#waybar { border-bottom: 3px solid @sapphire; background: alpha(@crust, 0.4); border-radius: 10px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Catppuccin-Latte.css b/config/waybar/style/Catppuccin-Latte.css index 3f20b20a..3bc3ef91 100644 --- a/config/waybar/style/Catppuccin-Latte.css +++ b/config/waybar/style/Catppuccin-Latte.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -19,10 +20,14 @@ window#waybar { border-bottom: 3px solid @lavender; background: alpha(@overlay0, 0.3); border-radius: 10px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Catppuccin-Mocha.css b/config/waybar/style/Catppuccin-Mocha.css index e8d3d7d0..b62ca830 100644 --- a/config/waybar/style/Catppuccin-Mocha.css +++ b/config/waybar/style/Catppuccin-Mocha.css @@ -6,6 +6,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -17,10 +18,14 @@ window#waybar { transition-duration: 0.5s; background: transparent; border-radius: 10px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -28,6 +33,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Colored-Chroma-Glow.css b/config/waybar/style/Colored-Chroma-Glow.css index 498b5d11..cce79973 100644 --- a/config/waybar/style/Colored-Chroma-Glow.css +++ b/config/waybar/style/Colored-Chroma-Glow.css @@ -6,6 +6,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,10 +17,14 @@ window#waybar { transition-property: background-color; transition-duration: .5s; border-radius: 10px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.1; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -27,6 +32,8 @@ window#waybar.empty #window { padding: 0px; border: 0px; background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -39,8 +46,11 @@ tooltip { border-color: #11111b; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label{ color: #cdd6f4; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Colored-Translucent.css b/config/waybar/style/Colored-Translucent.css index 595effc4..ecd9366b 100644 --- a/config/waybar/style/Colored-Translucent.css +++ b/config/waybar/style/Colored-Translucent.css @@ -20,6 +20,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -30,10 +31,14 @@ window#waybar { transition-property: background-color; transition-duration: .5s; border-radius: 10px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.1; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Colorful-Aurora-Blossom.css b/config/waybar/style/Colorful-Aurora-Blossom.css index 1be4d655..a07d2b72 100644 --- a/config/waybar/style/Colorful-Aurora-Blossom.css +++ b/config/waybar/style/Colorful-Aurora-Blossom.css @@ -5,12 +5,15 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } window#waybar { background: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty , @@ -18,6 +21,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -27,8 +32,11 @@ tooltip { border-radius: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label{ color: black; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /*-----module groups----*/ diff --git a/config/waybar/style/Colorful-Aurora.css b/config/waybar/style/Colorful-Aurora.css index 93da00b8..030bd9be 100644 --- a/config/waybar/style/Colorful-Aurora.css +++ b/config/waybar/style/Colorful-Aurora.css @@ -5,6 +5,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -15,6 +16,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -24,8 +27,11 @@ tooltip { border-radius: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label{ color: black; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /*-----module groups----*/ .modules-left, diff --git a/config/waybar/style/Colorful-Oglo-Chicklets.css b/config/waybar/style/Colorful-Oglo-Chicklets.css index b0b1cf95..5959e510 100644 --- a/config/waybar/style/Colorful-Oglo-Chicklets.css +++ b/config/waybar/style/Colorful-Oglo-Chicklets.css @@ -3,6 +3,7 @@ * { font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica, Arial, sans-serif; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-weight: bold; } @@ -13,18 +14,26 @@ window#waybar { color: #d3c6aa; transition-property: background-color; transition-duration: .5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* window#waybar.empty { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.solo { background-color: #FFFFFF; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } */ @@ -369,12 +378,15 @@ tooltip decoration:backdrop { box-shadow: none; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: #d3c6aa; padding-left: 5px; padding-right: 5px; padding-top: 0px; padding-bottom: 5px; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } diff --git a/config/waybar/style/Colorful-Rainbow-Spectrum.css b/config/waybar/style/Colorful-Rainbow-Spectrum.css index 98b00dd4..1e754e75 100644 --- a/config/waybar/style/Colorful-Rainbow-Spectrum.css +++ b/config/waybar/style/Colorful-Rainbow-Spectrum.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -14,10 +15,14 @@ window#waybar { background-color: rgba(0,0,0,0); transition-property: background-color; transition-duration: .5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -25,6 +30,8 @@ window#waybar.empty #window { padding: 0px; border: 0px; background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -36,8 +43,11 @@ tooltip { border-color: #11111b; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label{ color: #cdd6f4; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Colorful-stolen-style.css b/config/waybar/style/Colorful-stolen-style.css index b2d03e06..fbefb6e3 100644 --- a/config/waybar/style/Colorful-stolen-style.css +++ b/config/waybar/style/Colorful-stolen-style.css @@ -5,6 +5,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -14,10 +15,14 @@ window#waybar { transition-duration: 0.5s; background: rgba(0, 0, 0, 0.8); border-radius: 6px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -25,6 +30,8 @@ window#waybar.empty #window { background-color: rgba(0, 0, 0, 0.8); padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #backlight, @@ -288,6 +295,7 @@ window#waybar.empty #window { } #window { + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 100%; color: #ffffed; } diff --git a/config/waybar/style/Crystal-Clear-Glass.css b/config/waybar/style/Crystal-Clear-Glass.css index 9bc24902..817b304c 100644 --- a/config/waybar/style/Crystal-Clear-Glass.css +++ b/config/waybar/style/Crystal-Clear-Glass.css @@ -19,6 +19,7 @@ General /* Extra tweaks */ min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; margin-top: 3px; @@ -27,6 +28,8 @@ General window#waybar { background: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } .modules-left { @@ -134,6 +137,8 @@ tooltip { window#waybar.empty #window { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- diff --git a/config/waybar/style/Dark-Golden-Eclipse.css b/config/waybar/style/Dark-Golden-Eclipse.css index 107dc725..b4fb9b09 100644 --- a/config/waybar/style/Dark-Golden-Eclipse.css +++ b/config/waybar/style/Dark-Golden-Eclipse.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; padding: 1px; @@ -21,10 +22,14 @@ window#waybar { padding-right: 4px; padding-left: 4px; border-radius: 12px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #waybar.empty #window { diff --git a/config/waybar/style/Dark-Golden-Noir.css b/config/waybar/style/Dark-Golden-Noir.css index 357d80a5..d0e7fee9 100644 --- a/config/waybar/style/Dark-Golden-Noir.css +++ b/config/waybar/style/Dark-Golden-Noir.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,10 +17,14 @@ window#waybar { border-radius: 30px; color: #cba6f7; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Dark-Half-Moon.css b/config/waybar/style/Dark-Half-Moon.css index 30de6a86..e83728cb 100644 --- a/config/waybar/style/Dark-Half-Moon.css +++ b/config/waybar/style/Dark-Half-Moon.css @@ -8,6 +8,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -18,6 +19,8 @@ window#waybar { border-bottom: 1px solid rgba(26,27,38,0); border-radius: 0px; color: #E6B673; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #waybar.empty, #waybar.tiled, #waybar.floating { @@ -27,6 +30,8 @@ window#waybar { window#waybar.empty, window#waybar.empty #window { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar, @@ -100,8 +105,11 @@ border: 1px solid #D2A6FF; border-radius: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: #F3F4F5; +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ +font-size: 14px; } #window { diff --git a/config/waybar/style/Dark-Latte-Wallust-combined-v2.css b/config/waybar/style/Dark-Latte-Wallust-combined-v2.css index 12a573e2..5d28efce 100644 --- a/config/waybar/style/Dark-Latte-Wallust-combined-v2.css +++ b/config/waybar/style/Dark-Latte-Wallust-combined-v2.css @@ -25,6 +25,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -36,6 +37,8 @@ window#waybar { padding-bottom: 0px; padding-right: 4px; padding-left: 4px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Dark-Latte-Wallust-combined.css b/config/waybar/style/Dark-Latte-Wallust-combined.css index 9ffad565..04898191 100644 --- a/config/waybar/style/Dark-Latte-Wallust-combined.css +++ b/config/waybar/style/Dark-Latte-Wallust-combined.css @@ -25,6 +25,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -33,10 +34,14 @@ window#waybar { background: transparent; border-radius: 0px; color: #cba6f7; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Dark-Purpl.css b/config/waybar/style/Dark-Purpl.css index 9cb25cdf..c0674851 100644 --- a/config/waybar/style/Dark-Purpl.css +++ b/config/waybar/style/Dark-Purpl.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -14,10 +15,14 @@ window#waybar { background: #100214; color: #cba6f7; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Dark-Wallust-Obsidian-Edge.css b/config/waybar/style/Dark-Wallust-Obsidian-Edge.css index 264fc183..c315e3cb 100644 --- a/config/waybar/style/Dark-Wallust-Obsidian-Edge.css +++ b/config/waybar/style/Dark-Wallust-Obsidian-Edge.css @@ -8,6 +8,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -15,10 +16,14 @@ font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; window#waybar { background: black; border-radius: 12px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -27,10 +32,13 @@ tooltip { border-radius: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @foreground; padding-right: 2px; padding-left: 2px; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /*-----module groups----*/ diff --git a/config/waybar/style/Extra-Arrow.css b/config/waybar/style/Extra-Arrow.css index e70be55c..282318ff 100644 --- a/config/waybar/style/Extra-Arrow.css +++ b/config/waybar/style/Extra-Arrow.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; border: none; diff --git a/config/waybar/style/Extra-Crimson.css b/config/waybar/style/Extra-Crimson.css index 309808c5..1a2db007 100644 --- a/config/waybar/style/Extra-Crimson.css +++ b/config/waybar/style/Extra-Crimson.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -15,10 +16,14 @@ window#waybar { color: wheat; border-radius: 0px 0px 100px 100px; border: 1px solid grey; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Extra-EverForest.css b/config/waybar/style/Extra-EverForest.css index ce0b4c7b..69911ed2 100644 --- a/config/waybar/style/Extra-EverForest.css +++ b/config/waybar/style/Extra-EverForest.css @@ -33,6 +33,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; border: 1px solid transparent; @@ -47,10 +48,14 @@ window#waybar { color: @fg; transition-property: background-color; transition-duration: 0.5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #window { diff --git a/config/waybar/style/Extra-ML4W-starter.css b/config/waybar/style/Extra-ML4W-starter.css index caaeea8d..1e545ded 100644 --- a/config/waybar/style/Extra-ML4W-starter.css +++ b/config/waybar/style/Extra-ML4W-starter.css @@ -22,6 +22,7 @@ border-radius: 4px; font-weight: bold; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -32,6 +33,8 @@ window#waybar { /* color: #FFFFFF; */ transition-property: background-color; transition-duration: .5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- @@ -86,8 +89,11 @@ tooltip { margin:0px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @textcolor2; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- @@ -105,6 +111,8 @@ tooltip label { window#waybar.empty #window { background-color:transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- diff --git a/config/waybar/style/Extra-Mauve.css b/config/waybar/style/Extra-Mauve.css index 7f260dd7..35403d9c 100644 --- a/config/waybar/style/Extra-Mauve.css +++ b/config/waybar/style/Extra-Mauve.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -14,10 +15,14 @@ window#waybar { background: #11111b; color: #cba6f7; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Extra-Modern-Combined-Transparent.css b/config/waybar/style/Extra-Modern-Combined-Transparent.css index 26ddfcdd..41208141 100644 --- a/config/waybar/style/Extra-Modern-Combined-Transparent.css +++ b/config/waybar/style/Extra-Modern-Combined-Transparent.css @@ -38,6 +38,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -45,10 +46,12 @@ window#waybar { background-color: transparent; border-radius: 6px; - padding-top: 2px; - padding-bottom: 0px; - padding-right: 4px; - padding-left: 4px; + padding-top: 2px; + padding-bottom: 0px; + padding-right: 4px; + padding-left: 4px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -194,8 +197,8 @@ tooltip { #custom-hint { color: @peach; - padding-right: 6px; - padding-left: 6px; + padding-right: 6px; + padding-left: 6px; } #pulseaudio.muted { @@ -208,11 +211,11 @@ tooltip { #battery.critical:not(.charging) { color: #f53c3c; - animation-name: blink; - animation-duration: 3.0s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; + animation-name: blink; + animation-duration: 3.0s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; } #pulseaudio-slider, @@ -263,8 +266,8 @@ tooltip { #custom-weather.snowyIcyNight, #custom-weather.sunnyDay { color: @lavender; - padding-right: 6px; - padding-left: 6px; + padding-right: 6px; + padding-left: 6px; } /*-----Indicators----*/ diff --git a/config/waybar/style/Extra-Modern-Combined.css b/config/waybar/style/Extra-Modern-Combined.css index 312ad245..93f7f859 100644 --- a/config/waybar/style/Extra-Modern-Combined.css +++ b/config/waybar/style/Extra-Modern-Combined.css @@ -38,6 +38,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -45,10 +46,12 @@ window#waybar { background-color: rgba(0,0,0,0.4); border-radius: 6px; - padding-top: 2px; - padding-bottom: 0px; - padding-right: 4px; - padding-left: 4px; + padding-top: 2px; + padding-bottom: 0px; + padding-right: 4px; + padding-left: 4px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -189,8 +192,8 @@ tooltip { #custom-hint { color: @peach; - padding-right: 6px; - padding-left: 6px; + padding-right: 6px; + padding-left: 6px; } #pulseaudio-slider, @@ -249,11 +252,11 @@ tooltip { #battery.critical:not(.charging) { color: #f53c3c; - animation-name: blink; - animation-duration: 3.0s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; + animation-name: blink; + animation-duration: 3.0s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; } #custom-hypridle, @@ -276,8 +279,8 @@ tooltip { #custom-weather.snowyIcyNight, #custom-weather.sunnyDay { color: @lavender; - padding-right: 6px; - padding-left: 6px; + padding-right: 6px; + padding-left: 6px; } /*-----Indicators----*/ diff --git a/config/waybar/style/Extra-Neon-Circuit.css b/config/waybar/style/Extra-Neon-Circuit.css index 0518bf27..b913fc04 100644 --- a/config/waybar/style/Extra-Neon-Circuit.css +++ b/config/waybar/style/Extra-Neon-Circuit.css @@ -16,12 +16,15 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } window#waybar { background: @bar-bg; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Extra-Prismatic-Glow.css b/config/waybar/style/Extra-Prismatic-Glow.css index e7aaa398..e1cfb779 100644 --- a/config/waybar/style/Extra-Prismatic-Glow.css +++ b/config/waybar/style/Extra-Prismatic-Glow.css @@ -6,11 +6,13 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; border: none; border-radius: 10px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; min-height: 20px; margin: 0px; @@ -20,6 +22,8 @@ .module { padding: 2px 4px; margin: 1px 1px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } .modules-left>widget:first-child .module { @@ -35,6 +39,8 @@ window#waybar { background-color: transparent; color: black; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; transition: background-color 0.5s; } @@ -42,10 +48,14 @@ window#waybar { window#waybar.empty #window { background-color: transparent; background: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* Tooltip styling */ @@ -60,8 +70,11 @@ tooltip { } menu label, +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: rgb(0, 238, 255); + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /* Workspaces Button Styling */ @@ -126,6 +139,8 @@ tooltip label { #taskbar.empty, window#waybar.empty { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* Specific Module Styles */ diff --git a/config/waybar/style/Extra-Rose-Pine.css b/config/waybar/style/Extra-Rose-Pine.css index c9d16106..ee842983 100644 --- a/config/waybar/style/Extra-Rose-Pine.css +++ b/config/waybar/style/Extra-Rose-Pine.css @@ -14,6 +14,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; border-radius: 12px; @@ -21,6 +22,8 @@ window#waybar { background: @bar-bg; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -28,6 +31,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Extra-Simple-Pink.css b/config/waybar/style/Extra-Simple-Pink.css index 19d47542..665b9450 100644 --- a/config/waybar/style/Extra-Simple-Pink.css +++ b/config/waybar/style/Extra-Simple-Pink.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -15,10 +16,14 @@ window#waybar { background: black; border-radius: 50px; color: whitesmoke; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Light-Monochrome-Contrast.css b/config/waybar/style/Light-Monochrome-Contrast.css index 4251e754..def9ad42 100644 --- a/config/waybar/style/Light-Monochrome-Contrast.css +++ b/config/waybar/style/Light-Monochrome-Contrast.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,6 +17,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -28,8 +31,11 @@ tooltip { border-color: white; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label{ color: #cdd6f4; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /*-----module groups----*/ .modules-left, diff --git a/config/waybar/style/Light-Obsidian-Glow.css b/config/waybar/style/Light-Obsidian-Glow.css index 4d5db584..19b90078 100644 --- a/config/waybar/style/Light-Obsidian-Glow.css +++ b/config/waybar/style/Light-Obsidian-Glow.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -13,10 +14,14 @@ font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; window#waybar { background: white; border-radius: 12px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.7; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -24,10 +29,13 @@ tooltip { border-radius: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: #373737; padding-right: 2px; padding-left: 2px; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/ML4W-Glass-3d.css b/config/waybar/style/ML4W-Glass-3d.css index 003ae089..58aaf4e1 100644 --- a/config/waybar/style/ML4W-Glass-3d.css +++ b/config/waybar/style/ML4W-Glass-3d.css @@ -19,6 +19,7 @@ General /* Extra tweaks */ min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; margin-top: 3px; @@ -45,6 +46,8 @@ window#waybar { background: transparent; border: 0; outline: none; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } .modules-left { @@ -184,8 +187,11 @@ tooltip { margin: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @on_surface; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- @@ -201,6 +207,8 @@ tooltip label { window#waybar.empty #window { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* Tighter content padding specifically for the window title */ diff --git a/config/waybar/style/ML4W-Glass.css b/config/waybar/style/ML4W-Glass.css index 2f02fd61..be0c6698 100644 --- a/config/waybar/style/ML4W-Glass.css +++ b/config/waybar/style/ML4W-Glass.css @@ -19,6 +19,7 @@ General /* Extra tweaks */ min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; margin-top: 3px; @@ -40,6 +41,8 @@ General window#waybar { background: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } .modules-left { @@ -173,8 +176,11 @@ tooltip { margin: 10px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @on_surface; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- @@ -187,6 +193,8 @@ tooltip label { window#waybar.empty #window { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /* ----------------------------------------------------- diff --git a/config/waybar/style/Rainbow-RGB-Bordered.css b/config/waybar/style/Rainbow-RGB-Bordered.css index f2276cdc..a831832d 100644 --- a/config/waybar/style/Rainbow-RGB-Bordered.css +++ b/config/waybar/style/Rainbow-RGB-Bordered.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -18,10 +19,14 @@ window#waybar { transition-duration: 0.5s; background: transparent; border-radius: 2px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -29,6 +34,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Retro-Simple-Style.css b/config/waybar/style/Retro-Simple-Style.css index d7e4665c..6658c593 100644 --- a/config/waybar/style/Retro-Simple-Style.css +++ b/config/waybar/style/Retro-Simple-Style.css @@ -13,6 +13,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; @@ -23,6 +24,8 @@ window#waybar { color: @foreground; transition-property: background-color; transition-duration: 0.5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/Transparent-Crystal-Clear.css b/config/waybar/style/Transparent-Crystal-Clear.css index 72b6aeb1..0f14891e 100644 --- a/config/waybar/style/Transparent-Crystal-Clear.css +++ b/config/waybar/style/Transparent-Crystal-Clear.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -15,10 +16,14 @@ window#waybar { background:transparent; border-radius: 1px; color: whitesmoke; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty @@ -26,6 +31,8 @@ window#waybar.empty #window { padding: 0px; border: 0px; background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar button, diff --git a/config/waybar/style/VERTICAL-Catpuccin-Mocha.css b/config/waybar/style/VERTICAL-Catpuccin-Mocha.css index 41d77e73..9a0d48ed 100644 --- a/config/waybar/style/VERTICAL-Catpuccin-Mocha.css +++ b/config/waybar/style/VERTICAL-Catpuccin-Mocha.css @@ -7,6 +7,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -16,6 +17,8 @@ window#waybar { background-color: @base; border-radius: 5px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { @@ -27,8 +30,11 @@ tooltip { border-color: @sapphire; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @blue; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #taskbar button, @@ -227,6 +233,8 @@ tooltip label { window#waybar.bottombar #backlight-slider trough, window#waybar.bottombar #pulseaudio-slider trough { min-height: 7px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #backlight-slider highlight, diff --git a/config/waybar/style/Wallust-Bordered-Chroma-Fusion-Edge.css b/config/waybar/style/Wallust-Bordered-Chroma-Fusion-Edge.css index a7eb725c..b9d14b78 100644 --- a/config/waybar/style/Wallust-Bordered-Chroma-Fusion-Edge.css +++ b/config/waybar/style/Wallust-Bordered-Chroma-Fusion-Edge.css @@ -25,6 +25,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -38,6 +39,8 @@ window#waybar { border-top-left-radius: 20px; border-top-right-radius: 20px; border:2px solid black; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -45,6 +48,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Wallust-Bordered-Chroma-Simple.css b/config/waybar/style/Wallust-Bordered-Chroma-Simple.css index c0b97f06..4e427c15 100644 --- a/config/waybar/style/Wallust-Bordered-Chroma-Simple.css +++ b/config/waybar/style/Wallust-Bordered-Chroma-Simple.css @@ -8,6 +8,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; min-height: 0; } @@ -25,6 +26,8 @@ window#waybar { color: @foreground; padding-left: 15px; padding-right: 15px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -32,6 +35,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Wallust-Box-type.css b/config/waybar/style/Wallust-Box-type.css index 7f1d3ad2..e60f05bf 100644 --- a/config/waybar/style/Wallust-Box-type.css +++ b/config/waybar/style/Wallust-Box-type.css @@ -8,16 +8,21 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } window#waybar { background: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.2; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -25,6 +30,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #window { diff --git a/config/waybar/style/Wallust-Chroma-Edge.css b/config/waybar/style/Wallust-Chroma-Edge.css index 9ca9fcb2..a59050d1 100644 --- a/config/waybar/style/Wallust-Chroma-Edge.css +++ b/config/waybar/style/Wallust-Chroma-Edge.css @@ -1,87 +1,96 @@ /* ---- 💫 https://github.com/LinuxBeginnings 💫 ---- */ /* Wallust Chroma Edge */ -@import '../../.config/waybar/wallust/colors-waybar.css'; +@import "../../.config/waybar/wallust/colors-waybar.css"; * { -font-family: "JetBrainsMono Nerd Font"; -font-weight: bold; -min-height: 0; -/* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ -font-size: 99%; -font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + min-height: 0; + /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ + font-size: 99%; + font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } window#waybar { - /* background-color: rgba(26, 27, 38, 0.5); */ - background-color: transparent; - color: #ffffff; - transition-property: background-color; - transition-duration: 0.5s; - /* border-top: 8px transparent; */ - border-radius: 0px; - transition-duration: 0.5s; + /* background-color: rgba(26, 27, 38, 0.5); */ + background-color: transparent; + color: #ffffff; + transition-property: background-color; + transition-duration: 0.5s; + /* border-top: 8px transparent; */ + border-radius: 0px; + transition-duration: 0.5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } -window#waybar.empty -window#waybar.empty #window { - padding: 0px; - border: 0px; - background-color: transparent; +window#waybar.empty window#waybar.empty #window { + padding: 0px; + border: 0px; + background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { - opacity: 0.1; + opacity: 0.1; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { - background: #1e1e2e; - opacity: 0.8; - border-radius: 12px; - border-width: 2px; - border-style: solid; - border-color: @color12; + background: #1e1e2e; + opacity: 0.8; + border-radius: 12px; + border-width: 2px; + border-style: solid; + border-color: @color12; } -tooltip label{ - color: #cdd6f4; +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ +tooltip label { + color: #cdd6f4; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #taskbar button, #workspaces button { - background-color: transparent; - color: @color15; - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - padding-left: 4px; - padding-right: 4px; - animation: gradient_f 20s ease-in infinite; - transition: all 0.5s cubic-bezier(.55,-0.68,.48,1.682); + background-color: transparent; + color: @color15; + box-shadow: none; + text-shadow: none; + padding: 0px; + border-radius: 9px; + padding-left: 4px; + padding-right: 4px; + animation: gradient_f 20s ease-in infinite; + transition: all 0.5s cubic-bezier(0.55, -0.68, 0.48, 1.682); } #workspaces button.active { - background-color: transparent; - color: @color15; + background-color: transparent; + color: @color15; - padding-left: 8px; - padding-right: 8px; - animation: gradient_f 20s ease-in infinite; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); + padding-left: 8px; + padding-right: 8px; + animation: gradient_f 20s ease-in infinite; + transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682); } #workspaces button:hover { - background: rgba(0, 0, 0, 0.2); - color: #D3D3D3; - padding-left: 2px; - padding-right: 2px; - animation: gradient_f 20s ease-in infinite; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); + background: rgba(0, 0, 0, 0.2); + color: #d3d3d3; + padding-left: 2px; + padding-right: 2px; + animation: gradient_f 20s ease-in infinite; + transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682); } #workspaces button.urgent { - background-color: #eb4d4b; + background-color: #eb4d4b; } #backlight, @@ -137,244 +146,243 @@ tooltip label{ #custom-weather.clearNight, #custom-weather.cloudyFoggyDay, #custom-weather.cloudyFoggyNight, -#custom-weather.default, +#custom-weather.default, #custom-weather.rainyDay, #custom-weather.rainyNight, #custom-weather.severe, #custom-weather.showyIcyDay, #custom-weather.snowyIcyNight, #custom-weather.sunnyDay { - color: @color15; - /* color: #bf616a; */ - border-radius: 12px; - background-color: rgba(50, 50, 50, 0.1); - border: 1px solid @color12; - padding-top: 4px; - padding-bottom: 4px; - padding-right: 6px; - padding-left: 6px; + color: @color15; + /* color: #bf616a; */ + border-radius: 12px; + background-color: rgba(50, 50, 50, 0.1); + border: 1px solid @color12; + padding-top: 4px; + padding-bottom: 4px; + padding-right: 6px; + padding-left: 6px; } #workspaces { - border-radius: 12px; - padding: 0px 6px; + border-radius: 12px; + padding: 0px 6px; } #cpu { - color: #fb958b; - padding: 3px; - background-color: rgba(50, 50, 50, 0.1); + color: #fb958b; + padding: 3px; + background-color: rgba(50, 50, 50, 0.1); } #custom-cycle_wall, #custom-updater { - color: #cba7f7; - padding: 3px; - background-color: rgba(50, 50, 50, 0.1); - + color: #cba7f7; + padding: 3px; + background-color: rgba(50, 50, 50, 0.1); } #custom-menu { - color: #FFFFFF; - padding: 6px; - padding-right: 6px; - background-color: rgba(50, 50, 50, 0.1); + color: #ffffff; + padding: 6px; + padding-right: 6px; + background-color: rgba(50, 50, 50, 0.1); } #custom-keyboard, #memory { - color: #ebcb8b; + color: #ebcb8b; } #custom-power { - color: #cc3436; - padding: 0px 0px 0px 6px; + color: #cc3436; + padding: 0px 0px 0px 6px; } #custom-launcher { - background-color: #1b242b; - color: #6a92d7; - padding: 0 0px; + background-color: #1b242b; + color: #6a92d7; + padding: 0 0px; } #custom-weather.severe { - color: #eb937d; + color: #eb937d; } #custom-weather.sunny { - color: #c2ca76; + color: #c2ca76; } #custom-weather.clearNight { - color: #cad3f5; + color: #cad3f5; } #custom-weather.cloudyFoggyDay, #custom-weather.cloudyFoggyNight { - color: #c2ddda; + color: #c2ddda; } #custom-weather.rainyDay, #custom-weather.rainyNight { - color: #5aaca5; + color: #5aaca5; } #custom-weather.showyIcyDay, #custom-weather.snowyIcyNight { - color: #d6e7e5; + color: #d6e7e5; } #custom-swaync, #custom-weather { - color: #ebecf0; + color: #ebecf0; } #pulseaudio { - color: #FFD580; + color: #ffd580; } #wireplumber { - color: #FFD580; + color: #ffd580; } #backlight { - color: #8fbcbb; - padding-right: 2px; + color: #8fbcbb; + padding-right: 2px; } #clock { - color: #90EE90; - /* background-color: #14141e; */ + color: #90ee90; + /* background-color: #14141e; */ } #battery { - color: #c0caf5; - /* background-color: #90b1b1; */ + color: #c0caf5; + /* background-color: #90b1b1; */ } #battery.charging, #battery.full, #battery.plugged { - color: #26a65b; - /* background-color: #26a65b; */ + color: #26a65b; + /* background-color: #26a65b; */ } @keyframes blink { - to { - background-color: rgba(30, 34, 42, 0.5); - color: #abb2bf; - } + to { + background-color: rgba(30, 34, 42, 0.5); + color: #abb2bf; + } } #battery.critical:not(.charging) { - color: #f53c3c; - animation-name: blink; - animation-duration: 3.0s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; + color: #f53c3c; + animation-name: blink; + animation-duration: 3s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; } label:focus { - background-color: #000000; + background-color: #000000; } #disk { - color: #f38ba8; + color: #f38ba8; } #bluetooth { - color: #7287fd; + color: #7287fd; } #bluetooth.disconnected { - color: #f53c3c; + color: #f53c3c; } #network { - color: #b48ead; + color: #b48ead; } #network.disconnected { - color: #f53c3c; + color: #f53c3c; } #custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; } #custom-media.custom-spotify { - background-color: #66cc99; + background-color: #66cc99; } #custom-media.custom-vlc { - background-color: #ffa000; + background-color: #ffa000; } #temperature.critical { - background-color: #eb4d4b; + background-color: #eb4d4b; } #tray > .passive { - -gtk-icon-effect: dim; + -gtk-icon-effect: dim; } #tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; + -gtk-icon-effect: highlight; + background-color: #eb4d4b; } #idle_inhibitor { - /*background-color: #2d3436; + /*background-color: #2d3436; border-bottom: 8px solid rgba(0, 0, 0, 0.2);*/ } /*-----Indicators----*/ #custom-hypridle.notactive, #idle_inhibitor.activated { - color: #39FF14; - border-bottom: 8px solid rgba(0, 0, 0, 0.2); + color: #39ff14; + border-bottom: 8px solid rgba(0, 0, 0, 0.2); } #temperature { - color: #ADD8E6; + color: #add8e6; } #taskbar button.active { - background-color: #7f849c; - padding-left: 12px; - padding-right: 12px; - animation: gradient_f 20s ease-in infinite; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); + background-color: #7f849c; + padding-left: 12px; + padding-right: 12px; + animation: gradient_f 20s ease-in infinite; + transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682); } #taskbar button:hover { - padding-left: 3px; - padding-right: 3px; - animation: gradient_f 20s ease-in infinite; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); + padding-left: 3px; + padding-right: 3px; + animation: gradient_f 20s ease-in infinite; + transition: all 0.3s cubic-bezier(0.55, -0.68, 0.48, 1.682); } #backlight-slider slider, #pulseaudio-slider slider { - min-width: 0px; - min-height: 0px; - opacity: 0; - background-image: none; - border: none; - box-shadow: none; + min-width: 0px; + min-height: 0px; + opacity: 0; + background-image: none; + border: none; + box-shadow: none; } #backlight-slider trough, #pulseaudio-slider trough { - min-width: 80px; - min-height: 5px; - border-radius: 5px; + min-width: 80px; + min-height: 5px; + border-radius: 5px; } #backlight-slider highlight, #pulseaudio-slider highlight { - min-height: 10px; - border-radius: 5px; + min-height: 10px; + border-radius: 5px; } diff --git a/config/waybar/style/Wallust-Chroma-Fusion.css b/config/waybar/style/Wallust-Chroma-Fusion.css index 7113c6f4..f16acbc4 100644 --- a/config/waybar/style/Wallust-Chroma-Fusion.css +++ b/config/waybar/style/Wallust-Chroma-Fusion.css @@ -25,6 +25,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -37,6 +38,8 @@ window#waybar { border-bottom-left-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty, @@ -44,6 +47,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Wallust-Chroma-Tally-V2.css b/config/waybar/style/Wallust-Chroma-Tally-V2.css index d33e638a..1ef933dd 100644 --- a/config/waybar/style/Wallust-Chroma-Tally-V2.css +++ b/config/waybar/style/Wallust-Chroma-Tally-V2.css @@ -9,6 +9,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -19,6 +20,8 @@ window#waybar { border-bottom: 2px; border-style: solid; border-color: @color7; /* Light border */ + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #workspaces { diff --git a/config/waybar/style/Wallust-Chroma-Tally.css b/config/waybar/style/Wallust-Chroma-Tally.css index 70e1f402..97ad5d09 100644 --- a/config/waybar/style/Wallust-Chroma-Tally.css +++ b/config/waybar/style/Wallust-Chroma-Tally.css @@ -8,6 +8,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -18,6 +19,8 @@ window#waybar { border-bottom: 2px; border-style: solid; border-color: @color12; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #workspaces { diff --git a/config/waybar/style/Wallust-Colored.css b/config/waybar/style/Wallust-Colored.css index 934374aa..29049a34 100644 --- a/config/waybar/style/Wallust-Colored.css +++ b/config/waybar/style/Wallust-Colored.css @@ -8,12 +8,15 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 96%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar, @@ -21,6 +24,8 @@ window#waybar.empty #window { padding: 0px; border: 0px; background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } diff --git a/config/waybar/style/Wallust-ML4W-modern-mixed.css b/config/waybar/style/Wallust-ML4W-modern-mixed.css index f8ef2630..1201fedc 100644 --- a/config/waybar/style/Wallust-ML4W-modern-mixed.css +++ b/config/waybar/style/Wallust-ML4W-modern-mixed.css @@ -18,6 +18,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; /* note: different modules have different font sizes */ font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; @@ -30,6 +31,8 @@ border-bottom: 0px solid @foreground; background: transparent; transition-property: background-color; transition-duration: .5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar, @@ -83,8 +86,11 @@ tooltip { margin:0px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @textcolor2; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #window { @@ -98,6 +104,8 @@ tooltip label { window#waybar.empty #window { background-color:transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar.empty { @@ -179,6 +187,7 @@ window#waybar.empty #window { padding: 2px; margin-right: 8px; margin-left: 6px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 100%; opacity: 0.8; color: @iconcolor; @@ -190,6 +199,7 @@ window#waybar.empty #window { #idle_inhibitor { margin-right: 15px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 102%; font-weight: bold; opacity: 0.8; @@ -199,6 +209,7 @@ window#waybar.empty #window { #idle_inhibitor.activated { margin-right: 15px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 100%; font-weight: bold; opacity: 0.8; diff --git a/config/waybar/style/Wallust-ML4W-modern.css b/config/waybar/style/Wallust-ML4W-modern.css index 0ab8165c..84c553fe 100644 --- a/config/waybar/style/Wallust-ML4W-modern.css +++ b/config/waybar/style/Wallust-ML4W-modern.css @@ -18,6 +18,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; /* note: different modules have different font sizes */ font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; @@ -30,6 +31,8 @@ border-bottom: 0px solid @foreground; background: transparent; transition-property: background-color; transition-duration: .5s; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #workspaces { @@ -75,8 +78,11 @@ tooltip { margin:0px; } +/* Waybar scaling: adjust tooltip label font-size to scale the bar */ tooltip label { color: @textcolor2; + /* Waybar scaling: adjust tooltip label font-size to scale the bar */ + font-size: 14px; } #window { @@ -89,6 +95,8 @@ tooltip label { window#waybar.empty #window { background-color:transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } #taskbar { @@ -185,6 +193,7 @@ window#waybar.empty #window { #custom-weather.sunnyDay { margin-right: 8px; margin-left: 6px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 100%; color: @iconcolor; } @@ -195,6 +204,7 @@ window#waybar.empty #window { #idle_inhibitor { margin-right: 15px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 102%; font-weight: bold; color: @iconcolor; @@ -203,6 +213,7 @@ window#waybar.empty #window { #idle_inhibitor.activated { margin-right: 15px; + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 100%; font-weight: bold; color: @color13; diff --git a/config/waybar/style/Wallust-Simple.css b/config/waybar/style/Wallust-Simple.css index 90342d67..20a000b8 100644 --- a/config/waybar/style/Wallust-Simple.css +++ b/config/waybar/style/Wallust-Simple.css @@ -6,6 +6,7 @@ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ +/* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -22,6 +23,8 @@ window#waybar.empty #window { background-color: transparent; padding: 0px; border: 0px; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } tooltip { diff --git a/config/waybar/style/Wallust-Transparent-Crystal-Clear.css b/config/waybar/style/Wallust-Transparent-Crystal-Clear.css index d25149d2..e6db9b1c 100644 --- a/config/waybar/style/Wallust-Transparent-Crystal-Clear.css +++ b/config/waybar/style/Wallust-Transparent-Crystal-Clear.css @@ -15,6 +15,7 @@ font-weight: bold; min-height: 0; /* set font-size to 100% if font scaling is set to 1.00 using nwg-look */ + /* NOTE: Waybar v14+ ignores % font-size values */ font-size: 99%; font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"'; } @@ -23,19 +24,27 @@ window#waybar { background:transparent; border-radius: 1px; color: @text; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.hidden { opacity: 0.5; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty { background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } window#waybar.empty #window { padding: 0px; border: 0px; background-color: transparent; + /* Waybar scaling: adjust font-size to scale the bar */ + font-size: 14px; } /*-----module groups----*/ @@ -56,6 +56,28 @@ GREEN="$(tput setaf 2)" BLUE="$(tput setaf 4)" SKY_BLUE="$(tput setaf 6)" RESET="$(tput sgr0)" + +# Set a high-contrast whiptail theme unless the user already provided one +if [ -z "${NEWT_COLORS:-}" ]; then + export NEWT_COLORS=' +root=white,black +border=white,black +window=white,black +shadow=black,black +title=yellow,black +button=black,lightgray +actbutton=black,cyan +compactbutton=white,black +textbox=white,black +acttextbox=white,black +entry=white,black +label=white,black +listbox=white,black +actlistbox=black,cyan +checkbox=white,black +actcheckbox=black,cyan +' +fi MIN_EXPRESS_VERSION="2.3.18" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" DOTFILES_DIR="$SCRIPT_DIR" @@ -115,7 +137,10 @@ else fi # Ensure we operate from the dotfiles root so relative paths resolve. -cd "$SCRIPT_DIR" || { echo "${ERROR} Failed to cd to $SCRIPT_DIR"; exit 1; } +cd "$SCRIPT_DIR" || { + echo "${ERROR} Failed to cd to $SCRIPT_DIR" + exit 1 +} version_gte() { [ "$1" = "$(echo -e "$1\n$2" | sort -V | tail -n1)" ] @@ -259,7 +284,7 @@ print_color() { # Check /etc/os-release for Ubuntu or Debian and warn about Hyprland version requirement if grep -iqE '^(ID_LIKE|ID)=.*(ubuntu|debian)' /etc/os-release >/dev/null 2>&1; then printf "\n%.0s" {1..1} - print_color $WARNING "\nThese Dotfiles are only supported on Hyprland v0.50 or greater. Do not install on older versions of Hyprland.\n" + print_color $WARNING "\nThese Dotfiles are only supported on Hyprland v0.54 or greater. Do not install on older versions of Hyprland.\n" while true; do echo -n "${CAT} Do you want to continue anyway? (y/N): " read _continue @@ -458,28 +483,29 @@ if [ "$EXPRESS_MODE" -eq 0 ] && [ "$WAYBAR_WEATHER_COPIED" -eq 1 ]; then read -r -p "${CAT} Use Fahrenheit (F) or Celsius (C)? [C]: " WEATHER_UNITS WEATHER_UNITS=$(echo "${WEATHER_UNITS}" | tr '[:upper:]' '[:lower:]') case "$WEATHER_UNITS" in - f|fahrenheit) - WEATHER_CFG="$WAYBAR_WEATHER_DEST/config.toml" - if [ -f "$WEATHER_CFG" ]; then - if grep -qE '^[[:space:]]*units[[:space:]]*=' "$WEATHER_CFG"; then - sed -i 's/^[[:space:]]*units[[:space:]]*=.*/units = "imperial"/' "$WEATHER_CFG" - elif grep -qE '^[[:space:]]*#\s*units[[:space:]]*=' "$WEATHER_CFG"; then - sed -i 's/^[[:space:]]*#\s*units[[:space:]]*=.*/units = "imperial"/' "$WEATHER_CFG" - else - printf '\nunits = "imperial"\n' >> "$WEATHER_CFG" - fi - echo "${OK} - Set waybar-weather units to imperial" 2>&1 | tee -a "$LOG" + f | fahrenheit) + WEATHER_CFG="$WAYBAR_WEATHER_DEST/config.toml" + if [ -f "$WEATHER_CFG" ]; then + if grep -qE '^[[:space:]]*units[[:space:]]*=' "$WEATHER_CFG"; then + sed -i 's/^[[:space:]]*units[[:space:]]*=.*/units = "imperial"/' "$WEATHER_CFG" + elif grep -qE '^[[:space:]]*#\s*units[[:space:]]*=' "$WEATHER_CFG"; then + sed -i 's/^[[:space:]]*#\s*units[[:space:]]*=.*/units = "imperial"/' "$WEATHER_CFG" else - echo "${WARN} - waybar-weather config not found at $WEATHER_CFG" 2>&1 | tee -a "$LOG" + printf '\nunits = "imperial"\n' >>"$WEATHER_CFG" fi - break - ;; - c|celsius|"") - # Default config already uses metric; no change needed - break - ;; - *) - echo "${WARN} Please enter 'F' or 'C'." ;; + echo "${OK} - Set waybar-weather units to imperial" 2>&1 | tee -a "$LOG" + else + echo "${WARN} - waybar-weather config not found at $WEATHER_CFG" 2>&1 | tee -a "$LOG" + fi + break + ;; + c | celsius | "") + # Default config already uses metric; no change needed + break + ;; + *) + echo "${WARN} Please enter 'F' or 'C'." + ;; esac done fi @@ -633,7 +659,6 @@ else echo "${ERROR} Failed to copy some ${YELLOW}wallpapers${RESET}" | tee -a "$LOG" fi - # Set some files as executable chmod +x "$HOME/.config/hypr/scripts/"* 2>&1 | tee -a "$LOG" chmod +x "$HOME/.config/hypr/UserScripts/"* 2>&1 | tee -a "$LOG" diff --git a/docs/HOWTO-fix-ventoy-GUI.md b/docs/HOWTO-fix-ventoy-GUI.md new file mode 100644 index 00000000..01441f30 --- /dev/null +++ b/docs/HOWTO-fix-ventoy-GUI.md @@ -0,0 +1,119 @@ +# How to Fix Ventoy GUI on Wayland/Hyprland (with Passwordless Sudo/Polkit) + +If you are using Wayland (such as Hyprland, Sway, or Wayfire) and have passwordless root privileges (e.g., your user is in the `wheel` group with NOPASSWD configured in sudo/polkit), you might encounter an issue where the Ventoy GUI app crashes silently or returns to the command line immediately when launched. + +## The Problem + +When `pkexec` elevates your privileges to root, it aggressively strips out environment variables for security reasons. On X11 this is sometimes fine, but on Wayland, GUI applications require specific environment variables to know how to connect to the display server. + +Because `pkexec` drops variables like `WAYLAND_DISPLAY` and `XDG_RUNTIME_DIR`, the Ventoy GUI (`ventoygui`) starts as root, cannot find a display server, and crashes immediately. + +## The Solution + +To fix this, we need to explicitly pass the necessary display variables back into the `pkexec` environment when launching Ventoy. + +There are two main ways you launch apps: from a GUI app launcher (like Rofi, Wofi, or your desktop environment's menu) and from the command line (Terminal). Here are the fixes for both. + +### Part 1: Fix App Launchers (Rofi, Wofi, Application Menus) + +App launchers use `.desktop` files. We will create a local override for the Ventoy `.desktop` file and point it to a custom wrapper script that preserves the environment variables. + +#### 1. Create a Wrapper Script + +Create a script in your local `bin` directory (create the directory if it doesn't exist): + +```bash path=null start=null +mkdir -p ~/.local/bin +``` + +Create the wrapper script using your favorite text editor (e.g., `nano ~/.local/bin/ventoygui-wayland`) and add the following contents: + +```sh path=null start=null +#!/bin/sh +pkexec env DISPLAY=$DISPLAY WAYLAND_DISPLAY=$WAYLAND_DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR GTK_THEME=Adwaita:dark /usr/bin/ventoygui "$@" +``` + +Make the script executable: + +```bash path=null start=null +chmod +x ~/.local/bin/ventoygui-wayland +``` + +#### 2. Create the Desktop File Override + +Copy the global Ventoy `.desktop` file to your local applications folder: + +```bash path=null start=null +mkdir -p ~/.local/share/applications/ +cp /usr/share/applications/ventoy.desktop ~/.local/share/applications/ventoy.desktop +``` + +Edit the local copy (`~/.local/share/applications/ventoy.desktop`) and change the `Exec=` line to point to the new script. **Make sure to replace `USERNAME` with your actual username:** + +```ini path=null start=null +[Desktop Entry] +Type=Application +Icon=ventoy +Name=Ventoy +Exec=/home/USERNAME/.local/bin/ventoygui-wayland +Terminal=false +Hidden=false +Categories=Utility +Comment=Ventoy2Disk GUI +StartupWMClass=Ventoy2Disk.gtk3 +``` + +Finally, update your desktop database so launchers like Rofi pick up the change immediately: + +```bash path=null start=null +update-desktop-database ~/.local/share/applications +``` + +--- + +### Part 2: Fix the Command Line (Terminal) + +If you type `ventoygui` into your terminal, it will still use the original failing binary. To fix this, we can set up a shell alias or function. + +Add the appropriate snippet below to your shell's configuration file. + +#### For Bash or Zsh + +Add this to the bottom of `~/.bashrc` (for Bash) or `~/.zshrc` (for Zsh): + +```bash path=null start=null +# Fix for VentoyGUI under Wayland/Hyprland +alias ventoygui='pkexec env DISPLAY=$DISPLAY WAYLAND_DISPLAY=$WAYLAND_DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR /usr/bin/ventoygui' +``` + +Apply the changes: + +```bash path=null start=null +# For Bash +source ~/.bashrc + +# For Zsh +source ~/.zshrc +``` + +#### For Fish + +Add this to the bottom of `~/.config/fish/config.fish`: + +```fish path=null start=null +# Fix for VentoyGUI under Wayland/Hyprland +function ventoygui + sh -c 'pkexec env DISPLAY=$DISPLAY WAYLAND_DISPLAY=$WAYLAND_DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR /usr/bin/ventoygui $argv' +end +``` + +Apply the changes: + +```fish path=null start=null +source ~/.config/fish/config.fish +``` + +## Success! + +You should now be able to launch Ventoy GUI from your terminal or your application launcher seamlessly under Wayland. + diff --git a/scripts/copy_menu.sh b/scripts/copy_menu.sh index 47843205..6fde8aaa 100755 --- a/scripts/copy_menu.sh +++ b/scripts/copy_menu.sh @@ -6,6 +6,28 @@ # SPDX-License-Identifier: GPL-3.0-or-later # ================================================== +# Set a high-contrast whiptail theme unless the user already provided one +if [ -z "${NEWT_COLORS:-}" ]; then + export NEWT_COLORS=' +root=white,black +border=white,black +window=white,black +shadow=black,black +title=yellow,black +button=black,lightgray +actbutton=black,cyan +compactbutton=white,black +textbox=white,black +acttextbox=white,black +entry=white,black +label=white,black +listbox=white,black +actlistbox=black,cyan +checkbox=white,black +actcheckbox=black,cyan +' +fi + # show_copy_menu # Arguments: # $1 - express_supported flag (1 if available, 0 otherwise) diff --git a/scripts/lib_copy.sh b/scripts/lib_copy.sh index f6d4cdd2..2eb02671 100644 --- a/scripts/lib_copy.sh +++ b/scripts/lib_copy.sh @@ -567,7 +567,7 @@ restore_hypr_files() { echo "${NOTE:-[NOTE]} - Skipped restoring $FILE_RESTORE." 2>&1 | tee -a "$log" fi else - echo "${ERROR:-[ERROR]} - Backup file $BACKUP_FILE does not exist." 2>&1 | tee -a "$log" + echo "${NOTE:-[NOTE]} - Backup file $BACKUP_FILE does not exist. Skipping." 2>&1 | tee -a "$log" fi done fi |
