Sioyek supports many preferences that can be set in a file as described above.
Each preference is a token, some whitespace, and a value. A value can be a
• integer
• boolean: integer which is exactly either 0 or 1
• float: period separated decimal value
• string: sequence of characters, without quotes
• fvec[n]: space separated list of n floats
• ivec[n]: space separated list of n integers
• color_3: space separated list of 3 floats or integers between 0 and 1, representing RGB values.
• color_4: space separated list of 4 floats or integers between 0 and 1. The first three are RGB
values, and the last one is opacity.
text_highlight_colorcolor_3
Highlight color when text is selected using mouse.
vertical_line_colorcolor_4
Color of the highlight bar when right click is pressed (to bring up the reading guide). Alias
preference: visual_mark_color.
search_highlight_colorcolor_3
Highlight color when text is a search match.
link_highlight_colorcolor_3
Highlight color for PDF links (note that highlight is off by default and can only be seen by
performing a toggle_highlight command. See keys.config for more details).
synctex_highlight_colorcolor_3
Highlight color for synctex forward search highlights.
background_colorcolor_3
Background color.
dark_mode_background_colorcolor_3
Background color in dark mode.
dark_mode_contrastfloat
Contrast in dark mode. Higher values render the PDF with dimmer text.
default_dark_modeboolean
Start in dark mode if 1, light mode if 0.
item_list_prefixstring
Text to prefix every bookmark in bookmark lists.
inverse_search_commandstring
The command to use when trying to do inverse search into a LaTeX document. Uncomment and provide
your own command. %1 expands to the name of the file and %2 expands to the line number.
zoom_inc_factorfloat
The factor by which we increase/decrease zoom when performing zoom_in or zoom_out.
vertical_move_amountfloat
How many (screen) inches we move vertically/horizontally when performing move_up/down commands.
horizontal_move_amountfloat
How many (screen) inches we move vertically/horizontally when performing move_left/right commands.
move_screen_ratiofloat
How many inches we move vertically/horizontally when performing move_left/right commands.
flat_tocboolean
If 0, Table of Contents is shown in a hierarchical tree, otherwise it is a flat list (can improve
performance for extremely large table of contents).
should_use_multiple_monitorsboolean
If it is 1, when launching the application if we detect multiple monitors, we automatically launch
the helper window in second monitor.
should_load_tutorial_when_no_other_fileboolean
If the last opened document is empty, load the tutorial pdf instead..
should_launch_new_instanceboolean
If it is 0, then we use the previous instance of sioyek when launching a new file. otherwise a
new instance is launched every time we open a new file.
should_launch_new_windowboolean
Open the file in a new window but within the same sioyek instance.
should_draw_unrendered_pagesboolean
If set, we display a checkerboard pattern for unrendered pages (by default we display nothing).
check_for_updates_on_startupboolean
If set, shows a notification on startup if a new version of sioyek is available.
sort_bookmarks_by_locationboolean
If set, we sort the bookmarks by their location instead of their creation time.
shared_database_pathstring
Path to shared.db database file. If not set, we use the default path. you can set this to be a
file in a synced folder (e.g. dropbox folder) to automatically sync sioyek across multiple
computers.
On GNU/Linux, this refers to ~/.local/share/sioyek/shared.db.hover_overviewboolean
Displays an overview of destination when hovering over a link with mouse (no need to right click).
visual_mark_next_page_fractionfloat
When moving to the next line using visual marker, this setting specifies the distance of the
market to the top of the screen in fractions of screen size.
visual_mark_next_page_thresholdfloat
When moving to the next line using visual marker, this setting determines at which point we move
the screen.
ui_fontstring
Font to use for user interface (file browser, bookmarks, etc.).
font_sizeinteger
Font size
middle_click_search_enginestring
Search engine to use for middle click lookup. This value should be a string corresponding to the
letters, *, in another string preference which specifies the url, search_url_*.
For example,
• search_url_g https://www.duckduckgo.com/search?q=
• middle_click_search_engine g
Will use the duckduckgo address for middle click search.
shift_middle_click_search_enginestring
Search engine to use for shift middle click lookup. Value is analogous to
middle_click_search_engine.
startup_commandsstring
Semicolon separated list of commands to run on startup.
status_bar_font_sizeinteger
Font size for text in the status bar.
custom_background_colorcolor_3
Background color to use when executing the command toggle_custom_color.
custom_text_colorcolor_3
Text color to use when executing the command toggle_custom_color.
rerender_overviewboolean
If 0, we use the previous renders for overview window which may cause it to be blurry if it is 1,
we rerender with the proper resolution for overview window which looks better but may increase
power consumption.
wheel_zoom_on_cursorboolean
Normally mouse wheel zooms in on the middle of the screen, but if this is set to 1, we zoom in on
the cursor.
linear_filterboolean
Apply linear texture filtering by passing GL_LINEAR to glTexParameteri. This means that for a
pixture being textured, we use the weighted average of the four texture elements closest to its
center.
display_resolution_scalefloat
Resolution multiplier for PDF viewer.
status_bar_colorcolor_3
Color of the status bar background.
status_bar_text_colorcolor_3
Color of the status bar text.
main_window_sizeivec[2]
Default size (in width and height) of the main window when a helper window is opened. You can copy
the value of this config using the copy_window_size_config command.
If this is not set, then we use the full size of the first screen if there are multiple monitors,
otherwise we use half of the width of the screen and the whole height -- a vertical split in half.
main_window_moveivec[2]
Location to snap the main window to in x and y co-ordinates when the helper window is opened.
If not set, use (0, 0), top left of the first screen.
helper_window_sizeivec[2]
Default size (in width and height) of the helper window when it is opened.
If not set, use the full size of the second screen if there are multiple monitors, otherwise use
half of the width of the first screen and the whole height.
helper_window_moveivec[2]
Location to snap the helper window to in x and y co-ordinates when the helper window is opened.
If not set, then use (first screen width/2, 0) if there is only one monitor, and (second screen
width, 0) if there are two.
touchpad_sensitivityfloat
Touchpad sensitivity.
page_separator_widthfloat
Width of the page separator.
page_separator_colorcolor_3
Color of the page separator.
single_main_window_sizeivec[2]
Default size of the main window when the helper window has been closed.
If not set, uses the size of the whole screen.
single_main_window_moveivec[2]
Location to snap the main window to when the helper window has been closed.
If not set, uses (0, 0).
fit_page_to_width_ratiofloat
Ratio of page width to use for fit_to_page_width_ratio command. A value of 1 would use the whole
window width for the page.
collapsed_tocboolean
If set, we initially collapse table of content entries.
ruler_modeboolean
If set, we highlight the current line in visual_scroll_mode by masking above and below the current
line. If not set, we only mask below the line.
ruler_paddingfloat
Ruler padding between the edges of the top and bottom of the text and the ruler.
ruler_x_paddingfloat
Ruler padding between the edges of the left and right of the text and the ruler.
text_summary_urlstring
Text summary url for fastread. Fastread mode (turned on with the command toggle_fastread) by
default queries a url for information about which characters of each word on the page to
highlight. An implementation of such a server based on a language model is available here:
https://github.com/ahrm/sioyek/blob/main/scripts/summary_highlight_server.py.
By default, both this script and sioyek will bind to localhost:5000.
text_summary_should_refineboolean
Language model option for the fastread server program. If 1, then prevent highlights in the middle
of words by always highlighting starting from the beginning of the word until the first
mispredicted character.
text_summary_should_fillboolean
Language model option for the fastread server program. If 1, then highlight the entire word when
over 50% of it is highlighted.
text_summary_context_sizeinteger
Context size to use on the fastread server. Number of characters in context for next character
prediction.
use_heuristic_if_text_summary_not_availableboolean
Use heuristic if text summary url does not return highlights. The heuristic involves choosing
ceiling(length*0.3) characters of every word to emphasize.
papers_folder_pathstring
A directory which sioyek watches for new papers. If a new paper added to this directory while we
are creating a portal from another document, this new document will automatically be used as the
destination of the portal.
enable_experimental_featuresboolean
Enable possibly unstable experimental features
create_table_of_contents_if_not_existsboolean
Automatically create a table of contents for the document if it doesn't already have one.
max_created_toc_sizeinteger
Limits the maximum size of created table of contents.
force_custom_line_algorithmboolean
Use custom algorithm based on pixmaps to compute rectangles around the lines of the document.
overview_sizefvec[2]
Size, width and height, of the overview window. The overview window is triggered by right clicking
on an internal link, or hovering if hover_overview is set to 1.
overview_offsetfvec[2]
Offset of the overview window as floats from the center of the page.
ignore_whitespace_in_presentation_modeboolean
Always use fit_to_page_smart (ignoring whitespace) in presentation view.
exact_highlight_selectboolean
If set to 0, then in word select mode, select the whole word even if the cursor is only partially
on the word. If set to 1, then select the word only if the range of the cursor's selection fully
includes the word.
show_doc_pathboolean
If set to 0, then only show the filename in the dialog to choose to open a previous doc
(open_prev_doc). If 1, then show the entire file path.
fastread_opacityfloat
Opacity of the dimmed portion of words in fastread mode.
highlight_color_*color_3
Color of the highlight color bound to symbol * (should be one character).
should_warn_about_user_key_overrideboolean
If set to 0, then don't warn the user about key definition overrides when the two definitions are
in different files. If set to 1, then always warn the user when keys are overridden.
single_click_selects_wordsboolean
If set to 0, then single clicks select words and double clicks allow selection of arbitrary ranges
of characters. If set to 1, then double clicks select words and single clicks allow selection of
arbitrary ranges of characters.
highlight_middle_clickboolean
If set to 1, then middle clicks add a highlight with select_highlight_type when a selection is
active and no preview is open. If set to 0, a smart jump is always attempted.
super_fast_searchboolean
If set to 0, search is performed by the mupdf backend. If set to 1, a super fast search index is
used instead. This leads to a slight increase in memory.
case_sensitive_searchboolean
If set to 1, search and regex_search are case-sensitive. If set to 0, search and regex search are
case-insensitive.