ZATHURARC(5)
๐ zathurarc(5) โ the zathura config file, bestie edition ๐
๐ธ NAME ๐ธ
zathurarc โ zathura configuration file. That's it, that's the name section, but it's kind of a big deal.
โจ SYNOPSIS โจ
/etc/zathurarc, $XDG_CONFIG_HOME/zathura/zathurarc
๐ฆ DESCRIPTION ๐ฆ
Okay so the zathurarc file is a simple plain text file that you can fill with all kinds of commands to change how zathura behaves and how it looks. We're gonna walk through all of that in the subsections below, bestie.
Each line (besides empty lines and comments, which start with a prepended #) is evaluated on its own. So no cap: it is not possible to write multiple commands in one single line. One line, one command, periodt.
๐ COMMANDS ๐
๐ set โ Changing options ๐
In addition to the built-in :set command, zathura offers more options to be changed and makes those changes permanent. To overwrite an option, you just have to add a line structured like the following:
set <option> <new value>
The option field has to be replaced with the name of the option that should be changed, and the new value field has to be replaced with the new value the option should get. The type of the value can be one of the following:
INTโ An integer numberFLOATโ A floating point numberSTRINGโ A character stringBOOLโ A boolean value ("true"for true,"false"for false)
Also, bestie, we advice you to check the options so you get a more detailed view of the options that can be changed and which values they should be set to.
The following example should give some deeper insight into how the set command can be used:
set option1 5
set option2 2.0
set option3 hello
set option4 hello\ world
set option5 "hello world"
Especially for options with strings as values, note that escaping of special characters and white spaces is necessary. In the above example, option4 and option5 are both set to hello world, but set option6 hello world would set option6 only to hello.
For colors, zathura supports HTML color codes and CSS3-style rgb(r,g,b) and rgba(r,g,b,a) values. If you want to use color codes for some options, make sure to quote them accordingly or to escape the hash symbol.
set default-fg "#CCBBCC"
set default-fg \#CCBBCC
For rgba, note that it parses the color components as integers between 0 and 255 and the alpha component as float between 0 and 1.
๐ง include โ Including another config file ๐ง
This command allows one to include other configuration files. If a relative path is given, the path will be resolved relative to the configuration file that is currently processed.
include another-config
๐บ๏ธ map โ Mapping a shortcut ๐บ๏ธ
It is possible to map or remap new key bindings to shortcut functions, which allows a high level of customization. The :map command can also be used in the zathurarc file to make those changes permanent:
map [mode] <binding> <shortcut function> <argument>
๐ง Mode ๐ง
The map command expects several arguments where only the binding as well as the shortcut-function argument is required. Since zathura uses several modes, it is possible to map bindings only for a specific mode by passing the mode argument, which can take one of the following values:
normal(default)fullscreenpresentationindex
๐จ The brackets around the value are mandatory.
๐ Single key binding ๐
The (possible) second argument defines the used key binding that should be mapped to the shortcut function and is structured like the following. On the one hand it is possible to just assign single letters, numbers or signs to it:
map a shortcut_function optional_argument
map b shortcut_function optional_argument
map c shortcut_function optional_argument
map 1 shortcut_function optional_argument
map 2 shortcut_function optional_argument
map 3 shortcut_function optional_argument
map ! shortcut_function optional_argument
map ? shortcut_function optional_argument
๐๏ธ Using modifiers ๐๏ธ
It is also possible to use modifiers like the Control or Alt button on the keyboard. It is possible to use the following modifiers:
Aโ AltCโ ControlSโ Shift
If any of the modifiers should be used for a binding, it is required to define the binding with the following structure:
map <A-a> shortcut_function
map <C-a> shortcut_function
โจ๏ธ Special keys โจ๏ธ
zathura allows it also to assign keys like the space bar or the tab button, which also have to be written in between angle brackets. The following special keys are currently available:
BackSpaceโ Back spaceCapsLockโ Caps lockNumLockโ Num LockScrollLockโ Scroll LockEscโ EscapeDownโ Arrow downUpโ Arrow upLeftโ Arrow leftRightโ Arrow rightF1โ F1F2โ F2F3โ F3F4โ F4F5โ F5F6โ F6F7โ F7F8โ F8F9โ F9F10โ F10F11โ F11F12โ F12PageDownโ Page DownPageUpโ Page UpReturnโ ReturnSpaceโ SpaceSuperโ Windows keyTabโ TabPrintโ Print keyKPUpโ Numpad Up (where the number 8 is)KPDownโ Numpad Down (where the number 2 is)KPLeftโ Numpad Left (where the number 4 is)KPRightโ Numpad Right (where the number 6 is)KPBeginโ Numpad Center button (where the number 5 is)KPPriorโ Numpad PageUp (where the number 9 is)KPPageUpโ Numpad PageUp (where the number 9 is)KPNextโ Numpad PageDown (where the number 3 is)KPPageDownโ Numpad PageDown (where the number 3 is)KPHomeโ Numpad Home (where the number 7 is)KPEndโ Numpad End (where the number 1 is)KPInsertโ Numpad Insert (where the number 0 is)KPDeleteโ Numpad Delete (where the numpad period is)KPMultiplyโ Numpad AsteriskKPAddโ Numpad Plus signKPSubtractโ Numpad Minus signKPDivideโ Numpad Slash sign
Of course it is possible to combine those special keys with a modifier. The usage of those keys should be explained by the following examples:
map <Space> shortcut_function
map <C-Space> shortcut_function
๐ฑ๏ธ Mouse buttons ๐ฑ๏ธ
It is also possible to map mouse buttons to shortcuts by using the following special keys:
Button1โ Mouse button 1 (left)Button2โ Mouse button 2 (middle)Button3โ Mouse button 3 (right)Button4โ Mouse button 4Button5โ Mouse button 5
They can also be combined with modifiers:
map <Button1> shortcut_function
map <C-Button1> shortcut_function
๐ฅ Buffer commands ๐ฅ
If a mapping does not match one of the previous definition but is still a valid mapping, it will be mapped as a buffer command:
map abc quit
map test quit
โก Shortcut functions โก
The following shortcut functions can be mapped:
abortโ Switch back to normal mode.adjust_windowโ Adjust page width. Possible arguments arebest-fitandwidth.change_modeโ Change current mode. Pass the desired mode as argument.copy_filepathโ Copy the full path of the currently opened document to the clipboardcopy_linkโ Copy a link target to the clipboard.cycle_first_columnโ In multiple page layout, cycle the column in which the first page is displayed.display_link:โ Display link target.exec:โ Execute an external command.$FILEexpands to the current document path,$PAGEto the current page number, and$DBUSto the bus name of the D-Bus interface.file_chooser:โ Open a File Chooser Dialog. Uses the native file chooser on Windows and MacOS, desktop portals when available and otherwise GtkFileChooser.focus_inputbarโ Focus inputbar.followโ Follow a link.gotoโ Go to a certain page.jumplistโ Move forwards/backwards in the jumplist. Passforwardas argument to move to the next entry andbackwardto move to the previous one.navigateโ Navigate to the next/previous page.navigate_indexโ Navigate through the index.printโ Show the print dialog.page_modeโ Set the page sizing mode. Default isequal_none, which doesn't resize individual pages.equal_widthandequal_heightresizes each page to have the same width and height respectively.quitโ Quit zathura.recolorโ Recolor pages.reloadโ Reload the document.rotateโ Rotate the document. Passrotate-ccwas argument for counterclockwise rotation androtate-cwfor clockwise rotation.rotate_pageโ Rotate the page. Passrotate-ccwas argument for counterclockwise rotation androtate-cwfor clockwise rotation.scrollโ Scroll.searchโ Search next/previous item. Passforwardas argument to search for the next hit andbackwardto search for the previous hit.setโ Set an option.snap_to_pageโ Snaps to the current page. Equivalent togoto <current_page>toggle_fullscreenโ Toggle fullscreen.toggle_indexโ Show or hide index.toggle_inputbarโ Show or hide inputbar.toggle_page_modeโ Toggle between one and multiple pages per row.toggle_single_page_mode
Toggle between a page grid and a single page. That's the whole vibe check. โจ
toggle_statusbarโ show or hide the statusbar. ๐zoomโ zoom in or out, bestie. ๐zoom_pageโ zoom in or out, but just of the current page (yes, they're different, iykyk).mark_addโ set a quickmark. ๐mark_evaluateโ jump to a quickmark. like, go there. ๐feedkeysโ simulates key presses. heads up though: every key gets interpreted exactly as if you pressed it on the actual keyboard. so to input uppercase letters, follow the same convention as for key bindings โ meaning forX, you write<S-X>. ๐
๐ซถ Pass arguments ๐ซถ
Some shortcut functions need or optionally take arguments that change how they behave. You pass them as the last argument, like this:
map <C-i> zoom in
map <C-o> zoom out
The possible arguments are, alphabetically because we're organized like that:
best-fitbottombackwardcollapsecollapse-recursivecollapse-alldefaultdownexpandexpand-recursiveexpand-allforwardfull-downfull-uphalf-downhalf-upsmooth-downsmooth-upinleftnextoutpage-bottompage-toppreviousrightrotate-ccwrotate-cwselectspecifictoggletopupwidthequal_noneequal_widthequal_height
โ๏ธ unmap - Removing a shortcut โ๏ธ
So mapping and remapping custom key bindings is a whole thing, but plot twist: you can also remove ones that already exist, with the :unmap command. It goes like this (and the parameters are explained in the map section of this document, in case you're nosy):
unmap [mode] <binding>
โจ OPTIONS โจ
Okay so this whole section is about the settings that control how zathura behaves. Every single one listed here can be changed with set. Let's get into it ๐
n-completion-itemsโ the max number of completion entries that get displayed.- Value type: Integer
- Default value: 15
completion-bgโ the background color for command line completion entries.- Value type: String
- Default value:
#232323
completion-fgโ the foreground color for command line completion entries.- Value type: String
- Default value:
#DDDDDD
completion-group-bgโ the background color used for command line completion group elements.- Value type: String
- Default value:
#000000
completion-group-fgโ the foreground color used for command line completion group elements.- Value type: String
- Default value:
#DEDEDE
completion-highlight-bgโ the background color used for the current command line completion element (the one you're hovering on, main character energy).- Value type: String
- Default value:
#9FBC00
completion-highlight-fgโ the foreground color used for the current command line completion element.- Value type: String
- Default value:
#232323
default-bgโ the default background color.- Value type: String
- Default value:
#000000
default-fgโ the default foreground color.- Value type: String
- Default value:
#DDDDDD
exec-commandโ defines a command that should be prepended to any command run withexec.- Value type: String
- Default value: (empty)
fontโ the font that will be used. ๐- Value type: String
- Default value:
monospace normal 9
guioptionsโ shows or hides GUI elements. If it containsc, the command line is displayed. If it containss, the statusbar is displayed. If it containsh, the horizontal scrollbar is displayed. If it containsv, the vertical scrollbar is displayed.- Value type: String
- Default value:
s
inputbar-bgโ the background color for the inputbar.- Value type: String
- Default value:
#131313
inputbar-fgโ the foreground color for the inputbar.- Value type: String
- Default value:
#9FBC00
notification-bgโ the background color for a notification.- Value type: String
- Default value:
#FFFFFF
notification-fgโ the foreground color for a notification.- Value type: String
- Default value:
#000000
notification-error-bgโ the background color for an error notification ๐จ- Value type: String
- Default value:
#FF1212
notification-error-fgโ the foreground color for an error notification.- Value type: String
- Default value:
#FFFFFF
notification-warning-bgโ the background color for a warning notification โ ๏ธ- Value type: String
- Default value:
#FFF712
notification-warning-fgโ the foreground color for a warning notification.- Value type: String
- Default value:
#FFFFFF
statusbar-bgโ the background color of the statusbar.- Value type: String
- Default value:
#000000
statusbar-fgโ the foreground color of the statusbar.- Value type: String
- Default value:
#FFFFFF
statusbar-h-paddingโ the horizontal padding of the statusbar and the notificationbar.- Value type: Integer
- Default value: 8
statusbar-v-paddingโ the vertical padding of the statusbar and the notificationbar.- Value type: Integer
- Default value: 2
window-heightโ the window height on startup.- Value type: Integer
- Default value: 600
window-widthโ the window width on startup.- Value type: Integer
- Default value: 800
abort-clear-searchโ whether the search results should be cleared on abort.- Value type: Boolean
- Default value:
true
adjust-openโ which auto adjustment mode gets used when a document is loaded. Possible options are"best-fit"and"width".- Value type: String
- Default value:
best-fit
page-modeโ the default page sizing mode when you open a document. Possible options are"none","equal_width", and"equal_height". When set to"equal_width", all pages are scaled to match the width of the current page. When set to"equal_height", all pages are scaled to match the height of the current page. ๐ฆ- Value type: String
- Default value:
none
advance-pages-per-rowโ whether the number of pages per row should be honored when advancing a page.- Value type: Boolean
- Default value:
false
continuous-hist-saveโ tells zathura whether to save document history at each page change, or only when closing a document.- Value type: Boolean
- Default value:
false
databaseโ the database backend used for bookmarks and input history. Possible values are"sqlite"and"null". If"null"is used, bookmarks and input history will not be stored (ngl, that's the point of it).- Value type: String
- Default value:
sqlite
dbus-raise-windowโ whether zathura's window should be raised when it receives certain commands via D-Bus.- Value type: Boolean
- Default value:
true
dbus-serviceโ en/disables the D-Bus service. > If the service is disabled, SyncTeX forward synchronization is not available. so like, know the tradeoff ๐- Value type: Boolean
- Default value:
true
double-click-followโ whether a double or single click on a link should trigger follow.- Value type: Boolean
- Default value:
true
filemonitorโ the file monitor backend used to check for changes in files. Possible values are"glib","signal"(if signal handling is supported), and"noop". The"noop"file monitor does not trigger reloads.- Value type: String
- Default value:
glib
first-page-columnโ the column in which the first page will be displayed. This setting is stored separately for every value ofpages-per-row, following this pattern:<1 page per row>:[<2 pages per row>[: ...]]. The last value in the list gets used for every other number of pages per row if it isn't set explicitly.
Per default, the first column is set to 2 for double-page layout, i.e. the value is set to 1:2. A value of 1:1:3 would put the first page in dual-page layout in the first column, and for layouts with more columns the first page would go in the 3rd column. ๐ง
- Value type: String
- Default value:
1:2
highlight-active-colorโ the color used to show the currently selected highlighted element (e.g: current search result).- Value type: String
- Default value:
rgba(0,188,0,0.5)
highlight-colorโ the color used for highlighting parts of the document (e.g.: showing search results).- Value type: String
- Default value:
rgba(159,251,0,0.5)
highlight-fgโ the color used for text when highlighting parts of the document (e.g.: the number for links).- Value type: String
- Default value:
rgba(0,0,0,0.5)
highlighter-modifierโ the modifier that has to be pressed together with the left mouse button to draw the highlighter. Possible values are"shift","ctrl"and"alt".- Value type: String
- Default value:
shift incremental-searchโ turns incremental search on/off, aka the "you search WHILE you type" behaviour โจ- Value type: Boolean
- Default value:
true
index-active-bgโ the background color of the element you've got selected in index mode ๐- Value type: String
- Default value:
#9FBC00
index-active-fgโ the foreground (text) color of that selected element in index mode ๐- Value type: String
- Default value:
#232323
index-bgโ background color of index mode itself, the whole vibe ๐ฆ- Value type: String
- Default value:
#232323
index-fgโ foreground color of index mode, so your text is actually readable ๐ญ- Value type: String
- Default value:
#DDDDDD
jumplist-sizeโ the max number of positions it'll remember in the jumplist, no cap ๐ง- Value type: Integer
- Default value:
2000
link-hadjustโ on/off for aligning to the LEFT internal link targets, like the ones from the index ๐- Value type: Boolean
- Default value:
true
link-zoomโ on/off for whether following links is even allowed to change your zoom ๐ซถ- Value type: Boolean
- Default value:
true
nohlsearchโ Dis/Enables highlighting of search results (read that carefully bestie, it's Dis/Enables, sotrue= no highlight) ๐- Value type: Boolean
- Default value:
false
open-first-pageโ always open documents on the first page. If you disable it, zathura jumps to the last remembered position instead ๐ฅฒ- Value type: Boolean
- Default value:
false
open-link-confirmโ pops a lil confirmation dialog whenever you open external links, which honestly? iconic safety feature ๐- Value type: Boolean
- Default value:
true
page-cache-sizeโ the max number of pages that can live in the page cache. When the cache is full and a new page that isn't cached becomes visible, the least recently viewed page in the cache gets evicted to make room for the new one ๐
โ ๏ธ Big values for this one are NOT recommended โ you'll eat up a significant portion of system memory. Fr fr, don't.
- Value type: Integer
- Default value:
15
page-v-paddingโ vertical page padding, aka the vertical gap in pixels between each rendered page ๐- Value type: Integer
- Default value:
1
page-h-paddingโ horizontal page padding, aka the horizontal gap in pixels between each rendered page ๐- Value type: Integer
- Default value:
1
page-right-to-leftโ whether pages in multi-column view start from the right side, for all my RTL besties ๐- Value type: Boolean
- Default value:
false
page-thumbnail-sizeโ the maximum size in pixels of the thumbnail kept in the thumbnail cache per page. The thumbnail is scaled for a quick preview during zooming before the page is rendered. When the page is rendered, the result is saved as the thumbnail only if the size is no more than this value. Bigger value = better quality, but longer zoom delay and more system memory ๐ฎโ๐จ- Value type: Integer
- Default value:
4194304(4M)
pages-per-rowโ how many pages get rendered next to each other in a row ๐ฏโโ๏ธ- Value type: Integer
- Default value:
1
recolorโ En/Disables recoloring ๐จ- Value type: Boolean
- Default value:
false
recolor-adjust-lightnessโ En/Disables adjusting lightness when recoloring โจ- Value type: Boolean
- Default value:
false
recolor-darkcolorโ the color value used to represent dark colors in recoloring mode ๐- Value type: String
- Default value:
#FFFFFF
recolor-keephueโ En/Disables keeping the original hue when recoloring ๐- Value type: Boolean
- Default value:
false
recolor-lightcolorโ the color value used to represent light colors in recoloring mode โ๏ธ- Value type: String
- Default value:
#000000
recolor-reverse-videoโ defines if the original image colors should be kept while recoloring ๐- Value type: Boolean
- Default value:
false
render-loadingโ defines if the"Loading..."text should be displayed while a page is rendered โณ- Value type: Boolean
- Default value:
true
render-loading-bgโ background color used for that"Loading..."text ๐- Value type: String
- Default value:
#FFFFFF
render-loading-fgโ foreground color used for the"Loading..."text ๐ค- Value type: String
- Default value:
#000000
scroll-full-overlapโ the proportion of the current viewing area that should still be visible after scrolling a full page ๐- Value type: Float
- Default value:
0
scroll-hstepโ the horizontal step size of scrolling when you call the scroll command once โ๏ธ- Value type: Float
- Default value:
-1
scroll-stepโ the step size of scrolling when you call the scroll command once โ๏ธ- Value type: Float
- Default value:
40
scroll-page-awareโ defines if scrolling by half or full pages stops at page boundaries ๐- Value type: Boolean
- Default value:
false
scroll-wrapโ defines if the last/first page should be wrapped ๐- Value type: Boolean
- Default value:
false
search-hadjustโ En/Disables horizontally centered search results ๐ฏ- Value type: Boolean
- Default value:
true
selection-clipboardโ which X clipboard your mouse-selected data gets written to. When it's"clipboard", selected data goes to the CLIPBOARD clipboard and you can paste it with Ctrl+v. When it's"primary", selected data goes to the PRIMARY clipboard and you can paste it with the middle mouse button, or Shift+Insert. The value"false"can be used to disable copying to the clipboard entirely ๐ โโ๏ธ- Value type: String
- Default value:
primary
selection-notificationโ defines if a notification should show up after you select text ๐- Value type: Boolean
- Default value:
true
signature-error-colorโ the background color when displaying additional information for signatures with errors ๐จ- Value type: String
- Default value:
rgba(92%,11%,14%,0.9)
signature-success-colorโ the background color when displaying additional information for valid signatures โ- Value type: String
- Default value:
rgba(18%,80%,33%,0.9)
signature-warning-colorโ the background color when displaying additional information for signatures with warnings โ ๏ธ- Value type: String
- Default value:
rgba(100%,84%,0%,0.9)
single-page-modeโ defines if documents should be opened in single-page view mode ๐- Value type: Boolean
- Default value:
false
show-directoriesโ defines if directories should be displayed in completion ๐๏ธ- Value type: Boolean
- Default value:
true
show-hiddenโ defines if hidden files and directories should be displayed in completion ๐ป- Value type: Boolean
- Default value:
false
show-recentโ how many recent files should be displayed in completion. Negative value = all recent files shown.0= no recent files shown ๐ฐ๏ธ- Value type: Integer
- Default value:
10
show-signature-informationโ defines whether additional information on signatures embedded in documents should be displayed ๐- Value type: Boolean
- Default value:
false
statusbar-basenameโ use the basename of the file in the statusbar ๐ท๏ธ- Value type: Boolean
- Default value:
false
statusbar-home-tildeโ displays a short version of the file path in the statusbar, one that replaces$HOMEwith~๐- Value type: Boolean
- Default value:
false
statusbar-page-percentโ displays (current page / total pages) as a percent in the statusbar ๐ฏ- Value type: Boolean
- Default value:
false
synctexโ En/Disables SyncTeX backward synchronization support ๐งต- Value type: Boolean
- Default value:
true
synctex-edit-modifierโ the modifier you gotta hold together with the left mouse button to trigger SyncTeX backward synchronization. Possible values are"shift","ctrl"and"alt"๐ฑ๏ธ- Value type: String
- Default value:
ctrl
synctex-editor-commandโ the command executed for SyncTeX backward synchronization ๐งโ๐ป- Value type: String
- Default value: (empty)
vertical-centerโ centers the screen at the vertical midpoint of the page by default ๐ฏ- Value type: Boolean
- Default value:
false
window-decorationโ show window decorations ๐ช- Value type: Boolean
- Default value:
true
window-title-basenameโ uses the basename of the file in the window title ๐ท๏ธ- Value type: Boolean
- Default value:
false
window-title-home-tildeโ displays a short version of the file path in the window title, the one that replaces$HOMEwith~๐- Value type: Boolean
- Default value:
false
window-title-pageโ displays the page number in the window title ๐ข- Value type: Boolean
- Default value:
false
zoom-centerโ En/Disables horizontally centered zooming ๐- Value type: Boolean
- Default value:
false
zoom-maxโ okay bestie, this one sets the maximum percentage that the zoom level is allowed to reach ๐ it's literally the ceiling, no cap.- Value type:
Integer - Default value:
1000
- Value type:
zoom-minโ and this is the minimum percentage the zoom level can go down to ๐ฆ the floor, the lower limit, the "don't shrink past this" vibe.- Value type:
Integer - Default value:
10
- Value type:
zoom-stepโ defines how much percent gets zoomed in or out on each command ๐ so every zoom action moves by this amount, iconic and simple.- Value type:
Integer - Default value:
10
- Value type:
๐ SEE ALSO ๐
zathura(1)โ go read the main character's manual too, iykyk ๐ซถ
โ๏ธ Author โ๏ธ
pwmt.org โ yes, that's the author, periodt ๐
ยฉ๏ธ Copyright ยฉ๏ธ
2009-2026, pwmt.org โ all the rights, all the years, all the credit ๐ธ
And that's the whole page, bestie ๐ it's from 2026.10.23 (the source/version) and dated 2026-10-23, with the page name ZATHURARC(5) living its best life at the bottom. Slay, you made it to the end ๐
๐ฆ where this page comes from
- arch rolling: zathura 2026.10.23-2 ยท Zlib
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms