Scroll to navigation

fnott(5) File Formats Manual fnott(5)

NAME

fnott - configuration file

DESCRIPTION

fnott uses the standard unix configuration format, with section based key/value pairs. The default (global) section is unnamed (i.e. not prefixed with a [section]). However it can also be explicitly named [main], say if it needs to be reopened after any of the other sections.

fnott will search for a configuration file in the following locations, in this order:

  • XDG_CONFIG_HOME/fnott/fnott.ini (defaulting to
    ~/.config/fnott/fnott.ini if unset)
  • XDG_CONFIG_DIRS/fnott/fnott.ini (defaulting to
    /etc/xdg/fnott/fnott.ini if unset)

SECTION: default

Global options

output

The output to display notifications on. If left unspecified, the compositor will choose one for us.

Note that if you do not specify an output, and the output chosen by the compositor is scaled, then each new notification will flash a low-res frame before re-rendering with the correct scale factor. This is because fnott has no way of knowing what the scale factor is until after the notification has been mapped (i.e. shown).

Default: unspecified.

In Sway, you can use swaymsg -t get_outputs to get a list of available outputs.

min-width

Minimum notification width, in pixels. Default: 0.

max-width

Maximum notification width, in pixels. 0 means unlimited. Note that fnott will automatically word-wrap the notification text if set to a non-zero value. Default: 0.

max-height

Maximum notification height, in pixels. 0 means unlimited. Default: 0.

icon-theme

Icon theme to use when a notification has requested an non-embedded icon. Default: hicolor.

max-icon-size

Maximum icon size, in pixels. Icons larger than this will be scaled down. Default: 32.

stacking-order

How to stack multiple notifications.

  • bottom-up : oldest, highest priority furthest away from the anchor point.
  • top-down: oldest, highest priority at the anchor point.

Thus, if the notifications are anchored at the top, bottom-up will have the most recent notification in the upper corner, while the oldest notification is in the bottom of the stack.

Default: bottom-up.

anchor

Where notifications are positioned: top-left, top-right, bottom-left or bottom-right. Default: top-right.

layer

Layer on which notifications will appear: background, bottom, top or overlay. Default: top.

edge-margin-vertical

Vertical margin, in pixels, between the screen edge (top or bottom, depending on anchor pointer) and notifications. Default: 10.

edge-margin-horizontal

Horizontal margin, in pixels, between the screen edge (left or right, depending on anchor pointer) and notifications. Default: 10.

notification-margin

Margin between notifications. Default: 10.

selection-helper

Command (and optionally arguments) to execute to display actions and let the user select an action to run.

The utility should accept (action) entries to display on stdin (newline separated), and write the selected entry on stdout. Default: dmenu.

play-sound

Command to execute to play notification sounds. ${filename} will be expanded to the path to the audio file to play. Default: aplay ${filename}.

Per-urgency default options

These options can also be specified in an urgency section, in which case they override the values specified in the default section.

background

Background color of the notification, in RGBA format. Default: 3f5f3fff.

border-color

Border color of the notification, in RGBA format. Default: 909090ff.

border-size

Border size, in pixels. Default: 1.

padding-vertical

Vertical padding, in pixels, between the notification edge (top or bottom) and notification text. Default: 20.

padding-horizontal

Horizontal padding, in pixels, between the notification edge (left or right) and notification text. Default: 20.

dpi-aware

Boolean.

When set to yes, fonts are sized using the monitor's DPI, making a font of a given size have the same physical size, regardless of monitor.

In this mode, the monitor's scaling factor is ignored; doubling the scaling factor will not double the font size.

When set to no, the monitor's DPI is ignored. The font is instead sized using the monitor's scaling factor; doubling the scaling factor does double the font size.

Note that this option typically does not work with bitmap fonts, which only contains a pre-defined set of sizes, and cannot be dynamically scaled. Whichever size (of the available ones) that best matches the DPI or scaling factor, will be used.

Also note that if the font size has been specified in pixels (:pixelsize=N, instead of :size=N), DPI scaling (dpi-aware=yes) will have no effect (the specified pixel size will be used as is). But, if the monitor's scaling factor is used to size the font (dpi-aware=no), the font's pixel size will be multiplied with the scaling factor.

Default: no

title-font

Font to use for the application title, in fontconfig format (see FONT FORMAT). Default: sans serif.

title-color

Text color to use for the application title, in RGBA format. Default: ffffffff.

title-format

Template string for the title portion of the notification (see FORMAT STRINGS). Default: <i>%a%A</i>.

summary-font

Font to use for the summary, in fontconfig format (see FONT FORMAT). Default: sans serif.

summary-color

Text color to use for the summary, in RGBA format. Default: ffffffff.

summary-format

Template string for the summary portion of the notification (see FORMAT STRINGS). Default: <b>%s\n</b>.

body-font

Font to use for the text body, in fontconfig format (see FONT FORMAT). Default: sans serif.

body-color

Text color to use for the text body, in RGBA format. Default: ffffffff.

body-format

Template string for the body portion of the notification (see FORMAT STRINGS). Default: %b.

progress-bar-height

Height, in pixels, of progress bars (rendered when a notification has an int:value hint). Default: 20.

progress-bar-color

Color, in RGBA format, of progress bars. Default: ffffffff.

max-timeout

Time limit, in seconds, before notifications are automatically dismissed. Applications can provide their own timeout when they create a notification. This option can be used to limit that timeout. A value of 0 disables the limit. Default: 0.

default-timeout

Time, in seconds, before notifications are automatically dismissed if the notifying application does not specify a timeout. A value of 0 disables the timeout. I.e. if the application does not provide a timeout, the notification is never automatically dismissed (unless max-timeout has been set). Default: 0.

idle-timeout

Time, in seconds, that you must be idle to prevent any notification from being dismissed. A value of 0 disables the timeout. Default: 0.

sound-file

Absolute path to audio file to play when a notification is received. If unset, no sound is played. Default: unset.

icon

Icon to use when none is provided by the notifications themselves. Can be either an absolute path, or a name (without extension).

In the latter case, it will be searched for in the selected icon theme, using the fallback rules defined by the XDG icon theme specification.

Default: unset.

SECTION: low

This section allows you to override the options listed under per-urgency default options for low priority notifications.

By default, the following options are already overridden:

  • background: 2b2b2bff
  • title-color 888888ff
  • summary-color: 888888ff
  • body-color: 888888ff

SECTION: normal

This section allows you to override the options listed under per-urgency default options for normal priority notifications.

By default, the following options are already overridden: none.

SECTION: critical

This section allows you to override the options listed under per-urgency default options for critical priority notifications.

By default, the following options are already overridden:

background: 6c3333ff

FONT FORMAT

The font is specified in FontConfig syntax. That is, a colon-separated list of font name and font options.

Examples:

  • Dina:weight=bold:slant=italic
  • Courier New:size=12

FORMAT STRINGS

The title-format, summary-format and body-format options allow you to configure what to display for the corresponding portion of the notification.

They are strings with placeholders that are expanded with attributes from the notification:

  • %a application name
  • %s notification summary
  • %b notification body text
  • %A action indicator ('*' if actions are present, empty string otherwise)
  • %% a literal '%'
  • \n a literal newline

Also supported are the following markup tags:

  • <b> bold
  • <i> italic
  • <u> underline

SEE ALSO

fnott(1)

2024-04-22