ahrm / sioyek

Sioyek is a PDF viewer with a focus on textbooks and research papers

Home Page:https://sioyek.info/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pen & touch, drawing & selection related feedback

hrdl-github opened this issue · comments

commented

I finally got to try the touch mode on a Surface Go running GNU/Linux under wayland. I was positively surprised by sioyek's performance and usability. I have a few observations and thoughts that might be worth bringing up:

  1. Bug: the pen draw mode is out of sync when opening the touch draw controls. Pressing it once or twice causes the correct setting to be set.
  2. Feature: I like the idea of being able to quickly switch between freehand annotations and highlight annotations. How about adding an extra button in the draw controls menu that allows the pen / other pointer device (depending on the current pen draw mode) to at as a highlighter, ideally respecting single_click_selects_words or a new configuration option?
  3. Feature: some tablets and pens expose an eraser button, which could be mapped to the eraser in a natural way.
  4. The drawings aren't as smooth as Xournal++. This might just be due to the pruning routine. At least Qt.AA_CompressTabletEvents seems to be disabled, even though once I've noticed sioyek crashing, possibly due to the input queue running out of space, causing the composer to disconnect the wayland client. Anyway, I'll try this using a Wacom drawing tablet sometime next month, as those seem to produce nicer curves when using Xournal++ (in comparison to the native Surface Go pen under GNU/Linux).
  5. The regular selection tool feels very sluggish on this not-so-performant device. I can profile this sometime in April.
  6. Feature: launching the command overview should focus the search field to prevent unwanted keyboard commands
  7. The touch regions can interfere with regular touch-based scrolling. I have mapped middle_{right,left}_rect_tap_command to screen_{down,up}. These are occasionally triggered when scrolling using touch movements when the press and release events occur in one of the rectangles. This might be solved by adding a configuration option defining a maximum amount of movement allowed before the action is cancelled, similar to what leaving the rectangle does.