updated waybar and added settings for cn-mate

This commit is contained in:
2025-03-24 22:39:36 +01:00
parent fec5a5bfb0
commit e49fa372fa
5 changed files with 617 additions and 48 deletions

View File

@@ -4,21 +4,25 @@
"mod": "dock",
"exclusive": true,
"gtk-layer-shell": true,
"margin-bottom": -1,
"passthrough": false,
"height": 30,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [],
"modules-center": [
"mpris",
"privacy"
],
"modules-right": [
"custom/alhp",
"cpu",
"memory",
"disk",
"tray",
"bluetooth",
"pulseaudio",
"network",
"battery",
"tray",
"clock"
],
"hyprland/language": {
@@ -37,14 +41,6 @@
"format": " {usage}%",
"max-length": 10
},
"temperature": {
"hwmon-path-abs": "/sys/devices/platform/coretemp.0/hwmon",
"input-filename": "temp2_input",
"critical-threshold": 75,
"tooltip": false,
"format-critical": "({temperatureC}°C)",
"format": "({temperatureC}°C)"
},
"disk": {
"interval": 30,
"format": "󰋊 {percentage_used}%",
@@ -74,7 +70,7 @@
"spacing": 3
},
"clock": {
"format": "{:%R - %d.%m.%Y}",
"format": "{:%R | %d.%m.%Y}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "year",
@@ -99,7 +95,6 @@
}
},
"network": {
"interface": "eno1",
"format-wifi": "{essid} ({signalStrength}%) {icon}",
"format-ethernet": "{ifname}",
"format-disconnected": "󰌙",
@@ -140,9 +135,9 @@
]
},
"pulseaudio": {
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format": "{volume}% {icon} ",
"format-bluetooth": "{volume}% {icon} ",
"format-muted": " ",
"format-icons": {
"alsa_output.pci-0000_00_1f.3.analog-stereo": "",
"alsa_output.pci-0000_00_1f.3.analog-stereo-muted": "",
@@ -163,5 +158,57 @@
"ignored-sinks": [
"Easy Effects Sink"
]
},
"privacy": {
"icon-spacing": 4,
"icon-size": 14,
"transition-duration": 250,
"modules": [
{
"type": "screenshare",
"tooltip": true,
"tooltip-icon-size": 12
},
{
"type": "audio-out",
"tooltip": true,
"tooltip-icon-size": 12
},
{
"type": "audio-in",
"tooltip": true,
"tooltip-icon-size": 12
}
]
},
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
"dynamic-len": 50,
"ellipsis": "…",
"player-icons": {
"default": "▶",
"mpv": "🎵"
},
"status-icons": {
"paused": "⏸"
}
},
"bluetooth": {
"format": " {status}",
"on-click": "overskride",
"format-connected": " {device_alias}",
"format-connected-battery": " {device_alias} {device_battery_percentage}%",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
},
"custom/alhp": {
"exec": "$HOME/.config/waybar/scripts/alhp.sh",
"format": "{} \uEB29 ",
"return-type": "json",
"interval": 60,
"tooltip": true
}
}

View File

@@ -0,0 +1,214 @@
{
"layer": "bottom",
"position": "bottom",
"mod": "dock",
"exclusive": true,
"gtk-layer-shell": true,
"passthrough": false,
"height": 30,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [
"mpris",
"privacy"
],
"modules-right": [
"custom/alhp",
"cpu",
"memory",
"disk",
"bluetooth",
"pulseaudio",
"network",
"battery",
"tray",
"clock"
],
"hyprland/language": {
"format": "{}",
"format-en": "ENG",
"format-ru": "РУС"
},
"hyprland/workspaces": {
"icon-size": 32,
"spacing": 16,
"on-scroll-up": "hyprctl dispatch workspace r+1",
"on-scroll-down": "hyprctl dispatch workspace r-1"
},
"cpu": {
"interval": 5,
"format": " {usage}%",
"max-length": 10
},
"disk": {
"interval": 30,
"format": "󰋊 {percentage_used}%",
"path": "/",
"tooltip": true,
"unit": "GB",
"tooltip-format": "Available {free} of {total}"
},
"memory": {
"interval": 10,
"format": " {percentage}%",
"max-length": 10,
"tooltip": true,
"tooltip-format": "RAM - {used:0.1f}GiB used"
},
"wlr/taskbar": {
"format": "{icon} {title:.17}",
"icon-size": 28,
"spacing": 3,
"on-click-middle": "close",
"tooltip-format": "{title}",
"ignore-list": [],
"on-click": "activate"
},
"tray": {
"icon-size": 18,
"spacing": 3
},
"clock": {
"format": "{:%R | %d.%m.%Y}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "year",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"network": {
"format-wifi": "{essid} ({signalStrength}%) {icon}",
"format-ethernet": "{ifname}",
"format-disconnected": "󰌙",
"tooltip-format": "{ifname} via {gwaddr} 󰊗",
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
"tooltip-format-ethernet": "{ifname} ",
"tooltip-format-disconnected": "Disconnected",
"format-icons": [
"󰤯 ",
"󰤟 ",
"󰤢 ",
"󰤢 ",
"󰤨 "
]
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-icons": [
"󰂎",
"󰁺",
"󰁻",
"󰁼",
"󰁽",
"󰁾",
"󰁿",
"󰂀",
"󰂁",
"󰂂",
"󰁹"
]
},
"pulseaudio": {
"format": "{volume}% {icon} ",
"format-bluetooth": "{volume}% {icon} ",
"format-muted": " ",
"format-icons": {
"alsa_output.pci-0000_00_1f.3.analog-stereo": "",
"alsa_output.pci-0000_00_1f.3.analog-stereo-muted": "",
"headphone": "",
"hands-free": "",
"headset": "\uF025",
"phone": "",
"phone-muted": "",
"portable": "",
"car": "",
"default": [
"",
""
]
},
"scroll-step": 5,
"on-click": "pwvucontrol",
"ignored-sinks": [
"Easy Effects Sink"
]
},
"privacy": {
"icon-spacing": 4,
"icon-size": 14,
"transition-duration": 250,
"modules": [
{
"type": "screenshare",
"tooltip": true,
"tooltip-icon-size": 12
},
{
"type": "audio-out",
"tooltip": true,
"tooltip-icon-size": 12
},
{
"type": "audio-in",
"tooltip": true,
"tooltip-icon-size": 12
}
]
},
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
"dynamic-len": 50,
"ellipsis": "…",
"player-icons": {
"default": "▶",
"mpv": "🎵"
},
"status-icons": {
"paused": "⏸"
}
},
"bluetooth": {
"format": " {status}",
"on-click": "overskride",
"format-connected": " {device_alias}",
"format-connected-battery": " {device_alias} {device_battery_percentage}%",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
},
"custom/alhp": {
"exec": "$HOME/.config/waybar/scripts/alhp.sh",
"format": "{} \uEB29 ",
"return-type": "json",
"interval": 60,
"tooltip": true
}
}

28
.config/waybar/scripts/alhp.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/usr/bin/env bash
# Retrieve JSON output from alhp.utils.
readonly ALHP_OUTPUT=$(alhp.utils -j)
# Extract "total" as a string and read "packages" into a Bash array.
readonly total=$(echo "$ALHP_OUTPUT" | jq -r '.total | tostring')
readarray -t packages < <(echo "$ALHP_OUTPUT" | jq -r '.packages[]?')
# Initialize default tooltip and class.
tooltip=''
class='good'
# Use arithmetic evaluation to check if total is greater than 0.
if (( total > 0 )); then
class='bad'
fi
# If there are any packages, join them with newline as separator.
if (( ${#packages[@]} > 0 )); then
tooltip=$(IFS=$'\n'; echo "${packages[*]}")
else
tooltip="All good"
fi
# Generate compact JSON output (all in one line) with jq.
jq -nc --arg text "$total" --arg class "$class" --arg tooltip "$tooltip" \
'{text: $text, class: $class, tooltip: $tooltip}'

View File

@@ -1,3 +1,22 @@
/*base background color*/
@define-color bg_main rgba(25, 25, 25, 0.65);
@define-color bg_main_tooltip rgba(0, 0, 0, 0.7);
/*base background color of selections */
@define-color bg_hover rgba(200, 200, 200, 0.3);
/*base background color of active elements */
@define-color bg_active rgba(100, 100, 100, 0.5);
/*base border color*/
@define-color border_main rgba(255, 255, 255, 0.2);
/*text color for entries, views and content in general */
@define-color content_main white;
/*text color for entries that are unselected */
@define-color content_inactive rgba(255, 255, 255, 0.25);
* {
text-shadow: none;
box-shadow: none;
@@ -14,6 +33,7 @@ window#waybar {
}
tooltip {
font-size: 14px;
background: @bg_main_tooltip;
border-radius: 5px;
border-width: 1px;
@@ -24,6 +44,11 @@ tooltip label{
color: @content_main;
}
.module {
margin-left: 2px;
margin-right: 2px;
}
#workspaces {
color: transparent;
margin-right: 1.5px;
@@ -32,18 +57,16 @@ tooltip label{
#workspaces button {
padding: 3px;
color: @content_inactive;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#workspaces button.active {
color: @content_main;
border-bottom: 3px solid white;
color: whitesmoke;
background: @bg_active;
}
#workspaces button.focused {
color: @bg_active;
}
#workspaces button.urgent {
background: rgba(255, 200, 0, 0.35);
border-bottom: 3px dashed @warning_color;
background: rgba(255, 200, 0, 0.35);
color: @warning_color;
}
#workspaces button:hover {
@@ -52,26 +75,9 @@ tooltip label{
}
#cpu, #disk, #memory {
padding: 5px;
}
#temperature {
color: transparent;
font-size: 0px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#temperature.critical {
padding-right: 3px;
color: @warning_color;
font-size: initial;
border-bottom: 3px dashed @warning_color;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#window {
border-radius: 10px;
margin-left: 20px;
margin-right: 20px;
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
}
#tray{
@@ -95,9 +101,9 @@ tooltip label{
}
#pulseaudio {
font-family: "Inconsolata Go Nerd Font";
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
padding-right: 1rem;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#pulseaudio:hover {
@@ -105,13 +111,9 @@ tooltip label{
}
#network {
padding-left: 5px;
border-bottom: 1px solid grey;
padding-right: 5px;
}
#language {
padding-left: 5px;
padding-right: 5px;
}
#clock {
@@ -122,3 +124,79 @@ tooltip label{
#clock:hover {
background: @bg_hover;
}
#privacy {
}
#privacy-item {
padding-left: 5px;
padding-right: 5px;
}
#privacy-item.screenshare {
background: #850404;
}
#privacy-item.audio-in {
background: #6c045e;
}
#privacy-item.audio-out {
background: #02605b;
}
#mpris {
padding-left: 5px;
padding-right: 5px;
}
#mpris.playing {
}
#mpris.paused {
}
#mpris.stopped {
}
#mpris.firefox {
border-bottom: 1px solid #fd8728;
}
#mpris.spotify {
border-bottom: 1px solid #17d860;
}
#mpris.mpv {
border-bottom: 1px solid #420042;
}
#mpris.chromium {
border-bottom: 1px solid #1a73e8;
}
#bluetooth {
padding-right: 5px;
padding-left: 5px;
}
#bluetooth.disabled {
border-bottom: 1px solid grey;
}
#bluetooth.off {
border-bottom: 1px solid grey;
}
#bluetooth.on {
border-bottom: 1px solid #0059fd;
}
#bluetooth.connected {
border-bottom: 1px solid #00b7fa;
}
#bluetooth.discoverable {
}
#bluetooth.discovering {
}
#bluetooth.pairable {
}
#bluetooth.no-controller {
background: darkred;
}
#custom-alhp {
padding-left: 5px;
padding-right: 5px;
}
#custom-alhp.good {
border-bottom: 1px solid greenyellow;
}
#custom-alhp.bad {
border-bottom: 1px solid orangered;
}

View File

@@ -0,0 +1,202 @@
/*base background color*/
@define-color bg_main rgba(25, 25, 25, 0.65);
@define-color bg_main_tooltip rgba(0, 0, 0, 0.7);
/*base background color of selections */
@define-color bg_hover rgba(200, 200, 200, 0.3);
/*base background color of active elements */
@define-color bg_active rgba(100, 100, 100, 0.5);
/*base border color*/
@define-color border_main rgba(255, 255, 255, 0.2);
/*text color for entries, views and content in general */
@define-color content_main white;
/*text color for entries that are unselected */
@define-color content_inactive rgba(255, 255, 255, 0.25);
* {
text-shadow: none;
box-shadow: none;
border: none;
border-radius: 0;
font-family: "Inconsolata Go Nerd Font";
font-size: 14px;
}
window#waybar {
background: @bg_main;
border-top: 1px solid @border_main;
color: @content_main;
}
tooltip {
font-size: 14px;
background: @bg_main_tooltip;
border-radius: 5px;
border-width: 1px;
border-style: solid;
border-color: @border_main;
}
tooltip label{
color: @content_main;
}
.module {
margin-left: 2px;
margin-right: 2px;
}
#workspaces {
color: transparent;
margin-right: 1.5px;
margin-left: 1.5px;
}
#workspaces button {
padding: 3px;
color: @content_inactive;
}
#workspaces button.active {
color: whitesmoke;
background: @bg_active;
}
#workspaces button.focused {
color: @bg_active;
}
#workspaces button.urgent {
background: rgba(255, 200, 0, 0.35);
color: @warning_color;
}
#workspaces button:hover {
background: @bg_hover;
color: @content_main;
}
#cpu, #disk, #memory {
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
}
#tray{
padding-left: 5px;
padding-right: 5px;
}
#tray > .passive {
border-bottom: none;
}
#tray > .active {
}
#tray > .needs-attention {
border-bottom: 3px solid @warning_color;
}
#tray > widget {
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#tray > widget:hover {
background: @bg_hover;
}
#pulseaudio {
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#pulseaudio:hover {
background: @bg_hover;
}
#network {
border-bottom: 1px solid grey;
padding-right: 5px;
padding-left: 5px;
}
#clock {
padding-right: 5px;
padding-left: 5px;
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#clock:hover {
background: @bg_hover;
}
#privacy {
}
#privacy-item {
padding-left: 5px;
padding-right: 5px;
}
#privacy-item.screenshare {
background: #850404;
}
#privacy-item.audio-in {
background: #6c045e;
}
#privacy-item.audio-out {
background: #02605b;
}
#mpris {
padding-left: 5px;
padding-right: 5px;
}
#mpris.playing {
}
#mpris.paused {
}
#mpris.stopped {
}
#mpris.firefox {
border-bottom: 1px solid #fd8728;
}
#mpris.spotify {
border-bottom: 1px solid #17d860;
}
#mpris.mpv {
border-bottom: 1px solid #420042;
}
#mpris.chromium {
border-bottom: 1px solid #1a73e8;
}
#bluetooth {
padding-right: 5px;
padding-left: 5px;
}
#bluetooth.disabled {
border-bottom: 1px solid grey;
}
#bluetooth.off {
border-bottom: 1px solid grey;
}
#bluetooth.on {
border-bottom: 1px solid #0059fd;
}
#bluetooth.connected {
border-bottom: 1px solid #00b7fa;
}
#bluetooth.discoverable {
}
#bluetooth.discovering {
}
#bluetooth.pairable {
}
#bluetooth.no-controller {
background: darkred;
}
#custom-alhp {
padding-left: 5px;
padding-right: 5px;
}
#custom-alhp.good {
border-bottom: 1px solid greenyellow;
}
#custom-alhp.bad {
border-bottom: 1px solid orangered;
}