From 31b561355251493427a053d33b27c48c746369e0 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Wed, 30 Jul 2025 13:01:57 +0200 Subject: [PATCH] farewell font awesome --- .memo/hyprland-ricing.txt | 2 +- .scripts/xdph-nuclear.sh | 2 +- README.md | 9 ++- eww/Main/eww.scss | 26 ++++----- eww/Main/eww.yuck | 4 +- eww/Main/scripts/music-album | 32 ++++++++++ hypr/hyprland/execs.conf | 3 + hypr/hyprland/general.conf | 2 +- waybar/config.jsonc | 15 ++--- waybar/modules/mediaplayer.py | 8 +-- waybar/style.css | 7 ++- wlogout/style.css | 106 +++++++++++++++++----------------- 12 files changed, 125 insertions(+), 91 deletions(-) create mode 100755 eww/Main/scripts/music-album diff --git a/.memo/hyprland-ricing.txt b/.memo/hyprland-ricing.txt index a59dc2c..a0d3df6 100644 --- a/.memo/hyprland-ricing.txt +++ b/.memo/hyprland-ricing.txt @@ -54,7 +54,7 @@ polkit-gnome # polkit authentication agent # fonts & themes maplemono-nf-cn / ttf-maplemono-nf-cn-unhinted (archlinuxcn) -ttf-font-awesome +Sour Gummy ttf-meslo-nerd ttf-jetbrains-mono-nerd spicetify # spotify tweaks diff --git a/.scripts/xdph-nuclear.sh b/.scripts/xdph-nuclear.sh index bea0005..6efb8a6 100755 --- a/.scripts/xdph-nuclear.sh +++ b/.scripts/xdph-nuclear.sh @@ -3,6 +3,6 @@ sleep 1 killall -e xdg-desktop-portal-hyprland killall -e xdg-desktop-portal-wlr killall xdg-desktop-portal -/usr/lib/xdg-desktop-portal-hyprland & +/usr/lib/xdg-desktop-portal-hyprland -v & sleep 2 /usr/lib/xdg-desktop-portal & diff --git a/README.md b/README.md index c982993..c7579b1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ + + @@ -44,6 +51,6 @@ including: - MesloLGM Nerd Font (& Mono) - Maple Mono NF CN -- Font Awesome 6 Free +- Sour Gummy - Noto Sans - ... diff --git a/eww/Main/eww.scss b/eww/Main/eww.scss index c978238..d857d1b 100644 --- a/eww/Main/eww.scss +++ b/eww/Main/eww.scss @@ -5,7 +5,7 @@ .main-window { background-color: $bg; - font-family: 'Font Awesome 6 Free', FontAwesome; + font-family: 'Sour Gummy', 'MesloLGM Nerd Font Mono', 'Noto Sans'; border-radius: 20px; border: 2px solid $blue; } @@ -21,15 +21,15 @@ } .time { + font-family: 'Sour Gummy ExtraLight'; font-weight: bold; - font-size: 80px; + font-size: 100px; margin-top: 24px; } .date { - font-family: 'Noto Sans'; font-size: 24px; - margin-top: 20px; + margin-top: 10px; } .weather-box { @@ -41,13 +41,12 @@ } .weather-desc { - font-family: 'Noto Sans'; color: $fg-alt; - font-size: 20px; + font-size: 24px; } .weather-temp { - font-size: 30px; + font-size: 36px; color: $fg; padding-top: 10px; } @@ -60,7 +59,7 @@ .weather-updatetime { color: $fg-alt; - font-size: 12px; + font-size: 16px; margin-top: 10px; } @@ -73,7 +72,7 @@ } .stats-header { - font-size: 20px; + font-size: 24px; font-weight: bold; color: $gray; } @@ -126,7 +125,7 @@ } .fortune-header { - font-size: 20px; + font-size: 24px; font-weight: bold; color: $gray; } @@ -189,7 +188,7 @@ } .player-info-box { - font-size: 14px; + font-size: 16px; } .player-info-title, @@ -212,6 +211,7 @@ } .cavabar { + font-family: 'Noto Sans'; font-size: 14px; color: $blue; } @@ -259,13 +259,11 @@ } .profile-stuff { - font-family: 'Noto Sans'; padding: 7px 0px 0px 30px; - font-size: 16px; + font-size: 20px; color: $fg; } .profile-name { - font-family: 'Font Awesome 6 Free', FontAwesome; font-weight: bold; } diff --git a/eww/Main/eww.yuck b/eww/Main/eww.yuck index 42d9d70..36fb027 100644 --- a/eww/Main/eww.yuck +++ b/eww/Main/eww.yuck @@ -1,6 +1,6 @@ ;; variables (defvar window false) -(defpoll time :interval "1s" "date '+%H %M'") +(defpoll time :interval "1s" "date '+%H:%M'") (defpoll date :interval "1s" "date '+%A, %B %d'") (deflisten notifications-cards "Main/scripts/logger.zsh subscribe") (defpoll notifications-crits :interval "1s" "Main/scripts/logger.zsh crits") @@ -27,7 +27,7 @@ (defpoll music-art-blur :interval "1s" "Main/scripts/music-art --blur") (defpoll volume :interval "1s" "Main/scripts/system --vol") (defpoll brightness :interval "1s" "Main/scripts/system --bri") -(defpoll fortune :interval "1h" "Main/scripts/fortune-split 32 9") +(defpoll fortune :interval "1h" "Main/scripts/fortune-split 32 6") (deflisten cava "Main/scripts/cava") (defpoll title :interval "1s" "Main/scripts/music-title --status") (defpoll artist :interval "1s" "Main/scripts/player --artist") diff --git a/eww/Main/scripts/music-album b/eww/Main/scripts/music-album new file mode 100755 index 0000000..25db975 --- /dev/null +++ b/eww/Main/scripts/music-album @@ -0,0 +1,32 @@ +#!/bin/bash + +# Set the source audio player here. +# Players supporting the MPRIS spec are supported. +# Examples: spotify, vlc, chrome, mpv and others. +# Use `playerctld` to always detect the latest player. +# See more here: https://github.com/altdesktop/playerctl/#selecting-players-to-control +PLAYER="playerctld" + +# Format of the information displayed +# Eg. {{ artist }} - {{ album }} - {{ title }} +# See more attributes here: https://github.com/altdesktop/playerctl/#printing-properties-and-metadata +FORMAT="{{ album }}" + +PLAYERCTL_STATUS=$(playerctl --player=$PLAYER status 2>/dev/null) +EXIT_CODE=$? + +if [ $EXIT_CODE -eq 0 ]; then + STATUS=$PLAYERCTL_STATUS +else + STATUS="No Album" +fi + +if [ "$STATUS" = "Stopped" ]; then + echo "No Album" + elif [ "$STATUS" = "Paused" ]; then + playerctl --player=$PLAYER metadata --format "$FORMAT" + elif [ "$STATUS" = "No Alnum" ]; then + echo "$STATUS" +else + playerctl --player=$PLAYER metadata --format "$FORMAT" +fi diff --git a/hypr/hyprland/execs.conf b/hypr/hyprland/execs.conf index cc1a88b..13a1714 100755 --- a/hypr/hyprland/execs.conf +++ b/hypr/hyprland/execs.conf @@ -36,3 +36,6 @@ exec-once = hyprctl plugin load "/usr/lib/libhyprexpo.so" # Logitech Mouse exec-once = solaar -w hide + +# Applications associations +exec-once = kbuildsycoca6 diff --git a/hypr/hyprland/general.conf b/hypr/hyprland/general.conf index cb8d713..eee378d 100755 --- a/hypr/hyprland/general.conf +++ b/hypr/hyprland/general.conf @@ -1,7 +1,7 @@ # MONITOR CONFIG monitor=,preferred,auto,1 monitor=eDP-1,2560x1600@240,auto,1.25 # dGPU only -monitor=eDP-2,2560x1600@240,auto,1.25 # iGPU & dGPU hybrid +monitor=eDP-2,2560x1600@240,auto,1.25,bitdepth,10 # iGPU & dGPU hybrid # monitor=,addreserved, 0, 0, 0, 0 # Custom reserved area # HDMI port: mirror display. To see device name, use `hyprctl monitors` diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 2b84abe..2430a7d 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -51,7 +51,6 @@ "format": " |", "tooltip": false }, - // Buttons "custom/power": { "format": "󰐥", @@ -87,7 +86,6 @@ "inactive": "" } }, - // Time and Date "clock": { "format": " {:%H:%M  %e %b}", @@ -119,7 +117,6 @@ "on-click": "~/.config/hypr/scripts/screenshot_full", "on-click-right": "~/.config/hypr/scripts/screenshot_area" }, - // System monitors "group/monitors": { "modules": ["network#speed", "temperature", "memory", "cpu", "battery", "backlight", "wireplumber"], @@ -128,11 +125,11 @@ "network#speed": { "interval": 1, "format": "{ifname}", - "format-wifi": " {bandwidthDownBytes}  {bandwidthUpBytes} ", - "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes} ", + "format-wifi": " {bandwidthDownBytes}  {bandwidthUpBytes} ", + "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes} ", "format-disconnected": "󰌙", "tooltip-format": "{ipaddr}", - "format-linked": "󰈁 {ifname} (No IP)", + "format-linked": "󰈁 {ifname} (No IP)", "tooltip-format-wifi": "{essid} {signalStrength}%", "tooltip-format-ethernet": "{ifname} 󰌘", "tooltip-format-disconnected": "󰌙 Disconnected", @@ -214,7 +211,6 @@ "max-length": 7, "min-length": 7 }, - // Hyprland "group/workspaceactions": { "modules": ["hyprland/workspaces#special", "hyprland/workspaces", "custom/workspacenew"], @@ -235,7 +231,7 @@ "persistent-only": true, "show-special": true, "special-visible-only": false, - "format": "{icon}" + "format": "S" }, "custom/workspacenew": { "format": "+", @@ -266,7 +262,6 @@ "icon-size": 15, "spacing": 5 }, - // Not used "network": { "format-wifi": " {essid} ({signalStrength}%)", @@ -290,7 +285,6 @@ "interval": 60, "exec": "~/.config/waybar/modules/storage.sh" }, - "idle_inhibitor": { "format": "{icon}", "format-icons": { @@ -396,7 +390,6 @@ "interval": 1, "exec": "$HOME/.config/waybar/get_kbdlayout.sh" },*/ - "pulseaudio": { "scroll-step": 3, // %, can be a float "format": "{icon} {volume}% {format_source}", diff --git a/waybar/modules/mediaplayer.py b/waybar/modules/mediaplayer.py index a5b9dfe..099c5c2 100755 --- a/waybar/modules/mediaplayer.py +++ b/waybar/modules/mediaplayer.py @@ -1,4 +1,6 @@ #!/usr/bin/env python3 +from gi.repository.Playerctl import Player +from gi.repository import Playerctl, GLib from typing import List import os import json @@ -10,8 +12,6 @@ import argparse import gi gi.require_version("Playerctl", "2.0") -from gi.repository import Playerctl, GLib -from gi.repository.Playerctl import Player logger = logging.getLogger(__name__) @@ -137,9 +137,9 @@ class PlayerManager: if track_info: if player.props.status == "Playing": - track_info = " " + track_info + track_info = " " + track_info else: - track_info = " " + track_info + track_info = " " + track_info # only print output if no other player is playing current_playing = self.get_first_playing_player() if ( diff --git a/waybar/style.css b/waybar/style.css index ec4e1f7..d68b636 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,8 +1,9 @@ @import 'mocha.css'; * { - font-family: 'Font Awesome 6 Free Regular', 'Maple Mono NF CN ExtraLight', 'Noto Sans', Arial, sans-serif; - font-size: 12px; + /* main font icons Chinese/Japanese/... Fallback */ + font-family: 'Sour Gummy Light', 'Meslo LGM Nerd Font Mono', 'Maple Mono NF CN ExtraLight', 'Noto Sans', sans-serif; + font-size: 16px; font-weight: 900; margin: 0; padding: 0; @@ -39,7 +40,7 @@ tooltip { #custom-workspacenew, #workspaces button { - padding: 3px 5px; /* Adjusted padding to reduce height */ + padding: 0px 5px; /* Adjusted padding to reduce height */ margin: 3px 5px; /* Reduced margin slightly */ border-radius: 6px; color: @foreground; diff --git a/wlogout/style.css b/wlogout/style.css index 6908a53..6183406 100644 --- a/wlogout/style.css +++ b/wlogout/style.css @@ -1,120 +1,120 @@ * { - background-image: none; - font-size: 16px; - font-family: 'Font Awesome 6 Free', 'Noto Sans', Arial, sans-serif; + background-image: none; + font-size: 24px; + font-family: 'Sour Gummy Light'; } window { - background-color: rgba(30, 30, 46, 0.5); + background-color: rgba(30, 30, 46, 0.5); } button { - color: #cdd6f4; - border-radius: 0; - outline-style: none; - background-color: alpha(#1e1e2e, 0.8); - border: none; - border-width: 0px; - border-radius: 0px; - border-color: #89b4fa; - box-shadow: none; - text-shadow: none; - text-decoration-color: #cdd6f4; - background-repeat: no-repeat; - background-position: center; - background-size: 20%; - animation: gradient_f 20s ease-in infinite; + color: #cdd6f4; + border-radius: 0; + outline-style: none; + background-color: alpha(#1e1e2e, 0.8); + border: none; + border-width: 0px; + border-radius: 0px; + border-color: #89b4fa; + box-shadow: none; + text-shadow: none; + text-decoration-color: #cdd6f4; + background-repeat: no-repeat; + background-position: center; + background-size: 20%; + animation: gradient_f 20s ease-in infinite; } button:focus, button:active, button:hover { - background-size: 20%; - background-color: alpha(#1e1e2e, 0.6); - animation: gradient_f 20s ease-in infinite; - transition: all 0.3s cubic-bezier(0.55, 0, 0.28, 1.682); + background-size: 20%; + background-color: alpha(#1e1e2e, 0.6); + animation: gradient_f 20s ease-in infinite; + transition: all 0.3s cubic-bezier(0.55, 0, 0.28, 1.682); } #lock { - background-image: image(url('./icons/lock.svg')); - border-radius: 32px 0 0 0; + background-image: image(url('./icons/lock.svg')); + border-radius: 32px 0 0 0; } #logout { - background-image: image(url('./icons/logout.svg')); + background-image: image(url('./icons/logout.svg')); } #suspend { - background-image: image(url('./icons/suspend.svg')); - border-radius: 0 32px 0 0; + background-image: image(url('./icons/suspend.svg')); + border-radius: 0 32px 0 0; } #hibernate { - background-image: image(url('./icons/hibernate.svg')); - border-radius: 0 0 0 32px; + background-image: image(url('./icons/hibernate.svg')); + border-radius: 0 0 0 32px; } #shutdown { - background-image: image(url('./icons/shutdown.svg')); + background-image: image(url('./icons/shutdown.svg')); } #reboot { - background-image: image(url('./icons/reboot.svg')); - border-radius: 0 0 32px 0; + background-image: image(url('./icons/reboot.svg')); + border-radius: 0 0 32px 0; } #lock:hover { - border-radius: 30px 0 0 0; - margin: -30px 0 0 -30px; + border-radius: 30px 0 0 0; + margin: -30px 0 0 -30px; } #logout:hover { - margin: -30px 0 0 0; + margin: -30px 0 0 0; } #suspend:hover { - border-radius: 0 30px 0 0; - margin: -30px -30px 0 0; + border-radius: 0 30px 0 0; + margin: -30px -30px 0 0; } #hibernate:hover { - border-radius: 0 0 0 30px; - margin: 0 0 -30 -30px; + border-radius: 0 0 0 30px; + margin: 0 0 -30 -30px; } #shutdown:hover { - margin: 0 0 -30px 0; + margin: 0 0 -30px 0; } #reboot:hover { - border-radius: 0 0 30px 0; - margin: 0 -30px -30px 0; + border-radius: 0 0 30px 0; + margin: 0 -30px -30px 0; } #lock:focus { - border-radius: 60px 0 0 0; - margin: -60px 0 0 -60px; + border-radius: 60px 0 0 0; + margin: -60px 0 0 -60px; } #logout:focus { - margin: -60px 0 0 0; + margin: -60px 0 0 0; } #suspend:focus { - border-radius: 0 60px 0 0; - margin: -60px -60px 0 0; + border-radius: 0 60px 0 0; + margin: -60px -60px 0 0; } #hibernate:focus { - border-radius: 0 0 0 60px; - margin: 0 0 -60 -60px; + border-radius: 0 0 0 60px; + margin: 0 0 -60 -60px; } #shutdown:focus { - margin: 0 0 -60px 0; + margin: 0 0 -60px 0; } #reboot:focus { - border-radius: 0 0 60px 0; - margin: 0 -60px -60px 0; + border-radius: 0 0 60px 0; + margin: 0 -60px -60px 0; }