SIOYEK(1)
๐ NAME ๐
This is the SIOYEK(1) manual page, bestie โ User Commands, section 1 โ and sioyek is a PDF viewer designed for reading research papers and technical books. That's the whole vibe. ๐ฆ
๐ฆ SYNOPSIS ๐ฆ
sioyek [OPTIONS] [FILENAME]
โจ DESCRIPTION โจ
With no arguments, it opens the most recent document by default. No thoughts, just your last PDF. If none exists and should_load_tutorial_when_no_other_file is set in a preference file (see below), then it opens a tutorial PDF. ๐
๐ OPTIONS ๐
-v,--versionโ Displays version information ๐--instance-nameโ Select a specificsioyekinstance by name.--new-windowโ Open the file in a new window but within the samesioyekinstance.--reuse-windowโ Forcesioyekto reuse the current window even whenshould_launch_new_windowis set.--page PAGEโ Which page to open.--inverse-search COMMANDโ The command to execute when performing inverse search. InCOMMAND,%1is filled with the file name and%2is filled with the line number. Yes, those placeholders are doing the absolute most, and we love them.--forward-search-file FILEโ Perform forward search on fileFILE; must also include--forward-search-lineto specify the line.--forward-search-line LINEโ Perform forward search on lineLINE; must also include--forward-search-fileto specify the file.--forward-search-column COLUMNโ Perform forward search on columnCOLUMN; must also include--forward-search-fileto specify the file.--zoom ZOOMโ Set zoom level toZOOM.--xloc XLOCโ Set x position within page toXLOC.--yloc YLOCโ Set y position within page toYLOC.--shared-database-path PATHโ Specify which file to use for shared data (bookmarks, highlights, etc.).-h,--helpโ Displays help on commandline options.--help-allโ Displays help including Qt specific options. ๐
๐ธ FILES ๐ธ
/etc/sioyek/keys.configโ Default key bindings/etc/sioyek/prefs.configโ Default preferences/usr/share/sioyek/shadersโ Default shader files/usr/share/sioyek/tutorial.pdfโsioyektutorial PDF$XDG_CONFIG_HOME/sioyek/keys_user.configโ User key bindings$XDG_CONFIG_HOME/sioyek/prefs_user.configโ User preferences
๐ง CONFIGURATION ๐ง
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:
integerboolean: integer which is exactly either0or1float: period separated decimal valuestring: sequence of characters, without quotesfvec[n]: space separated list ofnfloatsivec[n]: space separated list ofnintegerscolor_3: space separated list of 3 floats or integers between0and1, representing RGB values.color_4: space separated list of 4 floats or integers between0and1. 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 atoggle_highlightcommand. Seekeys.configfor 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 if1, light mode if0.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.%1expands to the name of the file and%2expands to the line number.zoom_inc_factorfloatโ The factor by which we increase/decrease zoom when performingzoom_inorzoom_out.vertical_move_amountfloatโ How many (screen) inches we move vertically/horizontally when performingmove_up/downcommands.horizontal_move_amountfloatโ How many (screen) inches we move vertically/horizontally when performingmove_left/rightcommands.move_screen_ratiofloatโ How many inches we move vertically/horizontally when performingmove_left/rightcommands.flat_tocbooleanโ If0, 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 is1, 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 is0, then we use the previous instance ofsioyekwhen 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 samesioyekinstance.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 ofsioyekis available.sort_bookmarks_by_locationbooleanโ If set, we sort the bookmarks by their location instead of their creation time.shared_database_pathstringโ Path toshared.dbdatabase 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 syncsioyekacross 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 sizemiddle_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 tomiddle_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 commandtoggle_custom_color.custom_text_colorcolor_3โ Text color to use when executing the commandtoggle_custom_color.rerender_overviewbooleanโ If0, we use the previous renders for overview window which may cause it to be blurry if it is1, 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 to1, we zoom in on the cursor.linear_filterbooleanโ Apply linear texture filtering by passingGL_LINEARtoglTexParameteri. 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 thecopy_window_size_configcommand.
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] โ where the main window snaps to once the helper window dips ๐ if you don't set it, it just chills at(0, 0).fit_page_to_width_ratiofloat โ the ratio of the page width that thefit_to_page_width_ratiocommand actually uses. a value of1means the page eats the whole window width, main character behaviour honestly.collapsed_tocboolean โ if set, we start out with the table of contents entries collapsed ๐ (yes, the toc comes folded like fresh laundry).ruler_modeboolean โ if set, we highlight the current line invisual_scroll_modeby masking above and below the current line โจ if it's not set, we only mask below the line. lowkey different vibes.ruler_paddingfloat โ the ruler padding between the edges of the top and bottom of the text and the ruler ๐ruler_x_paddingfloat โ the ruler padding between the edges of the left and right of the text and the ruler ๐text_summary_urlstring โ the text summary url forfastread๐ฆ fastread mode (turned on with the commandtoggle_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. and by default, both this script and sioyek bind tolocalhost:5000โ they're matching, it's giving soulmate energy ๐ซถtext_summary_should_refineboolean โ language model option for the fastread server program. if1, then prevent highlights in the middle of words by always highlighting starting from the beginning of the word until the first mispredicted character. no more half-highlighted chaos ๐text_summary_should_fillboolean โ language model option for the fastread server program. if1, then highlight the entire word when over50%of it is highlighted. commit to the bit bestie ๐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 the heuristic if the text summary url does not return highlights. the heuristic involves choosingceiling(length*0.3)characters of every word to emphasize ๐papers_folder_pathstring โ a directory which sioyek watches for new papers ๐ if a new paper is 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. literally portal magic โจenable_experimental_featuresboolean โ enable possibly unstable experimental features ๐ you've been warned, it's giving chaos but make it fun.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. gotta cap it somewhere bestie ๐ฅforce_custom_line_algorithmboolean โ use a 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 ifhover_overviewis set to1๐ธoverview_offsetfvec[2] โ offset of the overview window as floats from the center of the page. floating-free-floating ๐ฆignore_whitespace_in_presentation_modeboolean โ always usefit_to_page_smart(ignoring whitespace) in presentation view ๐exact_highlight_selectboolean โ if set to0, then in word select mode, select the whole word even if the cursor is only partially on the word. if set to1, then select the word only if the range of the cursor's selection fully includes the word โ๏ธ pick your fighter.show_doc_pathboolean โ if set to0, then only show the filename in the dialog to choose to open a previous doc (open_prev_doc). if1, 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 to0, then don't warn the user about key definition overrides when the two definitions are in different files. if set to1, then always warn the user when keys are overridden โ ๏ธsingle_click_selects_wordsboolean โ if set to0, then single clicks select words and double clicks allow selection of arbitrary ranges of characters. if set to1, then double clicks select words and single clicks allow selection of arbitrary ranges of characters ๐ฑ๏ธ it flips the whole thing, no cap.highlight_middle_clickboolean โ if set to1, then middle clicks add a highlight withselect_highlight_typewhen a selection is active and no preview is open. if set to0, a smart jump is always attempted ๐ฒ๏ธsuper_fast_searchboolean โ if set to0, search is performed by the mupdf backend. if set to1, a super fast search index is used instead. this leads to a slight increase in memory ๐ฅ speed vs ram, the eternal struggle.case_sensitive_searchboolean โ if set to1,searchandregex_searchare case-sensitive. if set to0,searchandregex searchare case-insensitive ๐คincremental_searchboolean โ if set to1, jump to the first result as soon as you start typing. if set to0, wait until enter is pressed โจ๏ธ
๐ BUGS ๐
okay so if you find a bug in sioyek please report it at https://github.com/ahrm/sioyek/issues โ do it, the devs wanna know, and honestly reporting bugs is such a slay move ๐
that's the whole page bestie, you made it to the end, go forth and read pdfs with main character energy ๐ this was SIOYEK(1) from the SIOYEK source/version, dated 2022-06-18 โ love that for us ๐๐
๐ฆ where this page comes from
- alpine 3.24: sioyek-doc 2.0.0_git20260204-r1 ยท GPL-3.0-only
- nixos 26.05: sioyek 2.0.0-unstable-2026-04-08
- nixpkgs unstable: sioyek 2.0.0-unstable-2026-10-31
- Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms