ahrm / sioyek

Sioyek is a PDF viewer with a focus on textbooks and research papers
https://sioyek.info/
GNU General Public License v3.0
6.77k stars 219 forks source link

[ BUG ] Sioyek jumps to the top and locks the file #593

Open ibehnam opened 1 year ago

ibehnam commented 1 year ago

The most recent version 2.0 has a weird bug that didn't exist previously. If a file is open for a long time and I switch to other apps, after coming back to Sioyek, there's a high chance that it will jump to the top of the file and won't let me scroll, essentially locking the file. I have to close and re-open.

ahrm commented 1 year ago

How long do you mean approximately? Also what is your prefs_user.config?

ibehnam commented 1 year ago

A few hours. My prefs_user.config is:

# (can be 0 or 1) if set, shows a notification on startup if a new version of sioyek is available
check_for_updates_on_startup    1

# The color with which the screen is cleared before rendering the pdf (this is the background color of the application and not the PDF file)
#background_color    0.97 0.97 0.97
background_color    0.98 0.94 0.77
#background_color    1.00 0.989 0.93
dark_mode_background_color    0.0 0.0 0.0
# Background color to use when executing `toggle_custom_color`
#custom_background_color 0.180 0.204 0.251
#custom_background_color    1.00 0.989 0.93
custom_background_color    0.98 0.94 0.77
# Text color to use when executing `toggle_custom_color`
custom_text_color 0.847 0.871 0.914
# Pick your own document theme
custom_text_color 0 0 0

# Showing full white text on black background can be irritating for the eye, we can dim the whites a little bit using the contrast option
#dark_mode_contrast         0.8
dark_mode_contrast          1.0

# Highlight color when text is selected using mouse
# mine
#text_highlight_color    1.0 1.0 0.0
text_highlight_color    0.86 1.00 0.83

# The color of highlight ruler which is displayed when right click is pressed
# mine
#visual_mark_color    0.0 0.0 0.0 0.1
visual_mark_color    0.0 0.0 0.0 0.1

# Highlight color when text is a search match
search_highlight_color  0.0 1.0 0.0

# Hihglight 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)
link_highlight_color    0.0 0.0 1.0

# Hihglight color for synctex forward search highlights
synctex_highlight_color    1.0 0.0 1.0

# Urls to use when executing external_search commands
search_url_s    https://scholar.google.com/scholar?q=
search_url_l    http://gen.lib.rus.ec/scimag/?q=
search_url_g    https://www.google.com/search?q=

# Which search url to choose when middle clicking or shift middle clicking on text (the values are the letters of corresponding search_url_* )
# for example if i set `middle_click_search_engine  s`, then we use the url associated with `search_url_s` to handle middle click searches
middle_click_search_engine          s
shift_middle_click_search_engine    l

# The factor by which we increase/decrease zoom when performing zoom_in or zoom_out
zoom_inc_factor         1.2

# How many inches we move vertically/horizontally when performing move_* commands
vertical_move_amount    1.0
horizontal_move_amount    1.0

# When performing screen_down/screen_up we usually don't move a full screen because it causes the user to lose context
# Here we specify the fraction of the screen width by which we move when performing these commands
move_screen_ratio      0.4

# 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)
flat_toc                            0

# If it is 1, when launching the application if we detect multiple monitors, we automatically launch the helper window in second monitor
should_use_multiple_monitors        0

# If the last opened document is empty, load the tutorial pdf instead
should_load_tutorial_when_no_other_file 1

# (deprecated, use `should_launch_new_window` instead) 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_instance             0

# If set, we open a new sioyek window when a new file is opened, otherwise we open the file in the previous window
should_launch_new_window                1

# 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 expans to the line number.
#inverse_search_command         "C:\path\to\vscode\Code.exe" -r -g %1:%2

# you can specify the exact highlight color for each of 26 different highlight types

# 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 (center of the screen is zero, top of the screen is one)
visual_mark_next_page_fraction  0.75

# When moving to the next line using visual marker, this setting determines at which point we move the screen (center of the screen is zero, bottom of the screen is one)
visual_mark_next_page_threshold 0.25

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

# 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
rerender_overview 1

## Size of the overview window (1 being as large as the window, valid range is [0, 1])
# overview_size 0.5 0.5

## Offset of the center of the overview window ((0,0) being the center of the screen and valid raneg is [-1, 1])
# overview_offset 0.5 0.5

# Use linear texture filtering instead of nearest-neighbor
# Can improve appearance in very high-resolution screens
linear_filter 0

# Use dark mode by default (deprecated, better add `toggle_dark_mode` to `startup_commands` )
default_dark_mode   0

# If set, we sort the bookmarks by their location instead of their creation time
sort_bookmarks_by_location  1

## 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
#shared_database_path    /some/path/shared.db

## Name of the font to use for UI text
ui_font     "Arial"
## Size of the UI font
font_size 14

# Normally mouse wheel zooms in on the middle of the screen, but if this is set to 1, we zoom in on the cursor
wheel_zoom_on_cursor 0

## Color of status bar background
#status_bar_color 0 0 0
## Color of status bar text
#status_bar_text_color 1 1 1
## Font size of the status bar text
#status_bar_font_size 20

## The default size of main window when helper window is closed
#single_main_window_size 800 600
#single_main_window_move 100 100

## The default size/offset of main/helper window when helper window is opened. You can copy the value of this config using `copy_window_size_config` command
#main_window_size 800 600
#main_window_move 100 100
#helper_window_size 800 600
#helper_window_move 100 100

## Touchpad/scrollwhell sensitivity
# mine --- this config was mentioned here https://github.com/ahrm/sioyek/discussions/331
touchpad_sensitivity 0.2
vertical_move_amount 3

## Configure the appearance of page separator
page_separator_width 2
page_separator_color    0.9 0.9 0.9

# Ratio of page width to use for `fit_to_page_width_ratio` command
fit_to_page_width_ratio 0.75

# If set, we initially collapse table of content entries
collapsed_toc 0

# 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_mode 1

# Additional ruler padding
ruler_padding 1.0
ruler_x_padding 5.0

## We use mupdf to determine lines for visual mark. However, we do have a custom algorithm for image documents
## if `force_custom_line_algorithm` is 1, then we use our custom algorithm instead of mupdf even for documents
## that have lines.
#force_custom_line_algorithm 0

# 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.
#paper_folder_path /some/path

# Enable some experimental features, might not be stable
#enable_experimental_features 0

# Automatically create a table of contents for the document if it doesn't already have one
create_table_of_contents_if_not_exists 1

# Limits the maximum size of created table of contents
max_created_toc_size 5000

# Warn the user on the command line only when redefining keys inside
# the same file. When set to 1, sioyek will warn when redefining keys
# from other files also
should_warn_about_user_key_override 1

# Use double clicks to select entire words and single clicks for character-based selection
#single_click_selects_words 0
single_click_selects_words 1

# A prefix to prepend to items in lists (e.g. bookmark lists)
#item_list_prefix >

## In presentation mode, ignore whitespace when trying to determine the size of a page
#ignore_whitespace_in_presentation_mode 0

## In list of recent documents, show the entire document path rather than just the name
# mine
show_doc_path 1

# Show long menu items in multiple lines instead of truncating the string, can reduce performance for
#very large lists
multiline_menus 1

# While in present mode, prerender the next page to avoid flickering
prerender_next_page_presentation 1

## Custom commands to run when clicking or right clicking when modifier keys are pressed
## the command can be any built-in sioyek command (e.g. overview_under_cursor) or user-defined
## commands defined using `new_command`
# shift_click_command some_command
# control_click_command some_command
# alt_click_command some_command
# shift_right_click_command some_command
# control_right_click_command some_command
# alt_right_click_command some_command

#Amethyst
highlight_color_a   0.94 0.64 1.00
#Blue
highlight_color_b   0.00 0.46 0.86
#Caramel
highlight_color_c   0.60 0.25 0.00
#Damson
highlight_color_d   0.30 0.00 0.36
#Ebony
highlight_color_e   0.10 0.10 0.10
#Forest
highlight_color_f   0.00 0.36 0.19
#Green
highlight_color_g   0.17 0.81 0.28
#Honeydew
highlight_color_h   1.00 0.80 0.60
#Iron
highlight_color_i   0.50 0.50 0.50
#Jade
highlight_color_j   0.58 1.00 0.71
#Khaki
highlight_color_k   0.56 0.49 0.00
#Lime
highlight_color_l   0.62 0.80 0.00
#Mallow
highlight_color_m   0.76 0.00 0.53
#Navy
highlight_color_n   0.00 0.20 0.50
#Orpiment
highlight_color_o   1.00 0.64 0.02
#Pink
highlight_color_p   1.00 0.66 0.73
#Quagmire
highlight_color_q   0.26 0.40 0.00
#Red
highlight_color_r   1.00 0.00 0.06
#Sky
highlight_color_s   0.37 0.95 0.95
#Turquoise
highlight_color_t   0.00 0.60 0.56
#Uranium
highlight_color_u   0.88 1.00 0.40
#Violet
highlight_color_v   0.45 0.04 1.00
#Wine
highlight_color_w   0.60 0.00 0.00
#Xanthin
highlight_color_x   1.00 1.00 0.50
#Yellow
highlight_color_y   1.00 1.00 0.00
#Zinnia
highlight_color_z   1.00 0.31 0.02

######## additional mine from internet

#custom_background_color 0.180 0.204 0.251
#custom_text_color 0.847 0.871 0.914
#background_color    1 0.989 0.933

#use_heuristic_if_text_summary_not_available 1

rerender_overview            1

# display_resolution_scale 1

# Fast reading is the bionic reading feature
# startup_commands toggle_fastread 1
fastread_opacity 0.5
#toggle_mouse_drag_mode
# mine
startup_commands toggle_horizontal_scroll_lock;toggle_custom_color;toggle_visual_scroll;toggle_highligt;toggle_smooth_scroll_mode
#smooth_scroll_speed 3
#smooth_scroll_drag 3000
uncomfyhalomacro commented 1 year ago

The most recent version 2.0 has a weird bug that didn't exist previously. If a file is open for a long time and I switch to other apps, after coming back to Sioyek, there's a high chance that it will jump to the top of the file and won't let me scroll, essentially locking the file. I have to close and re-open.

I can reproduce this bug. although this is on a different system. This only happened after the removal of the gumbo-parser dependency. not sure about yours.

uncomfyhalomacro commented 1 year ago

I will be using flatpak as a workaround. Not sure for those that use an M1 Mac