Document viewer
Find a file
Colin Geniet 5447de8a47 utils: Add parser/writer for 'first-page-column'
The 'first-page-column' setting is a string representing a list of integers.
This is annoying to manipulate.  Currently, it has a single accessor,
'find_first_page_column', which looks up the nth value.
The next commit will add a function to change it.

To avoid this turning into a horrible buggy mess of string manipulation,
add functions to convert the settings string to and from integer arrays.
Rewrite 'find_first_page_column' using these functions.

Efficiency: the new functions are slower than 'find_first_page_column'
because they parse all values in the string.  This is irrelevant since
the string is supposed to be tiny, and is only used when opening a
document or when the page layout is modified by the user.
2024-04-24 10:50:00 +02:00
data
doc Default sandbox to none 2024-03-03 17:53:03 +01:00
po Update translations 2024-03-02 17:34:19 +01:00
subprojects
tests Fix typo 2024-03-03 12:48:20 +01:00
zathura utils: Add parser/writer for 'first-page-column' 2024-04-24 10:50:00 +02:00
.clang-format
.gitignore
.gitlab-ci.yml
AUTHORS
LICENSE
meson.build Require only glib 2.72 (fixes #413) 2024-04-01 16:57:01 +02:00
meson_options.txt Make sqlite a hard dependency 2024-03-03 13:22:01 +01:00
README.md Require only glib 2.72 (fixes #413) 2024-04-01 16:57:01 +02:00

zathura - a document viewer

zathura is a highly customizable and functional document viewer based on the girara user interface library and several document libraries.

Requirements

The following dependencies are required:

  • gtk3 (>= 3.24)
  • glib (>= 2.72)
  • girara (>= 0.4.3)
  • libmagic from file(1): for mime-type detection
  • json-glib
  • sqlite3 (>= 3.6.23): sqlite3 database backend

The following dependencies are optional:

  • libsynctex from TeXLive (>= 1.19): SyncTeX support
  • libseccomp: sandbox support

For building zathura, the following dependencies are also required:

  • meson (>= 0.61)
  • gettext
  • pkgconf

The following dependencies are optional build-time only dependencies:

  • check (>= 0.11): for tests
  • librvsg-bin: PNG icons
  • Sphinx: manpages and HTML documentation
  • doxygen: HTML documentation
  • breathe: for HTML documentation
  • sphinx_rtd_theme: for HTML documentation

Note that Sphinx is needed to build the manpages. If it is not installed, the man pages won't be built. For building the HTML documentation, doxygen, breathe and sphinx_rtd_theme are needed in addition to Sphinx.

The use of libseccomp to create a sandboxed environment is optional and can be disabled by configure the build system with -Dseccomp=disabled. The sandbox will by default be set to "normal" mode, which should not interfere with the normal operation of zathura. For strict sandbox mode set sandbox strict in zathurarc. Strict sandbox mode will reduce the available functionality of zathura and provide a read only document viewer.

Installation

To build and install zathura using meson's ninja backend:

meson build
cd build
ninja
ninja install

Note that the default backend for meson might vary based on the platform. Please refer to the meson documentation for platform specific dependencies.

Bugs

Please report bugs at http://git.pwmt.org/pwmt/zathura.