From 1f64a8fa0ac60777f6e02222b4e089f68cf28a85 Mon Sep 17 00:00:00 2001 From: Pavel Egorov Date: Mon, 15 Dec 2025 08:31:03 +0300 Subject: [waybar] Add simple waybar config --- .config/waybar/config.jsonc | 124 ++++++++++++++++++++++++++++++++++++++++++++ .config/waybar/style.css | 102 ++++++++++++++++++++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 .config/waybar/config.jsonc create mode 100644 .config/waybar/style.css (limited to '.config/waybar') diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..76d5f01 --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,124 @@ +// -*- mode: jsonc -*- +{ + "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 32, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "niri/workspaces" + ], + "modules-center": [ + "niri/window" + ], + "modules-right": [ + "tray", + "pulseaudio", + // "group/system-status", + // "user", + "niri/language", + "battery", + "clock" + ], + // Modules configuration + "niri/workspaces": { + "format": "{icon}", + "format-icons": { + "main": "", + "games": "󰊖", + "default": "" + } + }, + "niri/language": { + "format-en": "EN", + "format-ru": "RU" + }, + "tray": { + // "icon-size": 21, + "spacing": 10, + // "icons": { + // "blueman": "bluetooth", + // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" + // } + }, + "clock": { + "tooltip-format": "{:%Y %B}\n{calendar}", + "format": "{:%R}", + "format-alt": "{:%F}" + }, + "group/system-status": { + "modules": [ + "network", + "memory", + "cpu", + "temperature" + ], + "orientation": "inherit", + "drawer": { + } + }, + "cpu": { + "format": "CPU {usage}% {avg_frequency}", + "tooltip": false + }, + "memory": { + "format": "RAM {percentage}% + {swapPercentage}%" + }, + "user": { + "format": "{work_H}:{work_M} Up" + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C" + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "network": { + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr}", + "tooltip-format": "{ifname} via {gwaddr}", + "format-linked": "{ifname} (No IP)", + "format-disconnected": "Disconnected ⚠", + "format-alt": "↑ {bandwidthUpBits} ↓ {bandwidthDownBits}" + }, + "pulseaudio": { + "scroll-step": 5, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..42ecf2b --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,102 @@ +* { + font-family: "NotoSans Nerd Font", sans-serif; + font-size: 14px; + color: rgba(238, 238, 238, 1); +} + +window#waybar { + background-color: rgb(40, 40, 46); + border-bottom: 1px solid rgba(238, 238, 238, 0.3); + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +tooltip { + background: rgb(40, 40, 46); +} + +tooltip label { + padding: 0.2em 0.4em; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + min-width: 2em; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + color: rgb(150, 145, 238); + background-color: rgba(238, 238, 238, 0.2); + box-shadow: inset 0 -3px rgb(150, 145, 238); +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +window#window { + font-family: "JetBrainsMono", monospace; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} -- cgit v1.3