Sioyek is a PDF viewer designed for reading research papers and technical books.

Overview

Sioyek

Sioyek is a PDF viewer designed for reading research papers and technical books.

Features

Quick Open

recent_docs.mp4

You can quickly search and open any file you have previously interacted with using sioyek.

Table of Contents

toc.mp4

You can search and jump to table of contents entries.

Smart Jump

jump.mp4

You can jump to any referenced figure or bibliography item even if the PDF file doesn't provide links. You can also search the names of bibliography items in google scholar/libgen by middle clicking/shif+middle clicking on their name.

Mark

mark.mp4

Sometimes when reading a document you need to go back a few pages (perhaps to view a definition or something) and quickly jump back to where you were. You can achieve this by using marks. Marks are named locations within a PDF file (each mark has a single character name for example 'a' or 'm') which you can quickly jump to using their name. In the aforementioned example, before going back to the definition you mark your location and later jump back to the mark by invoking its name. Lower case marks are local to the document and upper case marks are global (this should be very familiar to you if you have used vim).

Bookmarks

bookmarks.mp4

Bookmarks are similar to marks except they are named by a text string and they are all global.

Portals (this feature is most useful for users with multiple monitors)

portal.mp4

Suppose you are reading a paragraph which references a figure which is not very close to the current location. Jumping back and forth between the current paragraph and the figure can be very annoying. Using portals, you can link the paragraph's location to the figure's location. Sioyek shows the closest portal destination in a separate window (which is usually placed on a second monitor). This window is automatically updated to show the closest portal destination as the user navigates the document.

Configuration

config.mp4

You can customize all key bindings and some UI elements by editing keys_user.conf and prefs_user.conf. The default configurations are in keys.conf and prefs.conf.

Comments
  • Text rendering issue on linux build / release

    Text rendering issue on linux build / release

    Hi there,

    I just tried to use a fresh build image for here and also built from the master, but in both cases had such a rendering issue: Selection_221 Could you please help me to fix it? My env: Xubuntu 20.04.1

    Thanks in advance!

    opened by szobov 24
  • Standardised location for config files

    Standardised location for config files

    Hi, thanks for this project – seems to be scratching many long-standing itches!

    Does the app look for config files in the usual Linux/Mac directories such as .config/sioyek etc? If not, could it?

    Thanks!

    opened by d-miketa 20
  • installation issue

    installation issue

    I am pretty noob to linux so excuse this probably simple question. image I have dependencies installed.

    I just installed qtdeclarative5-dev and still having this issue.

    opened by tokisuno 18
  • Mouse hovering a reference doesn't show the reference

    Mouse hovering a reference doesn't show the reference

    Hello, The recently implemented feature--- When you hover on a referece, a figure, etc. to display it as adressed here: #43

    However, this feature works on some PDF files (such as those who have hyperlinks on the reference numbers). But for some documents it doesn't work (see the attached PDF).

    Thank you

    document.zip

    opened by A3EKV 18
  • [Bug] when switching to dark mode, image colors also get inverted

    [Bug] when switching to dark mode, image colors also get inverted

    If I view the following image in light mode: image

    When switching to dark mode, the image displays like this: image

    This specific image is a good test case because the skeleton on the right benefits from being shown in contrast to the background color whereas the image of the monster on the left does not.

    In my test case Sioyek boots in light mode by default.

    opened by dangmoody 17
  • build failure on macos 10.15

    build failure on macos 10.15

    Following the build instructions, the build fails wiith:

    <...>
        CC build/release/platform/gl/gl-ui.o
        CC build/release/platform/gl/gl-win32.o
        LINK build/release/mupdf-gl
    ld: warning: option -s is obsolete and being ignored
    Info: creating stash file /Volumes/data/git/sioyek/.qmake.stash
    Project ERROR: Unknown module(s) in QT: openglextensions
    make: *** No targets specified and no makefile found.  Stop.
    mv: rename sioyek.app to build/sioyek.app: No such file or directory
    cp: build/sioyek.app/Contents/MacOS/shaders: No such file or directory
    
    • macOS 10.15
    • qt5 6.2.2
    opened by telephon 17
  • PDF doesn't render on Arch

    PDF doesn't render on Arch

    I installed sioyek from the AUR with yay -S sioyek and after installation all I get is a white screen with a bar below which denotes the page numbers. The TOC works, and also the settings menu but the PDF doesn't load. Here's what I get when I run sioyek:

    ❯ sioyek
    default_config_path: /etc/sioyek/prefs.config
    default_keys_path: /etc/sioyek/keys.config
    user_config_path: [ 0 ] /etc/xdg/sioyek/prefs_user.config
    user_config_path: [ 1 ] /home/divya/.config/sioyek/prefs_user.config
    user_keys_path: [ 0 ] /etc/xdg/sioyek/keys_user.config
    user_keys_path: [ 1 ] /home/divya/.config/sioyek/keys_user.config
    database_file_path: /home/divya/.local/share/sioyek/test.db
    local_database_file_path: /home/divya/.local/share/sioyek/local.db
    global_database_file_path: /home/divya/.local/share/sioyek/shared.db
    tutorial_path: /usr/share/sioyek/tutorial.pdf
    last_opened_file_address_path: /home/divya/.local/share/sioyek/last_docum
    shader_path: /usr/share/sioyek/shaders
    Creating shared memory block...
    Shared memory created: this is the primary application.
    Starting IPC server...
    IPC server started.
    

    I have looked at other issues like Issue#50, but nothing really changes for me when I do:

    cp -r /usr/share/sioyek/shaders /home/divya/.local/share/sioyek/shaders
    cp /usr/share/sioyek/tutorial.pdf /home/divya/.local/share/sioyek/tutorial.pdf
    

    I have tried to install the git version with yay -S sioyek-git but that isn't any different. I have tried to build and compile myself but I get stuck with the following:

    g++ -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-rpath-link,/usr/lib -o sioyek book.o config.o database.o document.o document_view.o input.o main.o main_widget.o pdf_renderer.o pdf_view_opengl_widget.o checksum.o sqlite3.o ui.o path.o utils.o synctex_parser.o synctex_parser_utils.o RunGuard.o moc_pdf_renderer.o moc_RunGuard.o   -ldl -Lmupdf/build/release -lmupdf -lmupdf-third -lmupdf-threads -lharfbuzz -lz /usr/lib/libQt5OpenGL.so /usr/lib/libQt5QuickWidgets.so /usr/lib/libQt5Widgets.so /usr/lib/libQt5Quick.so /usr/lib/libQt53DAnimation.so /usr/lib/libQt53DExtras.so /usr/lib/libQt53DRender.so /usr/lib/libQt53DInput.so /usr/lib/libQt53DLogic.so /usr/lib/libQt53DCore.so /usr/lib/libQt5OpenGLExtensions.a /usr/lib/libQt5Gui.so /usr/lib/libQt5Sql.so /usr/lib/libQt5QmlModels.so /usr/lib/libQt5Qml.so /usr/lib/libQt5Network.so /usr/lib/libQt5Core.so -lGL -lpthread
    /usr/bin/ld: cannot find -lmupdf-threads
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:267: sioyek] Error 1
    

    even though I have libmupdf installed.

    What am I doing wrong, or missing?

    opened by divyaranjan1905 16
  • latest release (in fork) for macOS has blurry font

    latest release (in fork) for macOS has blurry font

    This refers to the latest release in this fork

    As soon as I opened it, I noticed that the PDF fonts are blurry. I can see the pixels of the characters while previously I saw smooth font.

    I have already rolled back.

    opened by SichangHe 16
  • Highlights not visible in other apps

    Highlights not visible in other apps

    So I marked up a document with sioyek, I open the resulting PDF in another app (in my instance Xodo desktop version, https://pdf.online/?from=xodo), and the highlights are not visible. Reopening the PDF in sioyek shows the highlights. Also, PDFs highlighted in Xodo shows the highlights in sioyek.

    Is there some problem with the highlighting that is not standard across the PDF specification?

    opened by DOFfactory 16
  • Sioyek is not responding

    Sioyek is not responding

    Sometimes when I load a larger PDF I get this error:

    image

    I do not know what is causing the issue, but if you want to troubleshoot/debug, in this case it was this document: https://op.europa.eu/en/publication-detail/-/publication/7769a148-f1f6-11e8-9982-01aa75ed71a1

    I noticed that if one scrolls too quickly, it hogs the system, sometimes sioyek is able to recover from it, sometimes not. My system is updated Windows 10.

    opened by DOFfactory 16
  • AppImage fails on Debian 10

    AppImage fails on Debian 10

    • OS: Debian 10.x buster
    • Version: v0.31.5
      • https://github.com/ahrm/sioyek/releases/download/v0.31.5/sioyek-release-linux-portable.zip
      • https://github.com/ahrm/sioyek/releases/download/v0.31.5/sioyek-release-linux.zip

    Actual behavior

    Seems like both AppImages created on Linux distro which has more recent version of libstdc than actual LTS release

    $ ./Sioyek-x86_64.AppImage
    ./Sioyek-x86_64.AppImage: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./Sioyek-x86_64.AppImage)
    

    Expected behavior

    It should run without issues on Linux LTS distributions, so if possible use build environment which would allow use AppImage on LTS releases of both Ubuntu and Debian.

    References

    • https://stackoverflow.com/questions/52663287/glibcxx-3-4-26-not-found
    • https://stackoverflow.com/questions/63190229/glibcxx-3-4-26-not-found-running-cross-complied-program-on-beaglebone
    opened by Symbian9 16
  • Fails to create EGL Context on Asahi with GPU Driver

    Fails to create EGL Context on Asahi with GPU Driver

    Hey, thanks for the awesome software. I realize this is pretty cutting edge and maybe not worth your time but I can't get sioyek to start on asahi's new edge kernel with GPU support on my M1 Pro. It fails like this after building fine.

    ~/tools/sioyek (main) » ./build/sioyek                                        
    QWaylandGLContext: failed to create EGLContext, error=3009
    default_config_path: /home/alex/tools/sioyek/build/prefs.config
    default_keys_path: /home/alex/tools/sioyek/build/keys.config
    user_config_path: [ 0 ] /etc/xdg/sioyek/prefs_user.config
    user_config_path: [ 1 ] /home/alex/.config/sioyek/prefs_user.config
    user_config_path: [ 2 ] /home/alex/.local/share/Sioyek/prefs_user.config
    user_config_path: [ 3 ] /home/alex/.config/sioyek/prefs_user.config
    user_keys_path: [ 0 ] /etc/xdg/sioyek/keys_user.config
    user_keys_path: [ 1 ] /home/alex/.config/sioyek/keys_user.config
    user_keys_path: [ 2 ] /home/alex/.local/share/Sioyek/keys_user.config
    user_keys_path: [ 3 ] /home/alex/.config/sioyek/keys_user.config
    database_file_path: /home/alex/.local/share/Sioyek/test.db
    local_database_file_path: /home/alex/.local/share/Sioyek/local.db
    global_database_file_path: /home/alex/.local/share/Sioyek/shared.db
    tutorial_path: /home/alex/.local/share/Sioyek/tutorial.pdf
    last_opened_file_address_path: /home/alex/.local/share/Sioyek/last_document_path.txt
    shader_path: /home/alex/tools/sioyek/build/shaders
    Creating shared memory block...
    Shared memory created: this is the primary application.
    Starting IPC server...
    IPC server started.
    QWaylandGLContext: failed to create EGLContext, error=3009
    QOpenGLWidget: Failed to create context
    QWaylandGLContext: failed to create EGLContext, error=3009
    QOpenGLWidget: Failed to create context
    QWaylandGLContext: failed to create EGLContext, error=3009
    QOpenGLWidget: Failed to create context
    QWaylandGLContext: failed to create EGLContext, error=3009
    QOpenGLWidget: Failed to create context
    QWaylandGLContext: failed to create EGLContext, error=3009
    QOpenGLWidget: Failed to create context
    QWaylandGLContext: failed to create EGLContext, error=3009
    qt.qpa.backingstore: composeAndFlush: QOpenGLContext creation failed
    QWaylandGLContext: failed to create EGLContext, error=3009
    qt.qpa.backingstore: composeAndFlush: makeCurrent() failed
    
    opened by god-shatter 0
  • Auto-display acronym definition

    Auto-display acronym definition

    I often read academic papers with many new acronyms, and my typical method to recall them later in the document is 1) ctrl-f and search the unknown acronym, 2) jump to the document top, and 3) look through each find result until a match contains the definition nearby (either the acronym or its definition are almost always in parentheses).

    For example, in the below screenshot, one acronym is GST (in parentheses) and its definition is Generic Network Slice Template (no parentheses). An opposite example is the acronym NSI (no parenthesis, and you should ignore the plural 's') with its definition Network Slice Instance (in parentheses).

    Screenshot_20230102_105005

    I'd like to avoid always needing to manually search for the definitions when encountering an unknown acronym (probably using some logic that detects nearby parentheses by an early occurrence, may not always be correct...). For example, later in the example document the GST acronym appears - I'd like for an option to either 1) select an acronym to find+display its definition and/or 2) preemptively locate all definitions and display them as an overlay to the right of the text/PDF for quick reference.

    image

    Maybe this could extend to glossary word definitions later (and perhaps the PDF standard allows for term definition metadata, but I doubt it), but that sounds much less predictable vs acronym definitions.

    opened by ryanwwest 0
  • Cannot permanently delete highlights

    Cannot permanently delete highlights

    Hi Ali,

    When I delete some highlights (either using dh, or by editing the list of highlights) and then close the pdf file, the highlights reappear when I open the pdf again. I am using version 2.0.0-1, under Linux Fedora, installed as an appimage. I had the same issue with the previous version.

    This is my prefs_user.config:

    dark_mode_contrast 0.5
    startup_commands             fit_to_page_width_smart
    font_size 20
    use_legacy_keybinds 0
    show_document_name_in_statusbar 1
    
    

    Do you know what could be the issue?

    Many thanks!

    opened by jmburgos 8
  • the difference between ui_background_color and status_bar_color

    the difference between ui_background_color and status_bar_color

    Are status_bar_color and ui_background_color the same? They both change the status bar color and TOC bg colours. I was hoping to have different colors for status bar the of TOC's background, is that possible?

    opened by mil-ad 0
  • [FR] Optionally use external fuzzy search in menus

    [FR] Optionally use external fuzzy search in menus

    The current implementation of fuzzy searching is minimal. There are some great fuzzy searchers out there. I personally recommend fzf, though it would need to be run as an external process. But I think it's worth it.

    The crucial piece currently missing is that whitespace should act as logical OR when doing fuzzy searching: knowled lat should match latent_knowledge_in_the_brain, for example. But fzf has a lot more goodies implemented with a great sorting algorithm, so using it wholesale is preferable.

    Related:

    • https://github.com/ahrm/sioyek/issues/155
    • https://github.com/ahrm/sioyek/issues/164
    opened by NightMachinery 1
Releases(v2.0.0)
All-in-one library and application for processing and rendering PDF documents.

All-in-one library and application for processing and rendering PDF documents. Contains document viewer/editor application, application for splitting/merging PDF documents and page manipulation, application for comparison of similar PDF documents.

Jakub Melka 36 Jan 1, 2023
libharu - free PDF library

# # URL http://libharu.org/ # # Copyright 2000-2006 (c) Takeshi Kanno # Copyright 2007-2009 (c) Antony Dovgal et al. # See INSTALL for instruction

libharu 1.4k Jan 8, 2023
Convert HTML to PDF using Webkit (QtWebKit)

wkhtmltopdf and wkhtmltoimage wkhtmltopdf and wkhtmltoimage are command line tools to render HTML into PDF and various image formats using the QT Webk

wkhtmltopdf 12.9k Dec 30, 2022
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Pavel Stehule 1.9k Jan 4, 2023
PDFio is a simple C library for reading and writing PDF files

pdfio - PDF Read/Write Library PDFio is a simple C library for reading and writing PDF files. The primary goals of PDFio are: Read and write any versi

Michael R Sweet 64 Dec 17, 2022
HDRView is a simple research-oriented image viewer with an emphasis on examining and comparing high-dynamic range (HDR) images

HDRView is a simple research-oriented high-dynamic range image viewer with an emphasis on examining and comparing images, and including minimalistic tonemapping capabilities. HDRView currently supports reading EXR, PNG, TGA, BMP, HDR, JPG, GIF, PNM, PFM, and PSD images and writing EXR, HDR, PNG, TGA, PPM, PFM, and BMP images.

Wojciech Jarosz 177 Jan 5, 2023
FCracker is a command line tool designed to brute force encrypted files like zip, 7z, rar, pdf etc.

FCrack is a command-line tool designed to brute force encrypted files like zip, 7z, rar, pdf, gpg etc.

null 23 Dec 21, 2022
A comprehensive catalog of modern and classic books on C++ programming language

A comprehensive catalog of modern and classic books on C++ programming language

Yurii Cherkasov 384 Dec 28, 2022
Read Books On Your Nintendo Switch

eBookReaderSwitch Features: Saves last page number Reads PDF, EPUB, CBZ, and XPS files Dark and light mode Landscape reading view Portrait reading vie

null 51 Nov 23, 2022
collection of articles/books about programing

hacking-material-books My collection of articles/books about programing Metasploit RB/ERB scripting Metasploit API cheat sheet Nmap NSE scripting Com

pedro ubuntu 488 Dec 18, 2022
Concurrency Kit 2.1k Jan 4, 2023
RISCAL is a 32-bit reduced instruction-set computer (RISC) designed for learning and research purposes. It is named after my dog, Rascal.

RISCAL CPU RISCAL is a 32-bit custom instruction set architecture virtual machine. It is intended to be used for learning/research purposes. In a nuts

null 3 Dec 23, 2021
XMap is a fast network scanner designed for performing Internet-wide IPv6 & IPv4 network research scanning.

XMap is reimplemented and improved thoroughly from ZMap and is fully compatible with ZMap, armed with the "5 minutes" probing speed and novel scanning techniques. XMap is capable of scanning the 32-bits address space in under 45 minutes.

idealeer 190 Dec 24, 2022
Convenient unified display of the most relevant technical and tag data for video and audio files.

MediaInfoLib README MediaInfo(Lib) is a convenient unified display of the most relevant technical and tag data for video and audio files. MediaInfoLib

MediaArea 495 Jan 6, 2023
The aim of this repository is to make it a one final stop for revision for technical interviews involving data structures and algorithms .

Hey ??‍♂️ This repository is meant for data structures and algorithms . I will be updating this often and will include all the data structures importa

Prakhar Rai 51 Sep 29, 2022
Code accompanying our SIGGRAPH 2021 Technical Communications paper "Transition Motion Tensor: A Data-Driven Approach for Versatile and Controllable Agents in Physically Simulated Environments"

SIGGRAPH ASIA 2021 Technical Communications Transition Motion Tensor: A Data-Driven Framework for Versatile and Controllable Agents in Physically Simu

null 10 Apr 21, 2022
This is a group project for the unit Technical Software Design.

electoral-project This is a group project for the unit Technical Software Design. Group number: 9 Members of this group: Grace Tang, Lorien Cutler, Jo

Grace Tang 3 May 24, 2021
IO2D Technical Specification Draft Sources

IO2D Technical Specification Draft Sources These are the sources used to generate drafts of the working paper for a proposal for an IO2D TS. These sou

cpp-io2d 20 Nov 20, 2021
TulipCell is an Excel add-in providing 100+ technical analysis indicators.

Tulip Cell Introduction Tulip Cell is an Excel add-in that provides the technical analysis functions from the Tulip Indicators library. Building Build

Tulip Charts LLC 28 Nov 8, 2022