Commit 91ceee2b authored by Sebastian Ramacher's avatar Sebastian Ramacher

Merge branch 'release/0.4.6' into master

parents 67818f90 5ceb00ab
Pipeline #293 passed with stages
in 2 minutes and 44 seconds
......@@ -9,57 +9,57 @@ Requirements
The following dependencies are required:
* gtk3 (>= 3.22)
* glib (>= 2.50)
* girara (>= 0.3.2)
* `gtk3` (>= 3.22)
* `glib` (>= 2.50)
* `girara` (>= 0.3.2)
The following dependencies are optional:
* sqlite3 (>= 3.6.23): splite3 database backend
* libmagic from file(1): for mime-type detection
* libsynctex from TeXLive (>= 1.19): SyncTeX support
* libseccomp: sandbox support
* `sqlite3` (>= 3.6.23): splite3 database backend
* `libmagic` from file(1): for mime-type detection
* `libsynctex` from TeXLive (>= 1.19): SyncTeX support
* `libseccomp`: sandbox support
For building zathura, the following dependencies are also required:
* meson (>= 0.47)
* gettext
* `meson` (>= 0.47)
* `gettext`
The following dependencies are optional build-time only dependencies:
* check: for tests
* librvsg-bin: PNG icons
* Sphinx: manpages and HTML documentation
* doxygen: HTML documentation
* breathe: for HTML documentation
* sphinx_rtd_theme: for HTML documentation
* `check`: 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.
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`.
If you don't want to build with support for sqlite databases, you can configure
the build system with -Dsqlite=disabled and sqlite support won't be available.
the build system with `-Dsqlite=disabled` and sqlite support won't be available.
The use of magic to detect mime types is optional and can be disabled by
configuring the build system with -Dmagic=disabled.
configuring the build system with `-Dmagic=disabled`.
The use of seccomp 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.
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
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.
......
......@@ -7,7 +7,7 @@ zathura_resources = gnome.compile_resources(
)
install_data('org.pwmt.zathura.xml', install_dir: dbusinterfacesdir)
install_data('org.pwmt.zathura.svg', install_dir: join_paths(datadir, 'icons', 'scalable', 'apps'))
install_data('org.pwmt.zathura.svg', install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps'))
rsvg_convert = find_program('rsvg-convert', required: get_option('convert-icon'), native: true)
if rsvg_convert.found()
......@@ -70,6 +70,20 @@ fish_completion = configure_file(
configuration: conf_data
)
install_data(bash_completion, install_dir: join_paths(datadir, 'bash-completion', 'completions'))
bash_comp = dependency('bash-completion', required: false)
if bash_comp.found()
bash_compdir = bash_comp.get_pkgconfig_variable('completionsdir')
else
bash_compdir = join_paths(datadir, 'bash-completion', 'completions')
endif
fish_comp = dependency('fish', required: false)
if fish_comp.found()
fish_compdir = fish_comp.get_pkgconfig_variable('completionsdir')
else
fish_compdir = join_paths(datadir, 'fish', 'vendor_completions.d')
endif
install_data(bash_completion, install_dir: bash_compdir)
install_data(zsh_completion, install_dir: join_paths(datadir, 'zsh', 'site-functions'))
install_data(fish_completion, install_dir: join_paths(datadir, 'fish', 'completions'))
install_data(fish_completion, install_dir: fish_compdir)
......@@ -17,28 +17,28 @@
<p>
Zathura can be extended to support multiple document formats using
plugins. Other features include:
<ul>
<li>SyncTeX forward and backward synchronization support.</li>
<li>Quickmarks and bookmarks.</li>
<li>Automatic document reloading.</li>
</ul>
</p>
<ul>
<li>SyncTeX forward and backward synchronization support.</li>
<li>Quickmarks and bookmarks.</li>
<li>Automatic document reloading.</li>
</ul>
</description>
<launchable type="desktop-id">org.pwmt.zathura.desktop</launchable>
<url type="homepage">https://pwmt.org/projects/zathura</url>
<url type="bugtracker">https://bugs.pwmt.org/project/zathura</url>
<screenshots>
<screenshot type="default">
<image>https://pwmt.org/projects/zathura/img/zathura-cover.png</image>
<image>https://pwmt.org/static/img/zathura-cover.png</image>
</screenshot>
<screenshot>
<image>https://pwmt.org/projects/zathura/img/zathura-completion.png</image>
<image>https://pwmt.org/static/img/zathura-completion.png</image>
</screenshot>
<screenshot>
<image>https://pwmt.org/projects/zathura/img/zathura-follow.png</image>
<image>https://pwmt.org/static/img/zathura-follow.png</image>
</screenshot>
<screenshot>
<image>https://pwmt.org/projects/zathura/img/zathura-bookmarks.png</image>
<image>https://pwmt.org/static/img/zathura-bookmarks.png</image>
</screenshot>
</screenshots>
<update_contact>zathura@lists.pwmt.org</update_contact>
......@@ -46,4 +46,5 @@
<provides>
<binary>zathura</binary>
</provides>
<content_rating type="oars-1.0" />
</component>
General
J, PgDn
Go to the next page
K, PgUp
Go to the previous page
h, k, j, l
Scroll to the left, down, up or right direction
Left, Down, Up, Right
Scroll to the left, down, up or right direction
^t, ^d, ^u, ^y
Scroll a half page left, down, up or right
t, ^f, ^b, space, <S-space>, y
Scroll a full page left, down, up or right
gg, G, nG
Goto to the first, the last or to the nth page
H, L
Goto top or bottom of the current page
^o, ^i
Move backward and forward through the jump list
^j, ^k
Bisect forward and backward between the last two jump points
^c, Escape
Abort
a, s
Adjust window in best-fit or width mode
/, ?
Search for text
n, N
Search for the next or previous result
o, O
Open document
f
Follow links
F
Display link target
\:
Enter command
r
Rotate by 90 degrees
^r
Recolor (grayscale and invert colors)
R
Reload document
Tab
Show index and switch to **Index mode**
d
Toggle dual page view
F5
Switch to presentation mode
F11
Switch to fullscreen mode
^m
Toggle inputbar
^n
Toggle statusbar
+, -, =
Zoom in, out or to the original size
zI, zO, z0
Zoom in, out or to the original size
n=
Zoom to size n
mX
Set a quickmark to a letter or number X
'X
Goto quickmark saved at letter or number X
q
Quit
Fullscreen mode
J, K
Go to the next or previous page
space, <S-space>, <BackSpace>
Scroll a full page down or up
gg, G, nG
Goto to the first, the last or to the nth page
^c, Escape
Abort
F11
Switch to normal mode
+, -, =
Zoom in, out or to the original size
zI, zO, z0
Zoom in, out or to the original size
n=
Zoom to size n
q
Quit
Presentation mode
space, <S-space>, <BackSpace>
Scroll a full page down or up
^c, Escape
Abort
F5
Switch to normal mode
q
Quit
Index mode
k, j
Move to upper or lower entry
l
Expand entry
L
Expand all entries
h
Collapse entry
H
Collapse all entries
space, Return
Select and open entry
Mouse bindings
Scroll
Scroll up or down
^Scroll
Zoom in or out
Hold Button2
Pan the document
Button1
Follow link
If GDK_NATIVE_WINDOWS is enabled you will experience problems with large
documents. In this case zathura might crash or pages cannot be rendered
properly. Disabling GDK_NATIVE_WINDOWS fixes this issue. The same issue may
appear, if overlay-scrollbar is enabled in GTK_MODULES.
bmark
Save a bookmark
bdelete
Delete a bookmark
blist
List bookmarks
close
Close document
exec
Execute an external command
info
Show document information
open
Open a document
offset
Set page offset
print
Print document
write(!)
Save document (and force overwriting)
export
Export attachments
dump
Write values, descriptions, etc. of all current settings to a file.
The default appearance and behaviour of zathura can be overwritten by modifying
the *zathurarc* file (default path: ~/.config/zathura/zathurarc). For a detailed
description please consult zathurarc(5).
**zathura** displays the given files. If a single hyphen-minus (-) is given as
file name, the content will be read from the standard input. If no files are
given, an empty **zathura** instance launches.
ZATHURA_PLUGINS_PATH
Path to the directory containing plugins. This directory is only considered if
no other directory was specified using --plugins-dir.
-e, --reparent=xid
Reparents to window specified by xid
-c, --config-dir=path
Path to the config directory
-d, --data-dir=path
Path to the data directory
-p, --plugins-dir=path
Path to the directory containing plugins
-w, --password=password
The documents password. If multiple documents are opened at once, the
password will be used for the first one and zathura will ask for the
passwords of the remaining files if needed.
-P, --page=number
Opens the document at the given page number. Pages are numbered starting
with 1, and negative numbers indicate page numbers starting from the end
of the document, -1 being the last page.
-l, --log-level=level
Set log level (debug, info, warning, error)
-x, --synctex-editor-command=command
Set the synctex editor command. Overrides the synctex-editor-command setting.
--synctex-forward=input
Jump to the given position. The switch expects the same format as specified
for synctex's view -i. If no instance is running for the specified document,
a new instance will be launched (only if --synctex-pid is not specified).
--synctex-pid=pid
Instead of looking for an instance having the correct file opened, try only
the instance with the given PID. Note that if the given PID does not have the
correct file open or does not exist, no new instance will be spanned.
--mode=mode
Start in a non-default mode
--fork
Fork into background
--version
Display version string and exit
--help
Display help and exit
Both synctex forward and backwards synchronization are supported by zathura, To
enable synctex forward synchronization, please look at the *--synctex-forward*
and *--synctex-editor* options. zathura will also emit a signal via the D-Bus
interface. To support synctex backwards synchronization, zathura provides a
D-Bus interface that can be called by the editor. For convince zathura also
knows how to parse the output of the *synctex view* command. It is enough to
pass the arguments to *synctex view*'s *-i* option to zathura via
*--synctex-forward* and zathura will pass the information to the correct
instance.
For gvim forward and backwards synchronization support can be set up as follows:
First add the following to the vim configuration:
::
function! Synctex()
execute "silent !zathura --synctex-forward " . line('.') . ":" . col('.') . ":" . bufname('%') . " " . g:syncpdf
redraw!
endfunction
map <C-enter> :call Synctex()<cr>
Then launch *zathura* with
::
zathura -x "gvim --servername vim -c \"let g:syncpdf='$1'\" --remote +%{line} %{input}" $file
Some editors support zathura as viewer out of the box:
* LaTeXTools for SublimeText
(https://latextools.readthedocs.io/en/latest/available-viewers/#zathura)
* LaTeX for Atom (https://atom.io/packages/latex)
zathura [-e XID] [-c PATH] [-d PATH] [-p PATH] [-w PASSWORD] [-P NUMBER]
[--fork] [-l LEVEL] [-s] [-x CMD] [--synctex-forward INPUT] [--synctex-pid PID]
<files>
......@@ -8,7 +8,6 @@ import time
dirname = os.path.dirname(__file__)
files = glob.glob(os.path.join(dirname, '*.rst'))
files.extend(glob.glob(os.path.join(dirname, '*.txt')))
maxdate = 0
for path in files:
......
......@@ -4,47 +4,305 @@ Manpage
Synopsis
--------
.. include:: _synopsis.txt
zathura [-e XID] [-c PATH] [-d PATH] [-p PATH] [-w PASSWORD] [-P NUMBER]
[--fork] [-l LEVEL] [-s] [-x CMD] [--synctex-forward INPUT] [--synctex-pid PID]
[-find STRING]
<files>
Description
-----------
.. include:: _description.txt
**zathura** displays the given files. If a single hyphen-minus (-) is given as
file name, the content will be read from the standard input. If no files are
given, an empty **zathura** instance launches.
Options
-------
.. include:: _options.txt
-e, --reparent=xid
Reparents to window specified by xid
-c, --config-dir=path
Path to the config directory
-d, --data-dir=path
Path to the data directory
-p, --plugins-dir=path
Path to the directory containing plugins
-w, --password=password
The documents password. If multiple documents are opened at once, the
password will be used for the first one and zathura will ask for the
passwords of the remaining files if needed.
-P, --page=number
Opens the document at the given page number. Pages are numbered starting
with 1, and negative numbers indicate page numbers starting from the end
of the document, -1 being the last page.
-f, --find=string
Opens the document and searches for the given string.
-l, --log-level=level
Set log level (debug, info, warning, error)
-x, --synctex-editor-command=command
Set the synctex editor command. Overrides the synctex-editor-command setting.
--synctex-forward=input
Jump to the given position. The switch expects the same format as specified
for synctex's view -i. If no instance is running for the specified document,
a new instance will be launched (only if --synctex-pid is not specified).
--synctex-pid=pid
Instead of looking for an instance having the correct file opened, try only
the instance with the given PID. Note that if the given PID does not have the
correct file open or does not exist, no new instance will be spanned.
--mode=mode
Start in a non-default mode
--fork
Fork into background
--version
Display version string and exit
--help
Display help and exit
Mouse and key bindings
----------------------
.. include:: _bindings.txt
General
J, PgDn
Go to the next page
K, PgUp
Go to the previous page
h, k, j, l
Scroll to the left, down, up or right direction
Left, Down, Up, Right
Scroll to the left, down, up or right direction
^t, ^d, ^u, ^y
Scroll a half page left, down, up or right
t, ^f, ^b, space, <S-space>, y
Scroll a full page left, down, up or right
gg, G, nG
Goto to the first, the last or to the nth page
P
Snaps to the current page
H, L
Goto top or bottom of the current page
^o, ^i
Move backward and forward through the jump list
^j, ^k
Bisect forward and backward between the last two jump points
^c, Escape
Abort
a, s
Adjust window in best-fit or width mode
/, ?
Search for text
n, N
Search for the next or previous result
o, O
Open document
f
Follow links
F
Display link target
\:
Enter command
r
Rotate by 90 degrees
^r
Recolor (grayscale and invert colors)
R
Reload document
Tab
Show index and switch to **Index mode**
d
Toggle dual page view
F5
Switch to presentation mode
F11
Switch to fullscreen mode
^m
Toggle inputbar
^n
Toggle statusbar
+, -, =
Zoom in, out or to the original size
zI, zO, z0
Zoom in, out or to the original size
n=
Zoom to size n
mX
Set a quickmark to a letter or number X
'X
Goto quickmark saved at letter or number X
q
Quit
Fullscreen mode
J, K
Go to the next or previous page
space, <S-space>, <BackSpace>
Scroll a full page down or up
gg, G, nG
Goto to the first, the last or to the nth page
^c, Escape
Abort
F11
Switch to normal mode
+, -, =
Zoom in, out or to the original size
zI, zO, z0
Zoom in, out or to the original size
n=
Zoom to size n
q
Quit
Presentation mode
space, <S-space>, <BackSpace>
Scroll a full page down or up
^c, Escape
Abort
F5
Switch to normal mode
q
Quit
Index mode
k, j
Move to upper or lower entry
l
Expand entry
L
Expand all entries
h
Collapse entry
H
Collapse all entries
space, Return
Select and open entry
Mouse bindings
Scroll
Scroll up or down
^Scroll
Zoom in or out
Hold Button2
Pan the document
Button1
Follow link
Commands
---------
.. include:: _commands.txt
bmark
Save a bookmark
bdelete
Delete a bookmark
blist
List bookmarks
close
Close document
exec
Execute an external command
info
Show document information
open
Open a document
offset
Set page offset
print
Print document
write(!)
Save document (and force overwriting)
export
Export attachments
dump
Write values, descriptions, etc. of all current settings to a file.
Configuration
-------------
.. include:: _configuration.txt
The default appearance and behaviour of zathura can be overwritten by modifying
the *zathurarc* file (default path: ~/.config/zathura/zathurarc). For a detailed
description please consult zathurarc(5).
Synctex support
---------------
.. include:: _synctex.txt
Both synctex forward and backwards synchronization are supported by zathura, To
enable synctex forward synchronization, please look at the *--synctex-forward*
and *--synctex-editor* options. zathura will also emit a signal via the D-Bus
interface. To support synctex backwards synchronization, zathura provides a
D-Bus interface that can be called by the editor. For convince zathura also
knows how to parse the output of the *synctex view* command. It is enough to
pass the arguments to *synctex view*'s *-i* option to zathura via
*--synctex-forward* and zathura will pass the information to the correct
instance.
For gvim forward and backwards synchronization support can be set up as follows:
First add the following to the vim configuration:
::
function! Synctex()
execute "silent !zathura --synctex-forward " . line('.') . ":" . col('.') . ":" . bufname('%') . " " . g:syncpdf
redraw!
endfunction
map <C-enter> :call Synctex()<cr>
Then launch *zathura* with
::
zathura -x "gvim --servername vim -c \"let g:syncpdf='$1'\" --remote +%{line} %{input}" $file
Some editors support zathura as viewer out of the box:
* LaTeXTools for SublimeText
(https://latextools.readthedocs.io/en/latest/available-viewers/#zathura)
* LaTeX for Atom (https://atom.io/packages/latex)
Environment variables
---------------------
.. include:: _env.txt
ZATHURA_PLUGINS_PATH
Path to the directory containing plugins. This directory is only considered if
no other directory was specified using --plugins-dir.
Known bugs
----------
.. include:: _bugs.txt
If GDK_NATIVE_WINDOWS is enabled you will experience problems with large
documents. In this case zathura might crash or pages cannot be rendered
properly. Disabling GDK_NATIVE_WINDOWS fixes this issue. The same issue may
appear, if overlay-scrollbar is enabled in GTK_MODULES.
See Also
--------
......