Page:
Module: Niri
Pages
Abrar's Waybar
Add a custom plugin.
Anik's waybar config (super waybar)
Ariacna Æsama
Arkboi
Chocolate & Cream
Configuration
Dynamic wallust powered waybar
ERS’ waybar
Examples
FAQ
Home
Installation
JohanChane's waybar
Module: Backlight Slider
Module: Backlight
Module: Battery
Module: Bluetooth
Module: CFFI
Module: CPU
Module: Cava
Module: Cava: GLSL
Module: Cava: Raw
Module: Clock
Module: Custom
Module: Custom: Examples
Module: Custom: Menu
Module: Custom: Third party
Module: Disk
Module: Dwl
Module: Gamemode
Module: Group
Module: Hyprland
Module: Idle Inhibitor
Module: Image
Module: JACK
Module: Keyboard State
Module: Language
Module: Load
Module: MPD
Module: MPRIS
Module: Memory
Module: Network
Module: Niri
Module: PowerProfilesDaemon
Module: Privacy
Module: PulseAudio Slider
Module: PulseAudio
Module: River
Module: Sndio
Module: Sway
Module: Systemd failed units
Module: Taskbar
Module: Temperature
Module: Tray
Module: UPower
Module: User
Module: WirePlumber
Module: Workspaces
Modules
Simple and Attractive
States
Styling
That's all bitches
Themes
Thos' config based on pywal
Tray Applets
Writing Modules
apachaiz's waybar
d00m1k's configuration
lingllqs's simple dark style configuration
mechabar
mudi4's waybar
new waylyrics
nitrobigchill's waybar
rdk‐codes configuration
waybar config
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
These modules require niri >= 0.1.9.
Workspaces
The workspaces module displays the currently used workspaces in niri.
Configuration
Addressed by niri/workspaces
| option | typeof | default | description |
|---|---|---|---|
all-outputs |
bool | false |
If set to false, workspaces will only be shown on the output they are on. If set to true all workspaces will be shown on every output. |
format |
string | {value} |
The format, how information should be displayed. |
format-icons |
object | Based on the workspace name and state, the corresponding icon gets selected. See Icons |
|
disable-click |
bool | false |
If set to false, you can click to change workspace. If set to true this behaviour is disabled. |
disable-markup |
bool | false |
If set to true, button label will escape pango markup. |
current-only |
bool | false |
If set to true, only the active or focused workspace will be shown. |
on-update |
string | Command to execute when the module is updated. |
Format replacements:
| string | replacement |
|---|---|
{value} |
Name of the workspace, or index for unnamed workspaces, as defined by niri. |
{name} |
Name of the workspace for named workspaces. |
{icon} |
Icon, as defined in format-icons. |
{index} |
Index of the workspace on its output. |
{output} |
Output where the workspace is located. |
Icons:
Additional to workspace name matching, the following format-icons can be set.
| port name | note |
|---|---|
default |
Will be shown when no string matches are found. |
focused |
Will be shown when the workspace is focused. |
active |
Will be shown when the workspace is active on its output. |
Example:
"niri/workspaces": {
"format": "{icon}",
"format-icons": {
// Named workspaces
// (you need to configure them in niri)
"browser": "",
"discord": "",
"chat": "<b></b>",
// Icons by state
"active": "",
"default": ""
}
}
Style
#workspaces#workspaces button#workspaces button.focusedThe single focused workspace.#workspaces button.activeThe workspace is active (visible) on its output.#workspaces button.emptyThe workspace is empty.#workspaces button.current_outputThe workspace is from the same output as the bar that it is displayed on.#workspaces button#niri-workspace-<name>Workspaces named this, or index for unnamed workspaces.
The way the CSS is evaluated you need to order it in order of importance with last taking precedent.
Window
The window module displays the title of the currently focused window in niri.
Configuration
Addressed by niri/window
| option | typeof | default | description |
|---|---|---|---|
format |
string | {title} |
The format, how information should be displayed. On {} the current window title is displayed. |
rewrite |
object | {} |
Rules to rewrite the module format output. The rules are identical to those for sway/window. |
separate-outputs |
bool | false |
Show the active window of the monitor the bar belongs to, instead of the focused window. |
icon |
bool | false |
Option to disable application icon. |
icon-size |
integer | 24 |
Set the size of application icon. |
Format Replacements:
See the output of niri msg windows for examples.
| string | replacement |
|---|---|
{title} |
The current title of the focused window. |
{app_id} |
The current app ID of the focused window. |
Example:
"niri/window": {
"format": "{}",
"rewrite": {
"(.*) - Mozilla Firefox": "🌎 $1",
"(.*) - zsh": "> [$1]"
}
}
Style
#window
The following classes can apply styles to the entire Waybar (see the Sway module's page for more info):
window#waybar.emptyWhen no windows are in the workspacewindow#waybar.soloWhen one tiled window is visible in the workspace (floating windows may be present)window#waybar.<app_id>Where<app_id>is the app ID (e.g.neovide) of the only window on the workspace (useniri msg windowsto see app IDs).
Example:
This will change the color of the entire bar when either Alacritty or Chromium occupy the screen.
#window {
border-radius: 20px;
padding-left: 10px;
padding-right: 10px;
}
window#waybar.Alacritty {
background-color: #111111;
color: #ffffff;
}
window#waybar.chromium-browser {
background-color: #eeeeee;
color: #000000;
}
/* make window module transparent when no windows present */
window#waybar.empty #window {
background-color: transparent;
}
Language
The language module displays the currently selected keyboard language (layout) in niri.
Configuration
Addressed by niri/language
| option | typeof | default | description |
|---|---|---|---|
format |
string | {} |
The format, how information should be displayed. On {} the current layout's full name is displayed. |
format-<lang> |
string | Provide an alternative name to display per language where is the language of your choosing. Can be passed multiple times with multiple languages as shown by the example below. |
Example:
"niri/language": {
"format": "Lang: {long}",
"format-en": "AMERICA, HELL YEAH!",
"format-tr": "As bayrakları"
}
Style
- #language
Example:
#language {
border-radius: 20px;
padding-left: 10px;
padding-right: 10px;
}
- Home
- Installation
- Configuration
- Styling
- Examples
- FAQ
- Modules:
- Backlight/Slider
- Backlight
- Battery
- Bluetooth
- CPU
- Cava
- CFFI
- Clock
- Custom
- DWL
- Disk
- Gamemode
- Group
- Hyprland
- Idle Inhibitor
- Image
- JACK
- Keyboard State
- Language
- Load
- MPD
- MPRIS
- Memory
- Network
- Niri
- Power Profiles Daemon
- Privacy
- PulseAudio/Slider
- PulseAudio
- River
- Sndio
- Sway
- Systemd failed units
- Taskbar
- Temperature
- Tray
- UPower
- User
- WirePlumber
- Workspaces
- Writing Modules