-
-
Notifications
You must be signed in to change notification settings - Fork 707
Module: Niri
Ivan Molodetskikh edited this page Sep 13, 2024
·
2 revisions
These modules require niri >= 0.1.9.
The workspaces
module displays the currently used workspaces in niri.
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. |
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. |
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. |
"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": ""
}
}
#workspaces
#workspaces button
-
#workspaces button.focused
The single focused workspace. -
#workspaces button.active
The workspace is active (visible) on its output. -
#workspaces button.empty
The workspace is empty. -
#workspaces button.current_output
The 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.
The window
module displays the title of the currently focused window in niri.
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. |
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. |
"niri/window": {
"format": "{}",
"rewrite": {
"(.*) - Mozilla Firefox": "🌎 $1",
"(.*) - zsh": "> [$1]"
}
}
#window
The following classes can apply styles to the entire Waybar (see the Sway module's page for more info):
-
window#waybar.empty
When no windows are in the workspace -
window#waybar.solo
When 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 windows
to see app IDs).
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;
}
The language
module displays the currently selected keyboard language (layout) in niri.
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. |
"niri/language": {
"format": "Lang: {long}",
"format-en": "AMERICA, HELL YEAH!",
"format-tr": "As bayrakları"
}
- #language
#language {
border-radius: 20px;
padding-left: 10px;
padding-right: 10px;
}
- Home
- Installation
- Configuration
- Styling
- Examples
- FAQ
- Modules:
- Backlight/Slider
- Backlight
- Battery
- Bluetooth
- CPU
- Cava
- 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