Configuration

Sioyek uses four config files:

  • keys.config which stores the default keybindings

  • keys_user.config which stores the modified keybindings

  • prefs.config which stores the default preferences

  • prefs_user.config which stores the modified preferences

The location of these files are OS-dependent. You can open these files by executing keys, keys_user, prefs and prefs_user commands using the sioyek command line (see Command Menu).

Syntax of keys.config files

  • Lines starting with # are comments and are ignored

command        k             (command is executed when k is pressed)
command        <C-k>         (command is executed when k is pressed while holding control)
command        <S-k>         (command is executed when k is pressed while holding shift)
command        <A-k>         (command is executed when k is pressed while holding alt)
command        <S-+>         (command is executed when = is pressed while holding shift.
                              Note that <S-=> would not work because of a bug in the command system so
                              when prefixing non-ascii keys with shift, you have to specify the shift
                              modified key in addition to the shift modifier)
command        <C-S-k>       (command is executed when k is pressed while holding control and shift)
command        gg            (command is executed when g is pressed twice)
command        gt            (command is executed when g is pressed and then t is pressed)
command        g<C-n><S-d>t  (command is executed when g is pressed and then n is pressed while holding\
                              control and then d is pressed while holding shift and then t is pressed)

Prefrences in prefs.config file

background_color

Specifies the background color of the app (this is different from the background color of PDF page, this color is only shown when the displayed page is smaller than the srceen). The syntax to set colors is:

background_color  r  g  b

where r,g and b red, green and blue values between 0 and 1. For example in order to set the bavkground color to gray we can add the following to our prefs_user.config:

background_color  0.5  0.5  0.5

dark_mode_background_color

Specifies the background color when dark mode is enabled.

dark_mode_contrast

White text in dark mode can be annoying for the eyes. This option allows us to dim the white colors when dark mode is enabled. Allowed values are between 0.0 and 1.0.

text_highlight_color

Highlight color when text is selected using mouse.

vertical_line_color

This is the color of the transparent visual mark explained in Underline (this feature originally had an entirely different functionality which is why it is called vertical line even though there is nothing vertical about it!). Allowed values are RGBA colors between 0.0 and 1.0. For example, to set the color to a transparent red we add the following to our prefs_user.config:

vertical_line_color  1.0  0.0  0.0  0.1

search_highlight_color

The color used to highlight search results.

synctex_highlight_color

Highlight color for synctex forward search highlights.

search_url_a to search_url_z

The web addresses used for performing external_search command. (see External Search). Example:

search_url_g https://www.google.com/search?q=

middle_click_search_engine and shift_middle_click_search_engine

The letter corresponding to search_url_* configs to use when middle clicking/shift-middle clicking on text. Example:

middle_click_search_engine           g

This causes the search engine configures using search_url_g to be used when middle clicking on text.

zoom_inc_factor

The fraction by which we enlarge the page when zooming in/out.

vertical_move_amount and horizontal_move_amount

How many inches we move vertically/horizontally when performing move_* commands.

move_screen_percentage

The fraction of screen by which we move when executing screen_down and screen_up commands. (note that despite the name, the values are fractions between 0 and 1, not percentages)

flat_toc

Displays a simplified flat table of contents instead of a hierarchial one. This can improve performance for documents with very large number of table of contents entries (thousands). Acceptable values are 0 and 1.

should_use_multiple_monitors

If it is 1, when launching the application if we detect multiple monitors, we automatically launch the helper window in second monitor. Acceptable values are 0 and 1.

should_load_tutorial_when_no_other_file

If the last opened document is empty, load the tutorial pdf instead.

should_launch_new_instance

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.

inverse_search_command

The command to use when trying to do inverse search into a LaTeX document. %1 expands to the name of the file and %2 expans to the line number. For example:

inverse_search_command               "C:\path\to\vscode\Code.exe" -r -g %1:%2

highlight_color_a to highlight_color_z

The color to use for highlights of type a to z.

visual_mark_next_page_fraction

When moving to the next line using visual marker, this setting specifies the distance of the marker to the top of the screen in fractions of screen size when we decite to move the screen.

visual_mark_next_page_threshold

When moving to the next line using visual marker, this setting determines at which point we decide to move the screen

should_draw_unrendered_pages

If set, we display a checkerboard pattern for unrendered pages (by default we display nothing).

hover_overview

Displays an overview of destination when hovering over a link with mouse.

default_dark_mode

Use dark mode by default.

sort_bookmarks_by_location

If set, we sort the bookmarks by their location instead of their creation time.

shared_database_path

The path of shared.db database file. You can set this path to be in a synchronized folder (for example a dropbox folder) and sioyek data will be automatically synchronized across your devices.