.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "fnott" "5" "2025-07-16" .PP .SH NAME fnott - configuration file .PP .SH DESCRIPTION .PP \fBfnott\fR uses the standard \fIunix configuration format\fR, with section based key/value pairs.\& The default (global) section is unnamed (i.\&e.\& not prefixed with a \fI[section]\fR).\& However it can also be explicitly named \fI[main]\fR, say if it needs to be reopened after any of the other sections.\& .PP fnott will search for a configuration file in the following locations, in this order: .PP .PD 0 .IP \(bu 4 \fBXDG_CONFIG_HOME/fnott/fnott.\&ini\fR (defaulting to \fB~/.\&config/fnott/fnott.\&ini\fR if unset) .IP \(bu 4 \fBXDG_CONFIG_DIRS/fnott/fnott.\&ini\fR (defaulting to \fB/etc/xdg/fnott/fnott.\&ini\fR if unset) .PD .PP .SH SECTION: default .PP .SS Global options .PP \fBoutput\fR .RS 4 The output to display notifications on.\& If left unspecified, the compositor will choose one for us.\& .PP Note that if you \fBdo not\fR 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 \fBafter\fR the notification has been mapped (i.\&e.\& shown).\& .PP Default: \fIunspecified\fR.\& .PP In Sway, you can use \fBswaymsg -t get_outputs\fR to get a list of available outputs.\& .PP .RE \fBmin-width\fR .RS 4 Minimum notification width, in pixels.\& Default: \fI0\fR.\& .PP .RE \fBmax-width\fR .RS 4 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: \fI0\fR.\& .PP .RE \fBmax-height\fR .RS 4 Maximum notification height, in pixels.\& 0 means unlimited.\& Default: \fI0\fR.\& .PP .RE \fBicon-theme\fR .RS 4 Icon theme to use when a notification has requested an non-embedded icon.\& Default: \fIdefault\fR.\& .PP .RE \fBmax-icon-size\fR .RS 4 Maximum icon size, in pixels.\& Icons larger than this will be scaled down.\& A value of 0 disables icons.\& Default: \fI32\fR.\& .PP .RE \fBstacking-order\fR .RS 4 How to stack multiple notifications.\& .PP .RS 4 .PD 0 .IP \(bu 4 \fBbottom-up\fR : oldest, highest priority furthest away from the anchor point.\& .IP \(bu 4 \fBtop-down\fR: oldest, highest priority at the anchor point.\& .PD .PP .RE Thus, if the notifications are anchored at the top, \fBbottom-up\fR will have the most recent notification in the upper corner, while the oldest notification is in the bottom of the stack.\& .PP Default: \fIbottom-up\fR.\& .PP .RE \fBanchor\fR .RS 4 Where notifications are positioned: \fBtop-left\fR, \fBtop-right\fR, \fBbottom-left\fR, \fBbottom-right\fR or \fBcenter\fR.\& Default: \fItop-right\fR.\& .PP .RE \fBedge-margin-vertical\fR .RS 4 Vertical margin, in pixels, between the screen edge (top or bottom, depending on anchor pointer) and notifications.\& Default: \fI10\fR.\& .PP .RE \fBedge-margin-horizontal\fR .RS 4 Horizontal margin, in pixels, between the screen edge (left or right, depending on anchor pointer) and notifications.\& Default: \fI10\fR.\& .PP .RE \fBnotification-margin\fR .RS 4 Margin between notifications.\& Default: \fI10\fR.\& .PP .RE \fBselection-helper\fR .RS 4 Command (and optionally arguments) to execute to display actions and let the user select an action to run.\& .PP The utility should accept (action) entries to display on stdin (newline separated), and write the selected entry on stdout.\& .PP It is strongly recommended that you enable \fBselection-helper-uses-null-separator\fR (see below), if your helper of choice supports it.\& .PP Default: \fIdmenu\fR.\& .PP .RE \fBselection-helper-uses-null-separator\fR .RS 4 Boolean.\& When enabled, the action strings passed to the selection helper will be NULL separated, instead of newline separated.\& .PP Note that you may also have to adjust \fBselection-helper\fR, to ensure the selection helper parses the action strings correctly.\& For example, instead of \fBfuzzel --dmenu\fR, you would have to use \fBfuzzel --dmenu0\fR.\& .PP Default: \fIno\fR.\& .PP .RE \fBplay-sound\fR .RS 4 Command to execute to play notification sounds.\& \fI${filename}\fR will be expanded to the path to the audio file to play.\& Default: \fIaplay ${filename}\fR.\& .PP .RE \fBscaling-filter\fR .PP .RS 4 Which scaling filter to use when scaling non-SVG notification images.\& .PP Possible values are: .PD 0 .IP \(bu 4 none .IP \(bu 4 nearest .IP \(bu 4 bilinear .IP \(bu 4 cubic .IP \(bu 4 lanczos3 .PD .PP \fBnone\fR is the fastest, but also looks the worst.\& \fBlanczos3\fR produces the best result, but is also, by far, the slowest option.\& .PP Default: \fIlanczos3\fR .PP .RE .SS Per-urgency default options .PP These options can also be specified in an \fIurgency\fR section, in which case they override the values specified in the default section.\& .PP \fBlayer\fR .RS 4 Layer on which notifications will appear: \fBbackground\fR, \fBbottom\fR, \fBtop\fR or \fBoverlay\fR.\& Default: \fItop\fR.\& .PP .RE \fBbackground\fR .RS 4 Background color of the notification, in RGBA format.\& Default: \fI3f5f3fff\fR.\& .PP .RE \fBborder-color\fR .RS 4 Border color of the notification, in RGBA format.\& Default: \fI909090ff\fR.\& .PP .RE \fBborder-radius\fR .RS 4 Corner radius on the border in pixels.\& Default: \fI0\fR.\& .PP .RE \fBborder-size\fR .RS 4 Border size, in pixels.\& Default: \fI1\fR.\& .PP .RE \fBpadding-vertical\fR .RS 4 Vertical padding, in pixels, between the notification edge (top or bottom) and notification text.\& Default: \fI20\fR.\& .PP .RE \fBpadding-horizontal\fR .RS 4 Horizontal padding, in pixels, between the notification edge (left or right) and notification text.\& Default: \fI20\fR.\& .PP .RE \fBdpi-aware\fR .RS 4 Boolean.\& .PP When set to \fByes\fR, fonts are sized using the monitor'\&s DPI, making a font of a given size have the same physical size, regardless of monitor.\& .PP In this mode, the monitor'\&s scaling factor is ignored; doubling the scaling factor will \fBnot\fR double the font size.\& .PP When set to \fBno\fR, the monitor'\&s DPI is ignored.\& The font is instead sized using the monitor'\&s scaling factor; doubling the scaling factor \fBdoes\fR double the font size.\& .PP 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.\& .PP Also note that if the font size has been specified in pixels (\fB:pixelsize=\fR\fIN\fR, instead of \fB:size=\fR\fIN\fR), DPI scaling (\fBdpi-aware=yes\fR) 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 (\fBdpi-aware=no\fR), the font'\&s pixel size will be multiplied with the scaling factor.\& .PP Default: \fIno\fR .PP .RE \fBtitle-font\fR .RS 4 Font to use for the application title, in fontconfig format (see \fBFONT FORMAT\fR).\& Default: \fIsans serif\fR.\& .PP .RE \fBtitle-color\fR .RS 4 Text color to use for the application title, in RGBA format.\& Default: \fIffffffff\fR.\& .PP .RE \fBtitle-format\fR .RS 4 Template string for the title portion of the notification (see \fBFORMAT STRINGS\fR).\& Default: \fI%a%A\fR.\& .PP .RE \fBsummary-font\fR .RS 4 Font to use for the summary, in fontconfig format (see \fBFONT FORMAT\fR).\& Default: \fIsans serif\fR.\& .PP .RE \fBsummary-color\fR .RS 4 Text color to use for the summary, in RGBA format.\& Default: \fIffffffff\fR.\& .PP .RE \fBsummary-format\fR .RS 4 Template string for the summary portion of the notification (see \fBFORMAT STRINGS\fR).\& Default: \fI%s\en\fR.\& .PP .RE \fBbody-font\fR .RS 4 Font to use for the text body, in fontconfig format (see \fBFONT FORMAT\fR).\& Default: \fIsans serif\fR.\& .PP .RE \fBbody-color\fR .RS 4 Text color to use for the text body, in RGBA format.\& Default: \fIffffffff\fR.\& .PP .RE \fBbody-format\fR .RS 4 Template string for the body portion of the notification (see \fBFORMAT STRINGS\fR).\& Default: \fI%b\fR.\& .PP .RE \fBprogress-bar-height\fR .RS 4 Height, in pixels, of progress bars (rendered when a notification has an \fIint:value\fR hint).\& Default: \fI20\fR.\& .PP .RE \fBprogress-color\fR .RS 4 Color, in RGBA format, of progress indicator.\& Default: \fIffffffff\fR.\& .PP .RE \fBprogress-style\fR .RS 4 Defines the style of the progress indicator in notifications.\& .PP Possible values: .PD 0 .IP \(bu 4 \fBbar\fR: Displays a separate progress bar.\& .IP \(bu 4 \fBbackground\fR: Fills the notification background with the progress color.\& .PD .PP Default: \fIbar\fR.\& .PP .RE \fBmax-timeout\fR .RS 4 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: \fI0\fR.\& .PP .RE \fBdefault-timeout\fR .RS 4 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 \fBmax-timeout\fR has been set).\& Default: \fI0\fR.\& .PP .RE \fBidle-timeout\fR .RS 4 Time, in seconds, that you must be idle to prevent any notification from being dismissed.\& A value of 0 disables the timeout.\& Default: \fI0\fR.\& .PP .RE \fBsound-file\fR .RS 4 Absolute path to audio file to play when a notification is received.\& If unset, no sound is played.\& Default: \fIunset\fR.\& .PP .RE \fBicon\fR .RS 4 Icon to use when none is provided by the notifications themselves.\& Can be either an absolute path, or a name (without extension).\& .PP 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.\& .PP Default: \fIunset\fR.\& .PP .RE .SH SECTION: low .PP This section allows you to override the options listed under \fBper-urgency default options\fR for \fIlow\fR priority notifications.\& .PP By default, the following options are already overridden: .PP .PD 0 .IP \(bu 4 \fBbackground\fR: \fI2b2b2bff\fR .IP \(bu 4 \fBtitle-color\fR \fI888888ff\fR .IP \(bu 4 \fBsummary-color\fR: \fI888888ff\fR .IP \(bu 4 \fBbody-color\fR: \fI888888ff\fR .PD .PP .SH SECTION: normal .PP This section allows you to override the options listed under \fBper-urgency default options\fR for \fInormal\fR priority notifications.\& .PP By default, the following options are already overridden: \fInone\fR.\& .PP .SH SECTION: critical .PP This section allows you to override the options listed under \fBper-urgency default options\fR for \fIcritical\fR priority notifications.\& .PP By default, the following options are already overridden: .PP .PD 0 .IP \(bu 4 \fBbackground\fR: \fI6c3333ff\fR .PD .PP .PP .SH FONT FORMAT .PP The font is specified in FontConfig syntax.\& That is, a colon-separated list of font name and font options.\& .PP \fIExamples\fR: .PD 0 .IP \(bu 4 Dina:weight=bold:slant=italic .IP \(bu 4 Courier New:size=12 .PD .PP .SH FORMAT STRINGS .PP The \fBtitle-format\fR, \fBsummary-format\fR and \fBbody-format\fR options allow you to configure what to display for the corresponding portion of the notification.\& .PP They are strings with placeholders that are expanded with attributes from the notification: .PP .PD 0 .IP \(bu 4 \fB%a\fR application name .IP \(bu 4 \fB%s\fR notification summary .IP \(bu 4 \fB%b\fR notification body text .IP \(bu 4 \fB%A\fR action indicator ('\&*'\& if actions are present, empty string otherwise) .IP \(bu 4 \fB%%\fR a literal '\&%'\& .IP \(bu 4 \fB\en\fR a literal newline .PD .PP Also supported are the following markup tags: .PP .PD 0 .IP \(bu 4 \fB\fR bold .IP \(bu 4 \fB\fR italic .IP \(bu 4 \fB\fR underline .PD .PP .PP .SH SEE ALSO .PP \fBfnott\fR(1)