Repository navigation
Config
Wired doesn't create a config for you. If a config isn't found, Wired will use the default config, which can be found in the root of the repository.
Wired looks for a config file in the following locations:
$XDG_CONFIG_HOME/wired/wired.ron$XDG_CONFIG_HOME/wired.ron$HOME/.config/wired/wired.ron$HOME/wired.ron
| Name | Type | Description | Example |
|---|---|---|---|
max_notifications |
int |
Maximum number of notifications shown at any one time. A value of 0 means there is no limit. |
max_notifications: 0 |
timeout |
int |
The default timeout, in milliseconds, for notifications that don't have an initial timeout set. 1000ms = 1s. | timeout: 10000 |
poll_interval |
int |
The update rate, in milliseconds, when notifications are present. This decides how often notifications update, including how often they redraw (if required). 16ms ~= 60hz | poll_interval: 16 |
shortcuts |
ShortcutsConfig |
Configuration for preset shortcuts. See the shortcuts config page for more information. | See shortcuts page. |
| Name | Type | Description | Example |
|---|---|---|---|
icon_theme |
string |
The icon theme to use when matching named icons. Default: "Adwaita"
|
icon_theme: "Adwaita" |
history_length |
'int` | How many notifications are kept in history. Each notification is roughly 256 bytes (excluding buffers), so you can store heaps. Default: 10
|
history_length: 10 |
replacing_enabled |
bool |
Enable/disable replacement functionality. If this is disabled, replacement requests will just send a new notification. E.g., with replacing_enabled: true, Pidgin will only show the latest message from each contact, instead of sending a new one for each message.Default: true
|
replacing_enabled: true |
replacing_resets_timeout |
bool |
Whether a notification should reset its timeout when it is replaced. No effect if replacing_enabled is false.Default: false
|
replacing_resets_timeout: false |
closing_enabled |
bool |
Enable/disable closing functionality. You can still close notifications yourself, apps just can't do it for you. Default: true
|
closing_enabled: true |
idle_threshold |
int |
Wired will pause notifications if you are idle (no mouse or keyboard input) for longer than idle_threshold seconds.Notifications are not automatically unpaused on wake, and will need to be manually cleared. Default: None (disabled)
|
idle_threshold: 3600 |
idle_poll_interval |
int |
The update rate, in milliseconds, when no notifications are present. This mainly controls how often Wired polls to see if there's a new notification, so reducing this will reduce 'latency' of receiving first notifications. Default: 500
|
idle_poll_interval: 500 |
notify_on_reload |
bool |
Whether a notification should be sent when the config is reloaded. Default: true
|
notify_on_reload: true |
notifications_spawn_paused |
bool |
Notifications will spawn paused, and have to be manually unpaused or cleared by the user, unless unpause_on_input is also set. |
notifications_spawn_paused: false |
unpause_on_input |
bool |
Unpause notifications when we receive any input after being idle for longer than 1 second. Note that no distinction is made between manually paused notifications and idle paused/spawned notifications. | unpause_on_input: false |
focus_follows |
FollowMode |
When a NotificationBlock has monitor: -1 (i.e. should follow active monitor, then what input should we use to determine the active monitor? |
focus_follows: Mousefocus_follows: Window
|
print_to_file |
string |
Enable printing notification data to a file, which can be useful for scripting purposes. The data is written as JSON. Default: None (disabled)
|
print_to_file: "/tmp/wired.log" |
min_window_width |
int |
Minimum window width. This and min_window_height are used to create the base rect that the notification grows within.The notification window will never be smaller than this. A value of 1 means that the window will generally always resize with the notification, unless you have a 1x1 pixel notification. Default: 1
|
min_window_width: 1 |
min_window_height |
int |
Minimum window height (see above). Default: 1
|
min_window_height: 1 |
trim_whitespace |
bool |
Trim leading and trailing whitespace from the summary and body of received notifications. Some clients send whitespace that you usually don't actually want. Default: true
|
trim_whitespace: true |
font_options |
FontOptions |
How text is rasterized (hinting and antialiasing). See Font Options below. Default: see below |
font_options: (hint_style: Slight) |
debug |
bool |
Enable/disable debug rendering. Default: false
|
debug: false |
debug_color |
Color |
Primary color for debug rectangles. Default: Color(r: 0.0, g: 1.0, b: 0.0, a: 1.0)
|
debug_color: Color(r: 0.0, g: 1.0, b: 0.0, a: 1.0) |
debug_color_alt |
Color |
Secondary color for debug rectangles. Default: Color(r: 1.0, g: 0.0, b: 0.0, a: 1.0)
|
debug_color_alt: Color(r: 1.0, g: 0.0, b: 0.0, a: 1.0) |
The shortcuts property lets you set some shortcuts for predefined actions on notifications. These are just mouse shortcuts for now, since I'm not sure how/if I want to do keyboard shortcuts for now.
Since they're just mouse buttons, all these shortcuts are ints, described by the following:
| Mouse Button | Corresponding Int |
|---|---|
| Left Mouse | 1 |
| Right Mouse | 2 |
| Middle Mouse | 3 |
| Other | Not sure, but my side buttons are 7 and 8. |
| Name | Type | Description | Example |
|---|---|---|---|
notification_interact |
int |
Interacts with a block within a notification. | notification_interact: 1 |
notification_close |
int |
Closes the selected notification. | notification_close: 2 |
notification_closeall |
int |
Closes all current notifications. | notification_closeall: 3 |
notification_pause |
int |
Pauses the selected notification. | notification_pause: 1 |
notification_action1 |
int |
Triggers the default action for the notification. | notification_action1: 8 |
notification_action2 |
int |
Triggers the second action (if any) for the notification. | notification_action2: 1 |
notification_action3 |
int |
Triggers the third action (if any) for the notification. | notification_action3: 1 |
notification_action4 |
int |
Triggers the fourth action (if any) for the notification. | notification_action4: 1 |
The order of actions is set by the notification sender and so is totally arbitrary. The only guarantee is that the default (notification_action1) will always be the primary action.
The vast majority of notifications do not have any actions besides the default, so this is mainly here to support edge cases.
The font_options property controls how glyphs are rasterized. Every sub-property is optional, and each one is applied over your system's setting on its own, so you can override one and leave the rest as System.
Careful with System: it means the X resource database (Xft.antialias, Xft.hintstyle, Xft.rgba — what xrdb -query prints), not fontconfig, so your ~/.config/fontconfig settings don't reach Wired. When those resources aren't set — which is common under XWayland, and on window managers that don't run xrdb — cairo falls back to full hinting. That's why hint_style defaults to Slight rather than System. Everything else defaults to System, so your existing setup is left alone.
| Name | Type | Description | Example |
|---|---|---|---|
antialias |
Antialias |
How glyphs are smoothed. One of System, None, Gray, Subpixel.Subpixel (aka LCD/ClearType) generally looks wrong on translucent windows, so Gray is worth trying if your system is set up for subpixel antialiasing and notifications look fringed.Default: System
|
antialias: Gray |
hint_style |
HintStyle |
How far glyph outlines are distorted to fit the pixel grid. One of System, None, Slight, Medium, Full.Full gives crisper stems, but Pango positions glyphs using unhinted advances, so the distorted outlines end up with uneven gaps between letters. It's worst on fonts that don't ship hinting instructions of their own (e.g. Ubuntu), where the autohinter takes over.Default: Slight
|
hint_style: Slight |
hint_metrics |
HintMetrics |
Whether glyph advances are rounded to whole pixels. One of System, Off, On.Off places glyphs at fractional positions; smoother, but spacing can look irregular. Worth trying if letter spacing still looks off to you with hint_style: Slight.Default: On, which is also what cairo uses on X11
|
hint_metrics: On |
subpixel_order |
SubpixelOrder |
The subpixel layout of your display. One of System, Rgb, Bgr, Vrgb, Vbgr.Only used when antialias is Subpixel.Default: System
|
subpixel_order: Rgb |
font_options: (
antialias: System,
hint_style: Slight,
hint_metrics: On,
subpixel_order: System,
),