From 6d49a475b1c04000c741f3bf31b86873d75ac151 Mon Sep 17 00:00:00 2001 From: Uyanide Date: Tue, 29 Jul 2025 01:29:28 +0200 Subject: [PATCH] memos --- .memo/dolphin-foreground.md | 15 + ...{fish-keybindings => fish-keybindings.txt} | 0 .memo/{fzf-usage => fzf-usage.txt} | 0 .memo/{git-msg => git-msg.txt} | 0 .../{hyprland-ricing => hyprland-ricing.txt} | 37 +- .memo/logi-mouse-suspend.txt | 29 + ...prime-offload => nvidia-prime-offload.txt} | 0 .memo/{nvim-usage => nvim-usage.txt} | 0 .memo/plasma-wrong-ntfmgr.md | 35 + .memo/swapfile-btrfs.md | 8 +- .memo/{tailscale-nfs => tailscale-nfs.txt} | 0 .memo/waydroid-google-assistant.txt | 6 + .scripts/waybar-toggle.sh | 22 +- eww/Main/eww.scss | 276 +++--- hypr/hyprland/env.conf | 2 +- hypr/hyprland/general.conf | 2 +- hypr/hyprland/keybinds.conf | 2 +- waybar/config.jsonc | 818 +++++++++--------- waybar/modules/caffeine.sh | 6 +- 19 files changed, 673 insertions(+), 585 deletions(-) create mode 100644 .memo/dolphin-foreground.md rename .memo/{fish-keybindings => fish-keybindings.txt} (100%) rename .memo/{fzf-usage => fzf-usage.txt} (100%) rename .memo/{git-msg => git-msg.txt} (100%) rename .memo/{hyprland-ricing => hyprland-ricing.txt} (54%) create mode 100644 .memo/logi-mouse-suspend.txt rename .memo/{nvidia-prime-offload => nvidia-prime-offload.txt} (100%) rename .memo/{nvim-usage => nvim-usage.txt} (100%) create mode 100644 .memo/plasma-wrong-ntfmgr.md rename .memo/{tailscale-nfs => tailscale-nfs.txt} (100%) create mode 100644 .memo/waydroid-google-assistant.txt diff --git a/.memo/dolphin-foreground.md b/.memo/dolphin-foreground.md new file mode 100644 index 0000000..d2752de --- /dev/null +++ b/.memo/dolphin-foreground.md @@ -0,0 +1,15 @@ +WM 下 Dolphin 的前景色可能会很奇怪,在 .config/dolphinrc 中添加以下内容可以解决: + +```conf +[UiSettigs] +ColorScheme= +``` + +例如大家都喜欢的猫布奇-抹茶-蓝 + +```conf +[UiSettigs] +ColorScheme=Catppuccin Mocha Blue +``` + +colorscheme 名(大概)可以在 `~/.local/share/color-schemes/`下的文件中查看。 diff --git a/.memo/fish-keybindings b/.memo/fish-keybindings.txt similarity index 100% rename from .memo/fish-keybindings rename to .memo/fish-keybindings.txt diff --git a/.memo/fzf-usage b/.memo/fzf-usage.txt similarity index 100% rename from .memo/fzf-usage rename to .memo/fzf-usage.txt diff --git a/.memo/git-msg b/.memo/git-msg.txt similarity index 100% rename from .memo/git-msg rename to .memo/git-msg.txt diff --git a/.memo/hyprland-ricing b/.memo/hyprland-ricing.txt similarity index 54% rename from .memo/hyprland-ricing rename to .memo/hyprland-ricing.txt index 31823f3..3b74940 100644 --- a/.memo/hyprland-ricing +++ b/.memo/hyprland-ricing.txt @@ -3,8 +3,8 @@ things I have installed: full KDE Plasma 6 setup # not essential for sure which can provide: SDDM theme # Breeze is enough - kcalc/kalc # calculator(s) - kcolorchooser # works smoothly on hyprland + kcalc/kalc # calculator(s), what's the difference? + kcolorchooser # or hyprpicker pipewire & friends ... @@ -14,31 +14,28 @@ hyprpaper hypridle hyprlock hyprshot -hyprlicker # kcolorchooser also works though +hyprpicker hyprland-plugin-hyprexpo # scale workspaces and put them in a grid # xdg-desktop-portal* xdg-desktop-portal -xdg-desktop-portal-kde # Dolphin as file picker (change value of widget.use-xdg-desktop-portal.file-picker in about:config if not working correctly in firefox) +xdg-desktop-portal-kde # Dolphin as file picker (for firefox, change value of widget.use-xdg-desktop-portal.file-picker in about:config if not working correctly) xdg-desktop-portal-hyprland # not working with my Intel iGPU, but fine with NVIDIA dGPU # terminal emulator(s) kitty # normal terminal -ghostty # floating terminal, for btop for example# +ghostty # floating terminal, for btop for example # under surface -mako # notification daemon -gnome-keyring # --password-store=gnome-libsecret +mako # notification daemon +gnome-keyring # --password-store=gnome-libsecret wl-clipboard -cliphist # clipboard history -network-manager-applet # nm-applet -slurp # region selector -wf-recorder # screen recorder +cliphist # clipboard history +slurp # region selector +wf-recorder # screen recorder brightnessctl playerctl pamixer -qt5ct -qt6ct # GUI waybar @@ -46,12 +43,13 @@ eww wlogout rofi(-wayland) mpv -blueman # bluetooth GUI & applet +network-manager-applet # nm-applet +blueman # bluetooth GUI & applet pavucontrol -gnome-text-editor # or kwrite, just notepad replacement -btop # system monitor -activate-linux # :/ -polkit-gnome # polkit authentication agent +gnome-text-editor # or kwrite, just notepad replacement +btop # system monitor +activate-linux # :/ +polkit-gnome # polkit authentication agent # fonts & themes maplemono-nf-cn / ttf-maplemono-nf-cn-unhinted (archlinuxcn) @@ -62,6 +60,9 @@ spicetify # spotify tweaks spicetify-maketplace # spotify themes nwg-look # theme of GTK apps catppuccin-gtk-theme-mocha # theme of GTK apps +kvantum +qt5ct +qt6ct # utils bc diff --git a/.memo/logi-mouse-suspend.txt b/.memo/logi-mouse-suspend.txt new file mode 100644 index 0000000..da28fe1 --- /dev/null +++ b/.memo/logi-mouse-suspend.txt @@ -0,0 +1,29 @@ +虽然不是很确定发生了什么,但总归记录一下 + +问题: + 休眠后立即唤醒 + +环境: + hyprland (kde 下无此问题) + hybrid (独显直连没有测试) + +结论: + 罗技 Bolt 接收器导致的 + +解决1: + 修改 /proc/acpi/wakeup 禁用 usb 唤醒 + 修改什么?问 LLM 吧,现在的我也不知道 :) + +解决2: + 安装 solaar 并启动 + 步骤: + 创建 plugdev 用户组: + sudo groupadd plugdev + sudo usermod $(whoami) -aG plugdev + 安装 solaar + 启用驱动: + sudo modprobe hid_logitech_dj + 重载 udev 规则: + sudo udevadm control --reload-rules + 插拔 Bolt 接收器 + 启动! diff --git a/.memo/nvidia-prime-offload b/.memo/nvidia-prime-offload.txt similarity index 100% rename from .memo/nvidia-prime-offload rename to .memo/nvidia-prime-offload.txt diff --git a/.memo/nvim-usage b/.memo/nvim-usage.txt similarity index 100% rename from .memo/nvim-usage rename to .memo/nvim-usage.txt diff --git a/.memo/plasma-wrong-ntfmgr.md b/.memo/plasma-wrong-ntfmgr.md new file mode 100644 index 0000000..fb13f46 --- /dev/null +++ b/.memo/plasma-wrong-ntfmgr.md @@ -0,0 +1,35 @@ +当安装了其他 notification manager 时,plasma 在启动时可能会选择错误的 notification manager 导致通知中心无法正常工作 (虽然平时也并不怎么在意这玩意,用什么 daemon 都无所谓,只要有通知看就行) + +如何知道是否是这种情况呢?以 mako 为例: + +1. 先知道 mako 是什么时候被启动的 (或者自己推算时间): + ```sh + journalctl --user -u mako.service --no-pager -g 'Starting' + ``` +2. 查看先后的日志: + ```sh + journalctl --user --since '2025-07-29 00:43:16' --until '2025-07-29 00:43:18' + ``` +3. 如果发现类似以下内容: + ``` + ... + Jul 29 00:43:17 Artemisia systemd[1080]: Starting Lightweight Wayland notification daemon... + Jul 29 00:43:17 Artemisia systemd[1080]: Started Lightweight Wayland notification daemon. + ... + Jul 29 00:43:17 Artemisia plasmashell[1599]: org.kde.plasma.notificationmanager: Failed to register Notification service on DBus + ... + ``` + 那就是这种情况了。 + +解决方法也很简单,启动时屏蔽掉错误的服务,例如: + +```sh +systemctl --user mask mako.service +``` + +或者将 plasmashell 的 notificationmanager 优先级提高: + +```sh +mkdir -p ~/.local/share/dbus-1/services/ +ln -s /usr/share/dbus-1/services/org.kde.plasma.Notifications.service ~/.local/share/dbus-1/services/org.kde.plasma.Notifications.service +``` diff --git a/.memo/swapfile-btrfs.md b/.memo/swapfile-btrfs.md index 47622d3..1d43fca 100644 --- a/.memo/swapfile-btrfs.md +++ b/.memo/swapfile-btrfs.md @@ -1,4 +1,4 @@ -在 btrfs 分区下使用 swapfile 创建虚拟内存: +在 btrfs 分区下使用 swapfile 创建虚拟内存 (复杂方法): 1. 创建 swap 子卷 (假定已经挂载到 /mnt): @@ -12,7 +12,7 @@ btrfs subvolume create /mnt/@swap touch /mnt/@swap/swapfile ``` -3. 设置 COW 禁用属性: +3. 禁用 COW: ```bash chattr +C /mnt/@swap/swapfile @@ -44,9 +44,7 @@ swapon --show 7. 修改 `/etc/fstab` 以自动挂载 swap 文件: ```conf -# Btrfs @swap subvolume -UUID={btrfs-uuid} /swap btrfs subvol=@swap,defaults,noatime 0 0 +UUID={btrfs-uuid} /swap btrfs rw,noatime,ssd,discard=async,space_cache=v2,subvol=/@swap 0 0 -# Swap file /swap/swapfile none swap sw 0 0 ``` diff --git a/.memo/tailscale-nfs b/.memo/tailscale-nfs.txt similarity index 100% rename from .memo/tailscale-nfs rename to .memo/tailscale-nfs.txt diff --git a/.memo/waydroid-google-assistant.txt b/.memo/waydroid-google-assistant.txt new file mode 100644 index 0000000..3df7974 --- /dev/null +++ b/.memo/waydroid-google-assistant.txt @@ -0,0 +1,6 @@ +安卓 13 + +搜索 Assistant,点进 General,禁用 +搜索 Default Apps,将 Digital assistant app 设置为 None + +这样按 super 键就不会弹出 Google Assistant 了 diff --git a/.scripts/waybar-toggle.sh b/.scripts/waybar-toggle.sh index 175e0fc..56f831c 100755 --- a/.scripts/waybar-toggle.sh +++ b/.scripts/waybar-toggle.sh @@ -1,12 +1,7 @@ #!/bin/env bash function close() { - if pgrep -x "waybar" > /dev/null; then - killall -q waybar - - # Wait until the processes have been shut down - while pgrep -x waybar >/dev/null; do sleep 1; done - fi + killall -q waybar # Also close the lyrics widget if open if eww active-windows | grep -q "lyrics-single"; then @@ -15,23 +10,32 @@ function close() { } function open() { + # the system tray will not work with kded6 started + if killall -q "kded6"; then + while pgrep -x "kded6" >/dev/null; do + sleep 0.2 + done + fi waybar & } if [ -z "$1" ]; then close + while pgrep -x "waybar" >/dev/null; do + sleep 0.2 + done open elif [ "$1" = "close" ]; then - if ! pgrep -x "waybar" > /dev/null; then + if ! pgrep -x "waybar" >/dev/null; then exit 1 fi close elif [ "$1" = "open" ]; then - if pgrep -x "waybar" > /dev/null; then + if pgrep -x "waybar" >/dev/null; then exit 1 fi open else echo "Usage: $0 [close|open]" exit 1 -fi \ No newline at end of file +fi diff --git a/eww/Main/eww.scss b/eww/Main/eww.scss index e3ae64b..c978238 100644 --- a/eww/Main/eww.scss +++ b/eww/Main/eww.scss @@ -1,271 +1,271 @@ * { - all: unset; - transition: 200ms ease-out; + all: unset; + transition: 200ms ease-out; } .main-window { - background-color: $bg; - font-family: 'Font Awesome 6 Free', FontAwesome; - border-radius: 20px; - border: 2px solid $blue; + background-color: $bg; + font-family: 'Font Awesome 6 Free', FontAwesome; + border-radius: 20px; + border: 2px solid $blue; } .date-box { - // background-color: $bg; - margin: 20px 20px 0px 20px; - min-width: 290px; - padding: 20px 10px 20px 10px; - border-radius: 15px; - color: $fg; - // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + // background-color: $bg; + margin: 20px 20px 0px 20px; + min-width: 290px; + padding: 20px 10px 20px 10px; + border-radius: 15px; + color: $fg; + // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .time { - font-weight: bold; - font-size: 80px; - margin-top: 24px; + font-weight: bold; + font-size: 80px; + margin-top: 24px; } .date { - font-family: 'Noto Sans'; - font-size: 24px; - margin-top: 20px; + font-family: 'Noto Sans'; + font-size: 24px; + margin-top: 20px; } .weather-box { - background-color: $gray-alt; - margin: 20px 20px 0px 0px; - padding: 20px 10px 10px 20px; - border-radius: 15px; - box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + background-color: $gray-alt; + margin: 20px 20px 0px 0px; + padding: 20px 10px 10px 20px; + border-radius: 15px; + box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .weather-desc { - font-family: 'Noto Sans'; - color: $fg-alt; - font-size: 20px; + font-family: 'Noto Sans'; + color: $fg-alt; + font-size: 20px; } .weather-temp { - font-size: 30px; - color: $fg; - padding-top: 10px; + font-size: 30px; + color: $fg; + padding-top: 10px; } .weather-icon { - font-family: 'MesloLGM Nerd Font'; - font-size: 60px; - margin-top: 5px; + font-family: 'MesloLGM Nerd Font'; + font-size: 60px; + margin-top: 5px; } .weather-updatetime { - color: $fg-alt; - font-size: 12px; - margin-top: 10px; + color: $fg-alt; + font-size: 12px; + margin-top: 10px; } .stats-box { - background-color: $gray-alt; - margin: 20px 20px 0px 20px; - padding: 20px 35px 20px 25px; - border-radius: 15px; - box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + background-color: $gray-alt; + margin: 20px 20px 0px 20px; + padding: 20px 35px 20px 25px; + border-radius: 15px; + box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .stats-header { - font-size: 20px; - font-weight: bold; - color: $gray; + font-size: 20px; + font-weight: bold; + color: $gray; } .volume-icon, .brightness-icon, .cpu-icon, .memory-icon { - font-size: 20px; - color: $fg; + font-size: 20px; + color: $fg; } .volume-scale trough, .brightness-scale trough, .cpu-scale trough, .memory-scale trough { - all: unset; - background-color: $gray; - min-height: 10px; - border-radius: 15px; - margin-left: 10px; + all: unset; + background-color: $gray; + min-height: 10px; + border-radius: 15px; + margin-left: 10px; } .volume-scale highlight { - background-color: $sapphire; - border-radius: 15px; + background-color: $sapphire; + border-radius: 15px; } .brightness-scale highlight { - background-color: $teal; - border-radius: 15px; + background-color: $teal; + border-radius: 15px; } .cpu-scale highlight { - background-color: $yellow; - border-radius: 15px; + background-color: $yellow; + border-radius: 15px; } .memory-scale highlight { - background-color: $peach; - border-radius: 15px; + background-color: $peach; + border-radius: 15px; } .fortune-box { - // background-color: $gray-alt; - margin: 20px 20px 0px 0px; - padding: 20px 35px 20px 25px; - border-radius: 15px; - // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + // background-color: $gray-alt; + margin: 20px 20px 0px 0px; + padding: 20px 35px 20px 25px; + border-radius: 15px; + // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .fortune-header { - font-size: 20px; - font-weight: bold; - color: $gray; + font-size: 20px; + font-weight: bold; + color: $gray; } .fortune-text { - font-family: 'Noto Sans'; - font-size: 14px; - color: $fg; - margin-top: 10px; + font-family: 'Noto Sans'; + font-size: 14px; + color: $fg; + margin-top: 10px; } .music-art-box { - background-size: cover; - background-repeat: no-repeat; - min-width: 455px; - min-height: 240px; - border-radius: 17px; - background-position: center; - margin: 20px 0px 0px 20px; - box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + background-size: cover; + background-repeat: no-repeat; + min-width: 455px; + min-height: 240px; + border-radius: 17px; + background-position: center; + margin: 20px 0px 0px 20px; + box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .music-title { - margin: 20px 0px 0px 20px; - font-size: 28px; - font-weight: bold; - color: $fg; + margin: 20px 0px 0px 20px; + font-size: 28px; + font-weight: bold; + color: $fg; } .music-artist { - margin: 10px 0px 0px 20px; - font-size: 20px; - color: $fg-alt; + margin: 10px 0px 0px 20px; + font-size: 20px; + color: $fg-alt; } .music-length { - margin: 90px 0px 0px 20px; - font-size: 18px; - font-weight: bold; - color: $fg-alt; + margin: 90px 0px 0px 20px; + font-size: 18px; + font-weight: bold; + color: $fg-alt; } .music-stuff-box { - border-radius: 15px; - background: linear-gradient(to right, $bg-alt, transparent); - min-height: 240px; + border-radius: 15px; + background: linear-gradient(to right, $bg-alt, transparent); + min-height: 240px; } .player-cover-box { - background-size: 140px; - min-height: 140px; - min-width: 140px; - border-radius: 20px; - background-repeat: no-repeat; - background-position: center; + background-size: 140px; + min-height: 140px; + min-width: 140px; + border-radius: 20px; + background-repeat: no-repeat; + background-position: center; } .player-box { - margin: 40px 30px 30px 50px; + margin: 40px 30px 30px 50px; } .player-info-box { - font-size: 14px; + font-size: 14px; } .player-info-title, .player-info-artist { - color: $blue; - font-weight: bold; + color: $blue; + font-weight: bold; } .player-info-album, .player-info-length { - color: $fg-alt; + color: $fg-alt; } .player-info-button { - background-color: $gray-alt; - padding: 15px; - border-radius: 20px; - font-weight: bold; - margin-top: 10px; + background-color: $gray-alt; + padding: 15px; + border-radius: 20px; + font-weight: bold; + margin-top: 10px; } .cavabar { - font-size: 14px; - color: $blue; + font-size: 14px; + color: $blue; } .music-controls-box { - margin: 20px 20px 0px 20px; - // background-color: $gray-alt; - padding: 0px 23px 0px 23px; - border-radius: 15px; - text-shadow: 0px 0px 10px rgba(0, 0, 0, 1); - // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + margin: 20px 20px 0px 20px; + // background-color: $gray-alt; + padding: 0px 23px 0px 23px; + border-radius: 15px; + text-shadow: 0px 0px 10px rgba(0, 0, 0, 1); + // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .music-next, .music-previous { - font-size: 30px; + font-size: 30px; } .music-pp { - font-size: 44px; - color: $fg; + font-size: 44px; + color: $fg; } .music-next:hover, .music-previous:hover, .music-pp:hover { - color: $orange; + color: $orange; } .profile-stuff-box { - margin: 20px 20px 20px 20px; - // background-color: $gray-alt; - border-radius: 15px; - padding: 15px 20px 15px 20px; - // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + margin: 20px 20px 20px 20px; + // background-color: $gray-alt; + border-radius: 15px; + padding: 15px 20px 15px 20px; + // box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .profile-img { - border-radius: 10px; - background-repeat: no-repeat; - background-size: cover; - background-position: center; - min-width: 90px; - box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); + border-radius: 10px; + background-repeat: no-repeat; + background-size: cover; + background-position: center; + min-width: 90px; + box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.5); } .profile-stuff { - font-family: 'Noto Sans'; - padding: 7px 0px 0px 30px; - font-size: 16px; - color: $fg; + font-family: 'Noto Sans'; + padding: 7px 0px 0px 30px; + font-size: 16px; + color: $fg; } .profile-name { - font-family: 'Font Awesome 6 Free', FontAwesome; - font-weight: bold; + font-family: 'Font Awesome 6 Free', FontAwesome; + font-weight: bold; } diff --git a/hypr/hyprland/env.conf b/hypr/hyprland/env.conf index 2ef8930..63b6877 100755 --- a/hypr/hyprland/env.conf +++ b/hypr/hyprland/env.conf @@ -24,4 +24,4 @@ env = NVD_BACKEND,direct env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = ELECTRON_OZONE_PLATFORM_HINT,auto -env = DISPLAY_DEVICE,intel_backlight # or nvidia_0 \ No newline at end of file +env = DISPLAY_DEVICE,nvidia_0 # or nvidia_0 \ No newline at end of file diff --git a/hypr/hyprland/general.conf b/hypr/hyprland/general.conf index db24d18..cb8d713 100755 --- a/hypr/hyprland/general.conf +++ b/hypr/hyprland/general.conf @@ -49,7 +49,7 @@ general { gaps_in = 2 gaps_out = 0, 3, 3, 3 gaps_workspaces = 50 - border_size = 1 + border_size = 2 resize_on_border = true no_focus_fallback = true diff --git a/hypr/hyprland/keybinds.conf b/hypr/hyprland/keybinds.conf index 42c25db..cf40efc 100755 --- a/hypr/hyprland/keybinds.conf +++ b/hypr/hyprland/keybinds.conf @@ -6,7 +6,7 @@ bind = Super, C, exec, code --password-store=gnome-libsecret # Launch VSCode (editor) bind = Super, E, exec, dolphin --new-window # Launch Dolphin (file manager) bind = Super, W, exec, firefox --new-window # Launch Firefox -bind = Super, X, exec, gnome-text-editor --new-window # Launch GNOME Text Editor +bind = Super, X, exec, kwrite # Launch GNOME Text Editor bind = Super, B, exec, killall btop || ghostty -e btop # Launch btop (system monitor) bind = Super, Space, exec, eww open main --toggle # Launch dashboard (eww) bind = Super+Shift, V, exec, pavucontrol # Launch pavucontrol (volume mixer) diff --git a/waybar/config.jsonc b/waybar/config.jsonc index cd1af19..2b84abe 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -1,431 +1,431 @@ { - // ------------------------------------------------------------------------- - // Global configuration - // ------------------------------------------------------------------------- - "layer": "top", - "position": "top", - "height": 55, - "margin-left": 0, - "margin-bottom": 0, - "margin-right": 0, - "spacing": 2, // Gaps between modules (px) - "modules-left": [ - "custom/rofi", - // "hyprland/workspaces", - // "custom/workspacenew", - "group/workspaceactions", - "hyprland/window", - //"hyprland/submap", - //"idle_inhibitor", - //"mpd" - "custom/mediaplayer" - ], - "modules-center": [ - "clock#date" - //"custom/gammastep" - ], - "modules-right": [ - // "network#speed", - // "memory", - // "cpu", - // "battery", - // //"pulseaudio", - // "backlight", - // "wireplumber", - "group/monitors", - // "bluetooth", - // "network", - "tray", - "custom/caffeine", - "custom/power" - ], - // ------------------------------------------------------------------------- - // Modules - // ------------------------------------------------------------------------- - // Separators - "custom/sp1": { - "format": " | ", - "tooltip": false - }, - "custom/sp2": { - "format": " |", - "tooltip": false - }, + // ------------------------------------------------------------------------- + // Global configuration + // ------------------------------------------------------------------------- + "layer": "top", + "position": "top", + "height": 55, + "margin-left": 0, + "margin-bottom": 0, + "margin-right": 0, + "spacing": 2, // Gaps between modules (px) + "modules-left": [ + "custom/rofi", + // "hyprland/workspaces", + // "custom/workspacenew", + "group/workspaceactions", + "hyprland/window", + //"hyprland/submap", + //"idle_inhibitor", + //"mpd" + "custom/mediaplayer" + ], + "modules-center": [ + "clock#date" + //"custom/gammastep" + ], + "modules-right": [ + // "network#speed", + // "memory", + // "cpu", + // "battery", + // //"pulseaudio", + // "backlight", + // "wireplumber", + "group/monitors", + // "bluetooth", + // "network", + "tray", + "custom/caffeine", + "custom/power" + ], + // ------------------------------------------------------------------------- + // Modules + // ------------------------------------------------------------------------- + // Separators + "custom/sp1": { + "format": " | ", + "tooltip": false + }, + "custom/sp2": { + "format": " |", + "tooltip": false + }, - // Buttons - "custom/power": { - "format": "󰐥", - "tooltip": false, - "on-click": "wlogout", - "on-click-right": "hyprctl dispatch killactive", - "min-length": 2, - "max-length": 2 - }, - "custom/rofi": { - "format": "", - "tooltip": false, - // "on-click-right": "fuzzel -l 0 -p '>> ' | xargs -r sh -c", - // "on-click": "fuzzel", - // "on-click-middle": "pkill -9 fuzzel", - "on-click": "eww open main --toggle", - "on-click-right": "pkill rofi || rofi -show drun", - "min-length": 2, - "max-length": 2 - }, - "custom/caffeine": { - "format": "{icon}", - "return-type": "json", - "interval": "once", - "exec": "$HOME/.config/waybar/modules/caffeine.sh", - "on-click": "$HOME/.config/waybar/modules/caffeine.sh toggle && sleep 1", - "exec-on-event": true, - "min-length": 2, - "max-length": 2, - "tooltip": false, - "format-icons": { - "active": "", - "inactive": "" - } - }, + // Buttons + "custom/power": { + "format": "󰐥", + "tooltip": false, + "on-click": "wlogout", + "on-click-right": "hyprctl dispatch killactive", + "min-length": 2, + "max-length": 2 + }, + "custom/rofi": { + "format": "", + "tooltip": false, + // "on-click-right": "fuzzel -l 0 -p '>> ' | xargs -r sh -c", + // "on-click": "fuzzel", + // "on-click-middle": "pkill -9 fuzzel", + "on-click": "eww open main --toggle", + "on-click-right": "pkill rofi || rofi -show drun", + "min-length": 2, + "max-length": 2 + }, + "custom/caffeine": { + "format": "{icon}", + "return-type": "json", + "interval": "once", + "exec": "$HOME/.config/waybar/modules/caffeine.sh", + "on-click": "$HOME/.config/waybar/modules/caffeine.sh toggle && sleep 0.2", + "exec-on-event": true, + "min-length": 2, + "max-length": 2, + "tooltip": false, + "format-icons": { + "active": "", + "inactive": "" + } + }, - // Time and Date - "clock": { - "format": " {:%H:%M  %e %b}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "today-format": "{}" - }, - "clock#date": { - "format": "󰥔 {:%H:%M |  %e %b}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "today-format": "{}" - }, - "clock#1": { - "format": " {:%a}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#2": { - "format": " {:%d-%h-%Y}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "clock#3": { - "format": " {:%H:%M:%S %p}", - "tooltip": false, - "on-click": "gsimplecal" - }, - "custom/screenshot_t": { - "format": " ", - "on-click": "~/.config/hypr/scripts/screenshot_full", - "on-click-right": "~/.config/hypr/scripts/screenshot_area" - }, + // Time and Date + "clock": { + "format": " {:%H:%M  %e %b}", + "tooltip-format": "{:%Y %B}\n{calendar}", + "today-format": "{}" + }, + "clock#date": { + "format": "󰥔 {:%H:%M |  %e %b}", + "tooltip-format": "{:%Y %B}\n{calendar}", + "today-format": "{}" + }, + "clock#1": { + "format": " {:%a}", + "tooltip": false, + "on-click": "gsimplecal" + }, + "clock#2": { + "format": " {:%d-%h-%Y}", + "tooltip": false, + "on-click": "gsimplecal" + }, + "clock#3": { + "format": " {:%H:%M:%S %p}", + "tooltip": false, + "on-click": "gsimplecal" + }, + "custom/screenshot_t": { + "format": " ", + "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"], - "orientation": "inherit" + // System monitors + "group/monitors": { + "modules": ["network#speed", "temperature", "memory", "cpu", "battery", "backlight", "wireplumber"], + "orientation": "inherit" + }, + "network#speed": { + "interval": 1, + "format": "{ifname}", + "format-wifi": " {bandwidthDownBytes}  {bandwidthUpBytes} ", + "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes} ", + "format-disconnected": "󰌙", + "tooltip-format": "{ipaddr}", + "format-linked": "󰈁 {ifname} (No IP)", + "tooltip-format-wifi": "{essid} {signalStrength}%", + "tooltip-format-ethernet": "{ifname} 󰌘", + "tooltip-format-disconnected": "󰌙 Disconnected", + "max-length": 24, + "min-length": 20 + }, + "temperature": { + "interval": 5, + "thermal-zone": 6, + "hwmon-path": "/sys/class/hwmon/hwmon6/temp1_input", + "critical-threshold": 80, + // "format-critical": " {temperatureC}°C", + "format-critical": " {temperatureC}°C", + "format": "{icon} {temperatureC}°C", + "format-icons": ["", "", ""], + "max-length": 7, + "min-length": 7 + }, + "memory": { + "interval": 11, + // "format": " {used:0.2f} / {total:0.0f} GB", + "format": "󰍛 {percentage}%", + "on-click": "killall btop || ghostty -e btop", + "min-length": 7, + "max-length": 7 + }, + "cpu": { + "interval": 3, + //"format": " {}%", // Icon: microchip + "format": "󰘚 {usage}%", + "max-length": 7, + "min-length": 7, + "on-click": "killall btop || ghostty -e btop" + }, + "battery": { + "interval": 30, + "states": { + "good": 95, + "warning": 30, + "critical": 15 }, - "network#speed": { - "interval": 1, - "format": "{ifname}", - "format-wifi": " {bandwidthDownBytes}  {bandwidthUpBytes} ", - "format-ethernet": " {bandwidthDownBytes}  {bandwidthUpBytes} ", - "format-disconnected": "󰌙", - "tooltip-format": "{ipaddr}", - "format-linked": "󰈁 {ifname} (No IP)", - "tooltip-format-wifi": "{essid} {signalStrength}%", - "tooltip-format-ethernet": "{ifname} 󰌘", - "tooltip-format-disconnected": "󰌙 Disconnected", - "max-length": 24, - "min-length": 20 - }, - "temperature": { - "interval": 5, - "thermal-zone": 6, - "hwmon-path": "/sys/class/hwmon/hwmon6/temp1_input", - "critical-threshold": 80, - // "format-critical": " {temperatureC}°C", - "format-critical": " {temperatureC}°C", - "format": "{icon} {temperatureC}°C", - "format-icons": ["", "", ""], - "max-length": 7, - "min-length": 7 - }, - "memory": { - "interval": 11, - // "format": " {used:0.2f} / {total:0.0f} GB", - "format": "󰍛 {percentage}%", - "on-click": "killall btop || ghostty -e btop", - "min-length": 7, - "max-length": 7 - }, - "cpu": { - "interval": 3, - //"format": " {}%", // Icon: microchip - "format": "󰘚 {usage}%", - "max-length": 7, - "min-length": 7, - "on-click": "killall btop || ghostty -e btop" - }, - "battery": { - "interval": 30, - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-icons": ["", "", "", "", ""], - "max-length": 7, - "min-length": 7 - }, - "backlight": { - "device": "$DISPLAY_DEVICE", - "format": "{icon} {percent}%", - "format-alt": "{percent}% {icon}", - "format-alt-click": "click-right", - //"format-icons": ["", ""], - "format-icons": [""], - "on-scroll-down": "brightnessctl -d $DISPLAY_DEVICE set 5%-", - "on-scroll-up": "brightnessctl -d $DISPLAY_DEVICE set +5%", - "max-length": 7, - "min-length": 7 - }, - "wireplumber": { - "on-click": "pavucontrol", - //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"; - "on-scroll-down": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-", - "on-scroll-up": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+", - "format": "{icon} {volume}%", - "format-muted": "", - "format-source": "", - "format-source-muted": "", - //"format-muted": "", - //"format-icons": [ "" ] - "format-icons": { - "headphone": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", "", "", "", ""] - }, - "max-length": 7, - "min-length": 7 + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-icons": ["", "", "", "", ""], + "max-length": 7, + "min-length": 7 + }, + "backlight": { + "device": "$DISPLAY_DEVICE", + "format": "{icon} {percent}%", + "format-alt": "{percent}% {icon}", + "format-alt-click": "click-right", + //"format-icons": ["", ""], + "format-icons": [""], + "on-scroll-down": "brightnessctl -d $DISPLAY_DEVICE set 5%-", + "on-scroll-up": "brightnessctl -d $DISPLAY_DEVICE set +5%", + "max-length": 7, + "min-length": 7 + }, + "wireplumber": { + "on-click": "pavucontrol", + //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"; + "on-scroll-down": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-", + "on-scroll-up": "wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+", + "format": "{icon} {volume}%", + "format-muted": "", + "format-source": "", + "format-source-muted": "", + //"format-muted": "", + //"format-icons": [ "" ] + "format-icons": { + "headphone": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", "", "", "", ""] }, + "max-length": 7, + "min-length": 7 + }, - // Hyprland - "group/workspaceactions": { - "modules": ["hyprland/workspaces#special", "hyprland/workspaces", "custom/workspacenew"], - "orientation": "inherit" + // Hyprland + "group/workspaceactions": { + "modules": ["hyprland/workspaces#special", "hyprland/workspaces", "custom/workspacenew"], + "orientation": "inherit" + }, + "hyprland/workspaces": { + "all-outputs": true, + "format": "{name}", + "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null", + "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null", + "sort-by-number": true, + "active-only": false + }, + "hyprland/workspaces#special": { + "persistent-workspaces": { + "special:s": [] }, - "hyprland/workspaces": { - "all-outputs": true, - "format": "{name}", - "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null", - "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null", - "sort-by-number": true, - "active-only": false - }, - "hyprland/workspaces#special": { - "persistent-workspaces": { - "special:s": [] - }, - "persistent-only": true, - "show-special": true, - "special-visible-only": false, - "format": "{icon}" - }, - "custom/workspacenew": { - "format": "+", - "tooltip": false, - "on-click": "~/.scripts/workspace-new.sh" - }, - "hyprland/window": { - "max-length": 100, - "separate-outputs": true, - "hide-empty-text": true - }, - "custom/mediaplayer": { - "format": "{text}", - "return-type": "json", - "max-length": 100, - "format-icons": { - "spotify": "", - "default": "" - }, - "escape": true, - "exec": "$HOME/.config/waybar/modules/mediaplayer.py 2> /dev/null", - "on-click": "playerctl play-pause", - "on-click-right": "~/.scripts/lyrics-widgets.sh", - "on-scroll-up": "playerctl next", - "on-scroll-down": "playerctl previous" - }, - "tray": { - "icon-size": 15, - "spacing": 5 + "persistent-only": true, + "show-special": true, + "special-visible-only": false, + "format": "{icon}" + }, + "custom/workspacenew": { + "format": "+", + "tooltip": false, + "on-click": "~/.scripts/workspace-new.sh" + }, + "hyprland/window": { + "max-length": 100, + "separate-outputs": true, + "hide-empty-text": true + }, + "custom/mediaplayer": { + "format": "{text}", + "return-type": "json", + "max-length": 100, + "format-icons": { + "spotify": "", + "default": "" }, + "escape": true, + "exec": "$HOME/.config/waybar/modules/mediaplayer.py 2> /dev/null", + "on-click": "playerctl play-pause", + "on-click-right": "~/.scripts/lyrics-widgets.sh", + "on-scroll-up": "playerctl next", + "on-scroll-down": "playerctl previous" + }, + "tray": { + "icon-size": 15, + "spacing": 5 + }, - // Not used - "network": { - "format-wifi": " {essid} ({signalStrength}%)", - "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", - "format-linked": "{ifname} (No IP)", - "format": "", - "format-disconnected": "󰌙", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)", - "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)", - "tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n", - "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}", - "interval": 10, - "max-length": 12 - }, - "custom/storage": { - "format": " {}", - "format-alt": "{percentage}% ", - "format-alt-click": "click-right", - "return-type": "json", - "interval": 60, - "exec": "~/.config/waybar/modules/storage.sh" - }, + // Not used + "network": { + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", + "format-linked": "{ifname} (No IP)", + "format": "", + "format-disconnected": "󰌙", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)", + "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)", + "tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n", + "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}", + "interval": 10, + "max-length": 12 + }, + "custom/storage": { + "format": " {}", + "format-alt": "{percentage}% ", + "format-alt-click": "click-right", + "return-type": "json", + "interval": 60, + "exec": "~/.config/waybar/modules/storage.sh" + }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - }, - "tooltip": "true" + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" }, - "custom/weather": { - "format": "{}", - "format-alt": "{alt}: {}", - "format-alt-click": "click-right", - "interval": 3600, - "exec": "curl -s 'https://wttr.in/?format=1'", - //"return-type": "json", - //"exec": "~/.config/waybar/modules/weather.sh", - "exec-if": "ping wttr.in -c1" + "tooltip": "true" + }, + "custom/weather": { + "format": "{}", + "format-alt": "{alt}: {}", + "format-alt-click": "click-right", + "interval": 3600, + "exec": "curl -s 'https://wttr.in/?format=1'", + //"return-type": "json", + //"exec": "~/.config/waybar/modules/weather.sh", + "exec-if": "ping wttr.in -c1" + }, + "custom/pacman": { + "format": "􏆲 {}", + "interval": 3600, // every hour + "exec": "checkupdates | wc -l", // # of updates + "exec-if": "exit 0", // always run; consider advanced run conditions + "on-click": "ghostty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system + "signal": 8, + "max-length": 7, + "min-length": 3 + }, + "custom/spotify": { + "exec": "~/.config/waybar/mediaplayer.py --player spotify", + "format": "{} ", + "return-type": "json", + "on-click": "playerctl play-pause", + "on-scroll-up": "playerctl next", + "on-scroll-down": "playerctl previous" + }, + "custom/media": { + "format": "{0} {1}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" }, - "custom/pacman": { - "format": "􏆲 {}", - "interval": 3600, // every hour - "exec": "checkupdates | wc -l", // # of updates - "exec-if": "exit 0", // always run; consider advanced run conditions - "on-click": "ghostty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system - "signal": 8, - "max-length": 7, - "min-length": 3 + "escape": true + //"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder + // "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/gammastep": { + "interval": 5, + "return-type": "json", + "exec": { + "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi", + "alt": "${status:-inactive}", + "tooltip": "Gammastep is $status" }, - "custom/spotify": { - "exec": "~/.config/waybar/mediaplayer.py --player spotify", - "format": "{} ", - "return-type": "json", - "on-click": "playerctl play-pause", - "on-scroll-up": "playerctl next", - "on-scroll-down": "playerctl previous" + "format": "{icon}", + "format-icons": { + "activating": "󰁪 ", + "deactivating": "󰁪 ", + "inactive": "? ", + "active (Night)": " ", + "active (Nighttime)": " ", + "active (Transition (Night)": " ", + "active (Transition (Nighttime)": " ", + "active (Day)": " ", + "active (Daytime)": " ", + "active (Transition (Day)": " ", + "active (Transition (Daytime)": " " }, - "custom/media": { - "format": "{0} {1}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true - //"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder - // "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - }, - "custom/gammastep": { - "interval": 5, - "return-type": "json", - "exec": { - "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi", - "alt": "${status:-inactive}", - "tooltip": "Gammastep is $status" - }, - "format": "{icon}", - "format-icons": { - "activating": "󰁪 ", - "deactivating": "󰁪 ", - "inactive": "? ", - "active (Night)": " ", - "active (Nighttime)": " ", - "active (Transition (Night)": " ", - "active (Transition (Nighttime)": " ", - "active (Day)": " ", - "active (Daytime)": " ", - "active (Transition (Day)": " ", - "active (Transition (Daytime)": " " - }, - "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep" - }, - "mpd": { - "max-length": 25, - "format": " {title}", - "format-paused": " {title}", - "format-stopped": "", - "format-disconnected": "", - "on-click": "mpc --quiet toggle", - "on-click-right": "mpc update; mpc ls | mpc add", - "on-click-middle": "ghostty -e ncmpcpp", - "on-scroll-up": "mpc --quiet prev", - "on-scroll-down": "mpc --quiet next", - "smooth-scrolling-threshold": 5, - "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" - }, - "custom/title": { - "format": "{}", - "interval": 0, - "return-type": "json", - //"max-length": 35, - "tooltip": false - }, - "custom/title#name": { - "format": "{}", - "interval": 0, - "return-type": "json", - "max-length": 35, - "exec": "$HOME/.scripts/title" - }, - /*"custom/keyboard": { + "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep" + }, + "mpd": { + "max-length": 25, + "format": " {title}", + "format-paused": " {title}", + "format-stopped": "", + "format-disconnected": "", + "on-click": "mpc --quiet toggle", + "on-click-right": "mpc update; mpc ls | mpc add", + "on-click-middle": "ghostty -e ncmpcpp", + "on-scroll-up": "mpc --quiet prev", + "on-scroll-down": "mpc --quiet next", + "smooth-scrolling-threshold": 5, + "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})" + }, + "custom/title": { + "format": "{}", + "interval": 0, + "return-type": "json", + //"max-length": 35, + "tooltip": false + }, + "custom/title#name": { + "format": "{}", + "interval": 0, + "return-type": "json", + "max-length": 35, + "exec": "$HOME/.scripts/title" + }, + /*"custom/keyboard": { "format": " {}", "interval": 1, "exec": "$HOME/.config/waybar/get_kbdlayout.sh" },*/ - "pulseaudio": { - "scroll-step": 3, // %, can be a float - "format": "{icon} {volume}% {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - //"format-source": "{volume}% ", - //"format-source-muted": "", - "format-source": "", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol", - "on-click-right": "amixer sset Master toggle" + "pulseaudio": { + "scroll-step": 3, // %, can be a float + "format": "{icon} {volume}% {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + //"format-source": "{volume}% ", + //"format-source-muted": "", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] }, - "bluetooth": { - "format-on": "󰂯", - "format-off": "󰂲", - "format-disabled": "", // an empty format will hide the module - "format-connected": "󰂱 {num_connections}", - "tooltip-format-connected": "{device_enumerate}", - "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", - "on-click": "blueberry", - "max-length": 3, - "min-length": 3 - } + "on-click": "pavucontrol", + "on-click-right": "amixer sset Master toggle" + }, + "bluetooth": { + "format-on": "󰂯", + "format-off": "󰂲", + "format-disabled": "", // an empty format will hide the module + "format-connected": "󰂱 {num_connections}", + "tooltip-format-connected": "{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "on-click": "blueberry", + "max-length": 3, + "min-length": 3 + } } diff --git a/waybar/modules/caffeine.sh b/waybar/modules/caffeine.sh index da39558..76661f3 100755 --- a/waybar/modules/caffeine.sh +++ b/waybar/modules/caffeine.sh @@ -11,18 +11,18 @@ if [ -n "$1" ]; then pid=$(pgrep -x "hypridle") if [ -n "$pid" ]; then killall hypridle > /dev/null 2>&1 + notify-send "Caffeine enabled" "POWERRR!!!" else hyprctl dispatch exec hypridle > /dev/null 2>&1 + notify-send "Caffeine disabled" "zzz..." fi exit 0 fi -sleep 0.3 # Allow hypridle to start +# sleep 0.2 # Allow hypridle to start pid=$(pgrep -x "hypridle") if [ -n "$pid" ]; then output "inactive" "inactive" - notify-send "Caffeine disabled" "zzz..." else output "active" "active" - notify-send "Caffeine enabled" "POWERRR!!!" fi \ No newline at end of file