Update waybar
This commit is contained in:
parent
dd26b79bdd
commit
d09224cb3b
@ -1,74 +1,77 @@
|
||||
{
|
||||
// Waybar reads JSONC and is styled via CSS.
|
||||
// niri has a native workspaces module "niri/workspaces".
|
||||
// Save as: ~/.config/waybar/config.jsonc
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 28,
|
||||
"gtk-layer-shell": true,
|
||||
|
||||
"modules-left": [
|
||||
"modules-left": [
|
||||
"niri/workspaces",
|
||||
],
|
||||
"modules-center": [
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/weather",
|
||||
"custom/loadavg",
|
||||
"custom/arrow10"
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"custom/arrow9",
|
||||
"pulseaudio",
|
||||
"custom/arrow8",
|
||||
"network",
|
||||
"custom/arrow7",
|
||||
"memory",
|
||||
"custom/arrow6",
|
||||
"cpu",
|
||||
"custom/arrow5",
|
||||
"temperature",
|
||||
"custom/arrow4",
|
||||
"battery",
|
||||
"custom/arrow3",
|
||||
"custom/docker",
|
||||
"custom/arrow2",
|
||||
"tray",
|
||||
"clock#date",
|
||||
"custom/arrow1",
|
||||
"clock#time"
|
||||
],
|
||||
|
||||
"cpu",
|
||||
"memory",
|
||||
"pulseaudio",
|
||||
"bluetooth",
|
||||
"battery",
|
||||
"tray",
|
||||
"clock"
|
||||
],
|
||||
// Modules
|
||||
|
||||
"battery": {
|
||||
"interval": 10,
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format-time": "{H}:{M:02}",
|
||||
"format": "{icon} {capacity}% ({time})",
|
||||
"format-charging": " {capacity}% ({time})",
|
||||
"format-charging-full": " {capacity}%",
|
||||
"format-full": "{icon} {capacity}%",
|
||||
"format-alt": "{icon} {power}W",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"clock#time": {
|
||||
"interval": 10,
|
||||
"format": "{:%H:%M}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"clock#date": {
|
||||
"interval": 20,
|
||||
"format": "{:%e %b %Y}",
|
||||
"tooltip": false
|
||||
//"tooltip-format": "{:%e %B %Y}"
|
||||
},
|
||||
|
||||
// ----- niri workspaces -----
|
||||
"niri/workspaces": {
|
||||
"format": "{name}",
|
||||
"on-click": "niri msg action toggle-overview",
|
||||
"disable-scroll": false
|
||||
},
|
||||
|
||||
// ----- CPU / Memory -----
|
||||
"cpu": {
|
||||
"interval": 3,
|
||||
"format": " {usage:>2}%"
|
||||
},
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": " {used:0.1f}G"
|
||||
},
|
||||
|
||||
// ----- Clock / Date -----
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
"format": " {:%a %b %d} {:%H:%M:%S}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
// ----- Loadavg (custom) -----
|
||||
"custom/loadavg": {
|
||||
"exec": "awk '{printf \" %s\", $1}' /proc/loadavg",
|
||||
"interval": 5,
|
||||
"return-type": "text",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
// ----- IP (custom) -----
|
||||
// Shows first non-loopback IPv4; adjust if you prefer a specific iface.
|
||||
"custom/ip": {
|
||||
"exec": "ip -4 -o addr show scope global | awk '{print $4}' | cut -d/ -f1 | head -n1 | awk '{print \" \"$1}'",
|
||||
"interval": 15,
|
||||
"return-type": "text",
|
||||
"tooltip": "ip -4 -o addr show"
|
||||
},
|
||||
|
||||
// ----- Docker (custom) -----
|
||||
"custom/docker": {
|
||||
"exec": "printf \" %s\" \"$(docker ps -q 2>/dev/null | wc -l)\"",
|
||||
"interval": 10,
|
||||
@ -76,30 +79,140 @@
|
||||
"tooltip": "docker ps"
|
||||
},
|
||||
|
||||
// ----- Bluetooth (native) -----
|
||||
"bluetooth": {
|
||||
"format": "{status}",
|
||||
"format-disabled": " off",
|
||||
"format-connected": " {num_connections}",
|
||||
"on-click": "blueman-manager"
|
||||
},
|
||||
"cpu": {
|
||||
"interval": 1,
|
||||
"tooltip": false,
|
||||
"format": " {usage}%",
|
||||
"format-alt": " {load}",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
// ----- Battery -----
|
||||
"battery": {
|
||||
"interval": 15,
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"states": {
|
||||
"warning": 25,
|
||||
"critical": 10
|
||||
}
|
||||
},
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": "{used:0.1f}G/{total:0.1f}G",
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
},
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
// ----- System tray -----
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing": 6
|
||||
}
|
||||
"network": {
|
||||
"interval": 5,
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": "{ifname}",
|
||||
"format-disconnected": "No connection",
|
||||
"format-alt": " {ipaddr}/{cidr}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "{}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{}",
|
||||
"max-length": 30,
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"disable-scroll-wraparound": true,
|
||||
"smooth-scrolling-threshold": 4,
|
||||
"enable-bar-scroll": true,
|
||||
"format": "{name}"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"scroll-step": 1,
|
||||
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"critical-threshold": 90,
|
||||
"interval": 5,
|
||||
"format": "{icon} {temperatureC}°",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 18
|
||||
//"spacing": 10
|
||||
},
|
||||
|
||||
"custom/arrow1": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow2": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow3": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow4": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow5": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow6": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow7": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow8": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow9": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"custom/arrow10": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
}
|
||||
}
|
||||
|
||||
// vi:ft=jsonc
|
||||
|
@ -1,51 +1,265 @@
|
||||
/* Waybar CSS — match your DWM palette + Hermit font */
|
||||
/* Keyframes */
|
||||
|
||||
@keyframes blink-critical {
|
||||
to {
|
||||
/*color: @white;*/
|
||||
background-color: @critical;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Styles */
|
||||
|
||||
/* Colors (gruvbox) */
|
||||
@define-color black #282828;
|
||||
@define-color red #cc241d;
|
||||
@define-color green #98971a;
|
||||
@define-color yellow #d79921;
|
||||
@define-color blue #458588;
|
||||
@define-color purple #b16286;
|
||||
@define-color aqua #689d6a;
|
||||
@define-color gray #a89984;
|
||||
@define-color brgray #928374;
|
||||
@define-color brred #fb4934;
|
||||
@define-color brgreen #b8bb26;
|
||||
@define-color bryellow #fabd2f;
|
||||
@define-color brblue #83a598;
|
||||
@define-color brpurple #d3869b;
|
||||
@define-color braqua #8ec07c;
|
||||
@define-color white #ebdbb2;
|
||||
@define-color bg2 #504945;
|
||||
|
||||
|
||||
@define-color warning @bryellow;
|
||||
@define-color critical @red;
|
||||
@define-color mode @black;
|
||||
@define-color unfocused @bg2;
|
||||
@define-color focused @braqua;
|
||||
@define-color inactive @purple;
|
||||
@define-color sound @brpurple;
|
||||
@define-color network @purple;
|
||||
@define-color memory @braqua;
|
||||
@define-color cpu @green;
|
||||
@define-color temp @brgreen;
|
||||
@define-color layout @bryellow;
|
||||
@define-color battery @aqua;
|
||||
@define-color date @black;
|
||||
@define-color time @white;
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
font-family: Hermit, monospace;
|
||||
font-size: 11pt;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: #222222;
|
||||
color: #eeeeee;
|
||||
border-bottom: 0px solid transparent;
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: rgba(40, 40, 40, 0.8784313725); /* #282828e0 */
|
||||
color: @white;
|
||||
font-family: JetBrains Mono, Siji;
|
||||
font-size: 10pt;
|
||||
/*font-weight: bold;*/
|
||||
}
|
||||
|
||||
/* Each module */
|
||||
#battery,
|
||||
#clock,
|
||||
#cpu,
|
||||
#language,
|
||||
#memory,
|
||||
#mode,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#tray,
|
||||
#backlight,
|
||||
#idle_inhibitor,
|
||||
#disk,
|
||||
#user,
|
||||
#mpris {
|
||||
padding-left: 8pt;
|
||||
padding-right: 8pt;
|
||||
}
|
||||
|
||||
/* Each critical module */
|
||||
#mode,
|
||||
#memory.critical,
|
||||
#cpu.critical,
|
||||
#temperature.critical,
|
||||
#battery.critical.discharging {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 1s;
|
||||
}
|
||||
|
||||
/* Each warning */
|
||||
#network.disconnected,
|
||||
#memory.warning,
|
||||
#cpu.warning,
|
||||
#temperature.warning,
|
||||
#battery.warning.discharging {
|
||||
color: @warning;
|
||||
}
|
||||
|
||||
/* And now modules themselves in their respective order */
|
||||
|
||||
/* Current sway mode (resize etc) */
|
||||
#mode {
|
||||
color: @white;
|
||||
background: @mode;
|
||||
}
|
||||
|
||||
/* Workspaces stuff */
|
||||
#workspaces button {
|
||||
padding: 0 6px;
|
||||
margin: 0 3px;
|
||||
border-radius: 6px;
|
||||
background: #222222;
|
||||
color: #bbbbbb;
|
||||
border: 1px solid #444444;
|
||||
/*font-weight: bold;*/
|
||||
padding-left: 2pt;
|
||||
padding-right: 2pt;
|
||||
color: @white;
|
||||
background: @unfocused;
|
||||
}
|
||||
#workspaces button.active {
|
||||
background: #458588; /* your light blue accent */
|
||||
color: #eeeeee;
|
||||
border-color: #458588;
|
||||
|
||||
/* Inactive (on unfocused output) */
|
||||
#workspaces button.visible {
|
||||
color: @white;
|
||||
background: @inactive;
|
||||
}
|
||||
|
||||
/* Active (on focused output) */
|
||||
#workspaces button.focused {
|
||||
color: @black;
|
||||
background: @focused;
|
||||
}
|
||||
|
||||
/* Contains an urgent window */
|
||||
#workspaces button.urgent {
|
||||
color: @black;
|
||||
background: @warning;
|
||||
}
|
||||
|
||||
/* Style when cursor is on the button */
|
||||
#workspaces button:hover {
|
||||
background: #444444;
|
||||
color: #eeeeee;
|
||||
background: @black;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#cpu, #memory, #clock, #pulseaudio, #battery, #tray,
|
||||
#custom-weather, #custom-loadavg, #custom-ip, #custom-docker, #bluetooth {
|
||||
padding: 0 10px;
|
||||
margin: 0 4px;
|
||||
border-radius: 8px;
|
||||
background: #222222;
|
||||
border: 1px solid #444444;
|
||||
#window {
|
||||
margin-right: 35pt;
|
||||
margin-left: 35pt;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: #bbbbbb;
|
||||
opacity: 0.7;
|
||||
}
|
||||
#battery.warning {
|
||||
color: #ffcc00;
|
||||
}
|
||||
#battery.critical {
|
||||
color: #ff5555;
|
||||
#pulseaudio {
|
||||
background: @sound;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#network {
|
||||
background: @network;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#memory {
|
||||
background: @memory;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background: @cpu;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background: @temp;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: @layout;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background: @battery;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background: @date;
|
||||
}
|
||||
|
||||
#clock.date {
|
||||
background: @date;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#clock.time {
|
||||
background: @time;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#custom-arrow1 {
|
||||
font-size: 11pt;
|
||||
color: @time;
|
||||
background: @date;
|
||||
}
|
||||
|
||||
#custom-arrow2 {
|
||||
font-size: 11pt;
|
||||
color: @date;
|
||||
background: @layout;
|
||||
}
|
||||
|
||||
#custom-arrow3 {
|
||||
font-size: 11pt;
|
||||
color: @layout;
|
||||
background: @battery;
|
||||
}
|
||||
|
||||
#custom-arrow4 {
|
||||
font-size: 11pt;
|
||||
color: @battery;
|
||||
background: @temp;
|
||||
}
|
||||
|
||||
#custom-arrow5 {
|
||||
font-size: 11pt;
|
||||
color: @temp;
|
||||
background: @cpu;
|
||||
}
|
||||
|
||||
#custom-arrow6 {
|
||||
font-size: 11pt;
|
||||
color: @cpu;
|
||||
background: @memory;
|
||||
}
|
||||
|
||||
#custom-arrow7 {
|
||||
font-size: 11pt;
|
||||
color: @memory;
|
||||
background: @network;
|
||||
}
|
||||
|
||||
#custom-arrow8 {
|
||||
font-size: 11pt;
|
||||
color: @network;
|
||||
background: @sound;
|
||||
}
|
||||
|
||||
#custom-arrow9 {
|
||||
font-size: 11pt;
|
||||
color: @sound;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#custom-arrow10 {
|
||||
font-size: 11pt;
|
||||
color: @unfocused;
|
||||
background: transparent;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user