sioyek − a PDF viewer designed for reading research papers and technical books.
sioyek [OPTIONS] [FILENAME]
With no arguments, open the most recent document by default. If none exists and should_load_tutorial_when_no_other_file is set in a preference file (see below), then open a tutorial PDF.
-v, --version |
Displays version information
--reuse-instance |
When opening a new file, reuse the previous instance of sioyek instead of opening a new window.
--new-instance |
When opening a new file, create a new instance of sioyek.
--new-window |
Open the file in a new window but within the same sioyek instance.
--reuse-window |
Force sioyek to reuse the current window even when should_launch_new_window is set.
--page |
PAGE |
Which page to open.
--inverse-search |
COMMAND |
The command to execute when performing inverse search. In COMMAND %1 is filled with the file name and %2 is filled with the line number.
--forward-search-file |
FILE |
Perform forward search on file FILE must also include --forward-search-line to specify the line
--forward-search-line |
LINE |
Perform forward search on line LINE must also include --forward-search-file to specify the file
--forward-search-column |
COLUMN |
Perform forward search on column COLUMN must also include --forward-search-file to specify the file
--zoom |
ZOOM |
Set zoom level to ZOOM
--xloc |
XLOC |
Set x position within page to XLOC
--yloc |
YLOC |
Set y position within page to YLOC
--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
/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 |
sioyek tutorial PDF
$XDG_CONFIG_HOME/sioyek/keys_user.config |
User key bindings
$XDG_CONFIG_HOME/sioyek/prefs_user.config |
User preferences
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. |
color_3 |
Highlight color when text is selected using mouse.
vertical_line_color |
color_4 |
Color of the highlight bar when right click is pressed (to bring up the reading guide). Alias preference: visual_mark_color.
search_highlight_color |
color_3 |
Highlight color when text is a search match.
link_highlight_color |
color_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_color |
color_3 |
Highlight color for synctex forward search highlights.
background_color |
color_3 |
Background color.
dark_mode_background_color |
color_3 |
Background color in dark mode.
dark_mode_contrast |
float |
Contrast in dark mode. Higher values render the PDF with dimmer text.
default_dark_mode |
boolean |
Start in dark mode if 1, light mode if 0.
item_list_prefix |
string |
Text to prefix every bookmark in bookmark lists.
inverse_search_command |
string |
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_factor |
float |
The factor by which we increase/decrease zoom when performing zoom_in or zoom_out.
vertical_move_amount |
float |
How many (screen) inches we move vertically/horizontally when performing move_up/down commands.
horizontal_move_amount |
float |
How many (screen) inches we move vertically/horizontally when performing move_left/right commands.
move_screen_ratio |
float |
How many inches we move vertically/horizontally when performing move_left/right commands.
flat_toc |
boolean |
If 0, Table of Contents is shown in a hierarchial tree, otherwise it is a flat list (can improve performance for extremely large table of contents).
should_use_multiple_monitors |
boolean |
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_file |
boolean |
If the last opened document is empty, load the tutorial pdf instead..
should_launch_new_instance |
boolean |
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_window |
boolean |
Open the file in a new window but within the same sioyek instance.
should_draw_unrendered_pages |
boolean |
If set, we display a checkerboard pattern for unrendered pages (by default we display nothing).
check_for_updates_on_startup |
boolean |
If set, shows a notification on startup if a new version of sioyek is available.
sort_bookmarks_by_location |
boolean |
If set, we sort the bookmarks by their location instead of their creation time.
shared_database_path |
string |
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_overview |
boolean |
Displays an overview of destination when hovering over a link with mouse (no need to right click).
visual_mark_next_page_fraction |
float |
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_threshold |
float |
When moving to the next line using visual marker, this setting determines at which point we move the screen.
ui_font |
string |
Font to use for user interface (file browser, bookmarks, etc.).
font_size |
integer |
Font size
middle_click_search_engine |
string |
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_engine |
string |
Search engine to use for shift middle click lookup. Value is analogous to middle_click_search_engine.
startup_commands |
string |
Semicolon separated list of commands to run on startup.
status_bar_font_size |
integer |
Font size for text in the status bar.
custom_background_color |
color_3 |
Background color to use when executing the command toggle_custom_color.
custom_text_color |
color_3 |
Text color to use when executing the command toggle_custom_color.
rerender_overview |
boolean |
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_cursor |
boolean |
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_filter |
boolean |
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_scale |
float |
Resolution multiplier for PDF viewer.
status_bar_color |
color_3 |
Color of the status bar background.
status_bar_text_color |
color_3 |
Color of the status bar text.
main_window_size |
ivec[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_move |
ivec[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_size |
ivec[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 mulitple monitors, otherwise use half of the width of the first screen and the whole height.
helper_window_move |
ivec[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_sensitivity |
float |
Touchpad sensitivity.
page_separator_width |
float |
Width of the page separator.
page_separator_color |
color_3 |
Color of the page separator.
single_main_window_size |
ivec[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_move |
ivec[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_ratio |
float |
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_toc |
boolean |
If set, we initially collapse table of content entries.
ruler_mode |
boolean |
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_padding |
float |
Ruler padding between the edges of the top and bottom of the text and the ruler.
ruler_x_padding |
float |
Ruler padding between the edges of the left and right of the text and the ruler.
text_summary_url |
string |
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_refine |
boolean |
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_fill |
boolean |
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_size |
integer |
Context size to use on the fastread server. Number of characters in context for next character prediction.
use_heuristic_if_text_summary_not_available |
boolean |
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_path |
string |
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_features |
boolean |
Enable possibly unstable experimental features
create_table_of_contents_if_not_exists |
boolean |
Automatically create a table of contents for the document if it doesn’t already have one.
max_created_toc_size |
integer |
Limits the maximum size of created table of contents.
force_custom_line_algorithm |
boolean |
Use custom algorithm based on pixmaps to compute rectangles around the lines of the document.
overview_size |
fvec[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_offset |
fvec[2] |
Offset of the overview window as floats from the center of the page.
ignore_whitespace_in_presentation_mode |
boolean |
Always use fit_to_page_smart (ignoring whitespace) in presentation view.
exact_highlight_select |
boolean |
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_path |
boolean |
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_opacity |
float |
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_override |
boolean |
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_words |
boolean |
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_click |
boolean |
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_search |
boolean |
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_search |
boolean |
If set to 1, search and regex_search are case-sensitive. If set to 0, search and regex search are case-insensitive.
If you find a bug in sioyek please report it at https://github.com/ahrm/sioyek/issues