waybar configs

This commit is contained in:
2026-05-01 14:59:59 +03:00
parent fc9362f926
commit 23287871f8
4 changed files with 359 additions and 0 deletions

136
.config/waybar/config.jsonc Normal file
View File

@@ -0,0 +1,136 @@
{
"reload_style_on_change": true,
"layer": "top",
"position": "top",
"margin-top": 6,
"margin-right": 8,
"margin-left": 8,
"spacing": 6,
"modules-left": ["custom/power-menu", "niri/workspaces", "group/player"],
"modules-center": ["clock"],
"modules-right": [
"tray",
"niri/language",
"cpu",
"memory",
"group/system-indicators"
],
"custom/power-menu": {
"format": " ",
"tooltip": false
},
"niri/workspaces": {
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"default": ""
}
},
// Player
"group/player": {
"orientation": "horizontal",
"modules": [
"custom/player-icon",
"mpris",
"custom/player-prev",
"custom/player-play-pause",
"custom/player-next"
]
},
"custom/player-icon": {
"format": " "
},
"custom/player-prev": {
"format": "󰒮",
"on-click": "playerctl previous",
"tooltip": false,
"interval": 0
},
"custom/player-play-pause": {
"exec": "~/.config/waybar/player-play-pause.sh",
"on-click": "playerctl play-pause",
"tooltip": false,
"interval": 0,
"return-type": "json"
},
"custom/player-next": {
"format": "󰒭",
"on-click": "playerctl next",
"tooltip": false,
"interval": 0
},
"mpris": {
"format": "{artist} 󰧞 {title}",
"max-length": 32,
"tooltip": false
},
"clock": {
"format": "{:L%R 󰧞 %a %d}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "month",
"weeks-pos" : "",
"on-scroll" : 1,
"format": {
"months": "<span color='#2e3440'><b>{}</b></span>",
"days": "<span color='#2e3440'><b>{}</b></span>",
"weekdays": "<span color='#4c566a'><b>{}</b></span>",
"today": "<span color='#5e81ac'><b><u>{}</u></b></span>"
}
}
},
"tray": {
"icon-size": 14,
"spacing": 10
},
"niri/language": {
"format": "󰌌 {short}"
},
"cpu": {
"format": " {usage}%",
"on-click": "alacritty -e btop",
"tooltip": false
},
"memory": {
"format": " {percentage}%",
"on-click": "alacritty -e btop",
"tooltip": false
},
// System Indicators
"group/system-indicators": {
"orientation": "horizontal",
"modules": ["network", "wireplumber"]
},
"network": {
"format-icons": ["󰤯", "󰤟", "󰤢", "󰤥", "󰤨"],
"format": "{icon}",
"format-wifi": "{icon}",
"tooltip-format-wifi": "{essid}\n⇣{bandwidthDownBytes}\n⇡{bandwidthUpBytes}",
"format-ethernet": "󰌗",
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"format-disconnected": "󰤮",
"tooltip-format-disconnected": "Нет подключения",
"interval": 3,
"on-click": "kitty --class waybar -e impala -m station"
},
"wireplumber": {
"scroll-step": 5,
"format": "{icon}",
"format-muted": "",
"format-icons": {
"default": ["", "", ""]
},
"tooltip": false,
"on-click": "kitty --class waybar -e wiremix"
}
}

View File

@@ -0,0 +1,78 @@
// -*- mode: jsonc -*-
{
"layer": "top",
"position": "top",
"height": 30,
"width": "auto",
"spacing": 4,
"modules-left": [
"hyprland/workspaces"
],
"modules-right": [
"custom/spotify",
"tray",
"hyprland/language",
"network",
"wireplumber",
"clock"
],
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"warp-on-scroll": false,
"format": "{icon}",
"format-icons": {
"1": "󰞷",
"2": "󰈹",
"3": "󰅴",
"4": "󰓇",
"5": "󰍡",
"urgent": "",
"focused": "",
"default": "󰧞"
}
},
"tray": {
// "icon-size": 20,
"spacing": 10,
// "icons": {
// "blueman": "bluetooth",
// "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png"
// }
},
"clock": {
"format": "{:%H:%M}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%d.%m.%Y}"
},
"hyprland/language": {
"format-en": "EN",
"format-ru": "RU"
},
"network": {
"format-wifi": "󰖩",
"format-ethernet": "󰌘",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "󰌙",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"wireplumber": {
"max-volume": 100,
""
"scroll-step": 2,
"format": "{icon} {volume}%",
"format-muted": "󰝟",
"format-icons": ["󰕿", "󰖀", "󰕾"],
"on-click": "helvum"
},
"custom/spotify": {
"exec": "/usr/bin/python3 ~/.config/waybar/mediaplayer.py --player spotify",
"format": "{}",
"return-type": "json",
"on-click": "playerctl --player=spotify play-pause",
"on-scroll-up": "playerctl previous",
"on-scroll-down": "playerctl next",
"smooth-scrolling-threshold": 4.0
}
}

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Получаем статус плеера
status=$(playerctl status 2>/dev/null)
if [ "$status" == "Playing" ]; then
icon="" # Pause
elif [ "$status" == "Paused" ]; then
icon="" # Play
else
icon="󰦢" # Нет плеера / stopped (можешь другой значок)
fi
# Выводим JSON для Waybar
echo "{\"text\": \"$icon\", \"class\": \"$status\"}"

130
.config/waybar/style.css Normal file
View File

@@ -0,0 +1,130 @@
* {
margin: 0;
padding: 0;
}
window#waybar {
color: #c0caf5;
background: alpha(#24283b, .85);
border-radius: 24px;
font-family: "JetBrainsMono Nerd Font";
font-size: 16px;
font-weight: 600;
}
.modules-left { margin-left: 4px; }
.modules-right { margin-right: 4px; }
#workspaces,
#player,
#clock,
#tray,
#language,
#cpu,
#memory,
#system-indicators {
background-color: #414868;
border-radius: 16px;
padding: 0 12px;
margin: 3px 0;
}
#workspaces button {
all: unset;
min-width: 12px;
margin: 10px 6px;
border-radius: 999px;
background-color: #c0caf5;
transition: all .2s ease;
}
#workspaces button label { font-size: 0; }
#workspaces button.active {
min-width: 36px;
background-color: #7C86FF;
}
#workspaces button.empty {
color: #565f89;
background-color: #565f89;
}
tooltip {
font-size: 16px;
background-color: #414868;
color: @text;
border: 3px solid #565f89;
outline: none;
box-shadow: none;
}
tooltip * {
outline: none;
box-shadow: none;
border: none;
}
tooltip label { margin: 12px; }
#custom-player-icon {
color: #7C86FF;
margin-right: 6px;
}
#mpris { margin-right: 16px; }
#custom-player-play-pause {
margin: 2px 8px;
padding: 0 9px;
color: #24283b;
background-color: #7C86FF;
border-radius: 999px;
transition: all .1s ease;
}
#custom-player-play-pause:hover { background-color: #c0caf5; }
#custom-player-prev:hover { color: #7aa2f7; }
#custom-player-next:hover { color: #7aa2f7; }
#clock { padding: 5px 12px; }
#network {
margin: 3px 3px 3px 0;
min-width: 16px;
border-radius: 16px;
padding-left: 4px;
padding-right: 6px;
}
#network.disabled { color: #565f89; }
#network.disconnected { color: #f7768e; }
#network.linked { color: #c0caf5; }
#network.wifi,
#network.ethernet { color: #7C86FF; }
#wireplumber {
min-width: 16px;
margin: 3px 0;
border-radius: 16px;
padding: 0 6px 0 3px;
}
#custom-power-menu {
min-width: 32px;
margin: 3px 0;
padding-left: 7px;
border-radius: 16px;
background-color: #414868;
color: #7C86FF;
}
#network:hover,
#wireplumber:hover,
#language:hover,
#cpu:hover,
#memory:hover,
#clock:hover,
#custom-power-menu:hover{
background-color: #565f89;
}