Merge branch 'release/0.4.5'

This commit is contained in:
Sebastian Ramacher 2020-01-06 10:25:52 +01:00
commit 67818f90e8
47 changed files with 1807 additions and 1630 deletions

2
.gitignore vendored
View file

@ -7,6 +7,7 @@
*.pc *.pc
*.sw[a-z] *.sw[a-z]
*.pyc *.pyc
tags
# generated files # generated files
resources.* resources.*
@ -24,6 +25,7 @@ zathura-*.tar.gz
.tx .tx
build/ build/
gcov/ gcov/
subprojects/girara
# development files # development files
.clang_complete .clang_complete

149
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,149 @@
stages:
- build
- test
# Cache
cache: &girara_cache
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- subprojects/girara
# Archlinux
build:archlinux:
tags:
- pwmt
stage: build
image: registry.pwmt.org/pwmt/gitlab-runner-images/archlinux:latest
script:
- mkdir -p build && cd build
- meson ..
- ninja
cache:
<<: *girara_cache
artifacts:
expire_in: 1 day
paths:
- build
except:
- tags
test:archlinux:
tags:
- pwmt
stage: test
image: registry.pwmt.org/pwmt/gitlab-runner-images/archlinux:latest
script:
- cd build
- ninja test
cache:
<<: *girara_cache
policy: pull
dependencies:
- build:archlinux
except:
- tags
# Debian 10 (Buster)
build:debian-buster:
tags:
- pwmt
stage: build
image: registry.pwmt.org/pwmt/gitlab-runner-images/debian:buster
script:
- mkdir -p build && cd build
- meson ..
- ninja
cache:
<<: *girara_cache
artifacts:
expire_in: 1 day
paths:
- build
except:
- tags
test:debian-buster:
tags:
- pwmt
stage: test
image: registry.pwmt.org/pwmt/gitlab-runner-images/debian:buster
script:
- cd build
- ninja test
cache:
<<: *girara_cache
policy: pull
dependencies:
- build:debian-buster
except:
- tags
# Ubuntu 18.04 LTS (Bionic Beaver)
build:ubuntu-bionic:
tags:
- pwmt
stage: build
image: registry.pwmt.org/pwmt/gitlab-runner-images/ubuntu:bionic
script:
- mkdir -p build && cd build
- meson ..
- ninja
cache:
<<: *girara_cache
artifacts:
expire_in: 1 day
paths:
- build
except:
- tags
test:ubuntu-bionic:
tags:
- pwmt
stage: test
image: registry.pwmt.org/pwmt/gitlab-runner-images/ubuntu:bionic
script:
- cd build
- ninja test
cache:
<<: *girara_cache
policy: pull
dependencies:
- build:ubuntu-bionic
except:
- tags
# Ubuntu 19.10 (Eoan Ermine)
build:ubuntu-eoan:
tags:
- pwmt
stage: build
image: registry.pwmt.org/pwmt/gitlab-runner-images/ubuntu:eoan
script:
- mkdir -p build && cd build
- meson ..
- ninja
cache:
<<: *girara_cache
artifacts:
expire_in: 1 day
paths:
- build
except:
- tags
test:ubuntu-eoan:
tags:
- pwmt
stage: test
image: registry.pwmt.org/pwmt/gitlab-runner-images/ubuntu:eoan
script:
- cd build
- ninja test
cache:
<<: *girara_cache
policy: pull
dependencies:
- build:ubuntu-eoan
except:
- tags

View file

@ -1,4 +1,4 @@
Copyright (c) 2009-2019 pwmt.org Copyright (c) 2009-2020 pwmt.org
This software is provided 'as-is', without any express or implied This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages warranty. In no event will the authors be held liable for any damages

View file

@ -2,51 +2,54 @@
local -a all_opts local -a all_opts
all_opts=( all_opts=(
'(-c --config-dir=DIR)'{-c,--config-dir}'[Path to config directory]:config directory:_files -/' '(-c --config-dir)'{-c,--config-dir=}'[specify path to config directory]:config directory:_files -/'
'(-d --data-dir=DIR)'{-d,--data-dir}'[Path to data directory]:data directory:_files -/' '(-d --data-dir)'{-d,--data-dir=}'[specify path to data directory]:data directory:_files -/'
'--cache-dir=DIR[Path to cache directory]:cache directory:_files -/' '--cache-dir=[specify path to cache directory]:cache directory:_files -/'
'(-p --plugins-dir=DIR)'{-p,--plugins-dir}'[Path to plugins directory]:plugins directory:_files -/' '(-p --plugins-dir)'{-p,--plugins-dir=}'[specify path to plugins directory]:plugins directory:_files -/'
'(-e --reparent=XID)'{-e,--reparent}'[Reparents to window specified by XID (X11)]:xid' '(-e --reparent)'{-e,--reparent=}'[reparent to window specified by XID (X11)]: :_x_window'
'(-w --password=password)'{-w,--password}'[Document password]:password' '(-w --password)'{-w,--password=}'[specify a password for the document]:password'
'(-P --page=page)'{-p,--page}'[Page number to go to]:page number' '(-P --page)'{-p,--page=}'[open the document at the given page number]:page number'
'(-l --log-level=level)'{-l,--log-level}'[Log level]:level:(error warning info debug)' '(-l --log-level)'{-l,--log-level=}'[set log level]:level:(error warning info debug)'
'(-x --snyctex-editor-command=cmd)'{-x,--synxtec-editor-command}'[Synctex editor (forwarded to the synctex command)]:command' '(-x --synctex-editor-command)'{-x,--synctex-editor-command=}'[specify synctex editor (forwarded to the synctex command)]:command'
'--synctex-forward=position[Move to given synctex position]:position' '--synctex-forward=[move to the given position]:position'
'--synctex-pid=pid[Highlight position in given process]:pid' '--synctex-pid=[highlight position in given process]:pid:_pids'
'--mode=mode[Start in a non-default mode]:mode:(presentation fullscreen)' '--mode[start in a non-default mode]:mode:(presentation fullscreen)'
'--fork[Fork into the background]' '--fork[fork into the background]'
'-h --help[Show help message]' '(- :)'{-h,--help}'[show help message]'
'-v --version[Print version information]' '(- :)'{-v,--version}'[print version information]'
'*:file:->files' '*:file:->files'
) )
local context state state_descr line local curcontext="$curcontext" state state_descr line ret=1
typeset -A opt_args typeset -A opt_args
_arguments -S "$all_opts[@]" && return 0 _arguments -C -s -S "$all_opts[@]" && ret=0
local exts local PLUGIN
local -a exts
for PLUGIN in @PLUGINDIR@/lib*.so; do for PLUGIN in @PLUGINDIR@/lib*.so; do
case ${PLUGIN##*/} in case ${PLUGIN##*/} in
libpdf-poppler.so) libpdf-poppler.so)
exts="$exts|pdf|PDF" exts+=( pdf PDF )
;; ;;
libpdf-mupdf.so) libpdf-mupdf.so)
exts="$exts|pdf|PDF|epub|oxps" exts+=( pdf PDF epub oxps )
;; ;;
libps.so) libps.so)
exts="$exts|ps|eps|epsi|epsf" exts+=( ps eps epsi epsf )
;; ;;
libdjvu.so) libdjvu.so)
exts="$exts|djvu|djv" exts+=( djvu djv )
;; ;;
libcb.so) libcb.so)
exts="$exts|cb7|cbr|cbz|cbt|rar|zip|7z|tar" exts+=( cb7 cbr cbz cbt rar zip 7z tar )
;; ;;
esac esac
done done
case $state in case $state in
(files) (files)
_files -g "*.($exts)" _wanted files expl file _files -g "*.(${(j:|:)exts:-pdf})(-.)" && ret=0
;; ;;
esac esac
return ret

View file

@ -16,11 +16,6 @@ Options
.. include:: _options.txt .. include:: _options.txt
Environment variables
---------------------
.. include:: _env.txt
Mouse and key bindings Mouse and key bindings
---------------------- ----------------------
@ -41,6 +36,11 @@ Synctex support
.. include:: _synctex.txt .. include:: _synctex.txt
Environment variables
---------------------
.. include:: _env.txt
Known bugs Known bugs
---------- ----------

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
project('zathura', 'c', project('zathura', 'c',
version: '0.4.4', version: '0.4.5',
meson_version: '>=0.47', meson_version: '>=0.47',
default_options: 'c_std=c11', default_options: 'c_std=c11',
) )
@ -37,7 +37,7 @@ plugindir = join_paths(get_option('libdir'), 'zathura')
# required dependencies # required dependencies
libm = cc.find_library('m', required: false) libm = cc.find_library('m', required: false)
girara = dependency('girara-gtk3', version: '>=0.3.3') girara = dependency('girara-gtk3', version: '>=0.3.3', fallback: ['girara', 'girara_dependency'])
glib = dependency('glib-2.0', version: '>=2.50') glib = dependency('glib-2.0', version: '>=2.50')
gio = dependency('gio-unix-2.0', required: host_machine.system() != 'windows') gio = dependency('gio-unix-2.0', required: host_machine.system() != 'windows')
gthread = dependency('gthread-2.0', version: '>=2.50') gthread = dependency('gthread-2.0', version: '>=2.50')
@ -193,5 +193,7 @@ pkg.generate(
] ]
) )
zathura_dependency = declare_dependency(link_with: zathura, include_directories: include_directories)
subdir('doc') subdir('doc')
subdir('tests') subdir('tests')

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: abouzakaria kov <zakariakov@gmail.com>\n" "Last-Translator: abouzakaria kov <zakariakov@gmail.com>\n"
"Language-Team: Arabic (http://www.transifex.com/pwmt/zathura/language/ar/)\n" "Language-Team: Arabic (http://www.transifex.com/pwmt/zathura/language/ar/)\n"
@ -594,59 +594,59 @@ msgstr "الرابط: : %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "الرابط: غير صالح" msgstr "الرابط: غير صالح"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "المسار إلى دليل التكوين" msgstr "المسار إلى دليل التكوين"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "المسار إلى دليل البيانات" msgstr "المسار إلى دليل البيانات"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "المسار إلى دليل ذاكرة التخزين المؤقت" msgstr "المسار إلى دليل ذاكرة التخزين المؤقت"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "الطريق إلى الأدلة التي تحتوي على الإضافات" msgstr "الطريق إلى الأدلة التي تحتوي على الإضافات"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "كلمة مرور المستند" msgstr "كلمة مرور المستند"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "الذهاب إلى رقم الصفحة " msgstr "الذهاب إلى رقم الصفحة "
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "مستوى السجل (تصحيح ، معلومات ، تحذير ، خطأ)" msgstr "مستوى السجل (تصحيح ، معلومات ، تحذير ، خطأ)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "طباعة معلومات إلاصدار " msgstr "طباعة معلومات إلاصدار "
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "محرر Synctex (تم إعادة توجيهه إلى أمر synctex)" msgstr "محرر Synctex (تم إعادة توجيهه إلى أمر synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "الانتقال إلى موضع synctex المحدد" msgstr "الانتقال إلى موضع synctex المحدد"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "تمييز على موضع معين في عملية معينة" msgstr "تمييز على موضع معين في عملية معينة"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "البدء في وضع غير افتراضي" msgstr "البدء في وضع غير افتراضي"
@ -687,7 +687,7 @@ msgstr "النمط غير موجود: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "لا يحتوي هذا المستند على أي فهرس" msgstr "لا يحتوي هذا المستند على أي فهرس"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[لا اسم]" msgstr "[لا اسم]"
@ -695,18 +695,18 @@ msgstr "[لا اسم]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "لا يمكن قراءة الملف من المصدر وكتابته إلى ملف مؤقت." msgstr "لا يمكن قراءة الملف من المصدر وكتابته إلى ملف مؤقت."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "تعذرت قراءة الملف من GIO ونسخه إلى ملف مؤقت." msgstr "تعذرت قراءة الملف من GIO ونسخه إلى ملف مؤقت."
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "أدخل كلمة المرور:" msgstr "أدخل كلمة المرور:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "نوع ملف غير مدعوم. الرجاء تثبيت المكون الإضافي اللازم." msgstr "نوع ملف غير مدعوم. الرجاء تثبيت المكون الإضافي اللازم."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "لا يحتوي المستند على أي صفحات" msgstr "لا يحتوي المستند على أي صفحات"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Catalan (http://www.transifex.com/pwmt/zathura/language/ca/)\n" "Language-Team: Catalan (http://www.transifex.com/pwmt/zathura/language/ca/)\n"
@ -590,59 +590,59 @@ msgstr "Enllaç: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Enllaç: Invàlid" msgstr "Enllaç: Invàlid"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Reassigna a la finestra especificada per xid (X11)" msgstr "Reassigna a la finestra especificada per xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Ruta al directori de configuració" msgstr "Ruta al directori de configuració"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Camí al directori de dades" msgstr "Camí al directori de dades"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Camí al directori que conté els plugins" msgstr "Camí al directori que conté els plugins"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Bifurca en segon pla" msgstr "Bifurca en segon pla"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Contrasenya del document" msgstr "Contrasenya del document"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Nivell de registre (depuració, informació, advertiments, errors)" msgstr "Nivell de registre (depuració, informació, advertiments, errors)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Imprimeix informació sobre la versió" msgstr "Imprimeix informació sobre la versió"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Editor synctex (reenviat a l'ordre synctex)" msgstr "Editor synctex (reenviat a l'ordre synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Aquest document no conté cap índex" msgstr "Aquest document no conté cap índex"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Sense nom]" msgstr "[Sense nom]"
@ -691,18 +691,18 @@ msgstr "[Sense nom]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Czech (http://www.transifex.com/pwmt/zathura/language/cs/)\n" "Language-Team: Czech (http://www.transifex.com/pwmt/zathura/language/cs/)\n"
@ -594,59 +594,59 @@ msgstr "Odkaz: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Odkaz: Neplatný" msgstr "Odkaz: Neplatný"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Propojí s oknem udaným xid (X11)" msgstr "Propojí s oknem udaným xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Cesta k adresáři se souborem s nastavením" msgstr "Cesta k adresáři se souborem s nastavením"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Cesta k adresáři s daty" msgstr "Cesta k adresáři s daty"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Cesta k adresáři s vyrovnávací pamětí" msgstr "Cesta k adresáři s vyrovnávací pamětí"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Cesta k adresářům s přídavnými moduly" msgstr "Cesta k adresářům s přídavnými moduly"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Forknout se na pozadí" msgstr "Forknout se na pozadí"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Heslo k dokumentu" msgstr "Heslo k dokumentu"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Číslo strany, na kterou jít" msgstr "Číslo strany, na kterou jít"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Úroveň logování (debug, info, warning, error)" msgstr "Úroveň logování (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Zobrazit údaje o verzi" msgstr "Zobrazit údaje o verzi"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Editor Synctex (předáno příkazu synctex)" msgstr "Editor Synctex (předáno příkazu synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Přesunout se na udanou polohu synctex" msgstr "Přesunout se na udanou polohu synctex"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Zvýraznit zadanou polohu v daném procesu" msgstr "Zvýraznit zadanou polohu v daném procesu"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Spustit v ne-výchozím režimu" msgstr "Spustit v ne-výchozím režimu"
@ -687,7 +687,7 @@ msgstr "Vzor nenalezen: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Tento dokument neobsahuje žádný rejstřík" msgstr "Tento dokument neobsahuje žádný rejstřík"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Nepojmenovaný]" msgstr "[Nepojmenovaný]"
@ -696,20 +696,20 @@ msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
"Nepodařilo se přečíst soubor z stdin a zapsat jej do dočasného souboru." "Nepodařilo se přečíst soubor z stdin a zapsat jej do dočasného souboru."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
"Nepodařilo se přečíst soubor z GIO a zkopírovat jej do dočasného souboru." "Nepodařilo se přečíst soubor z GIO a zkopírovat jej do dočasného souboru."
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Zadat heslo:" msgstr "Zadat heslo:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
"Nepodporovaný typ souboru. Nainstalujte, prosím, nezbytný přídavný modul." "Nepodporovaný typ souboru. Nainstalujte, prosím, nezbytný přídavný modul."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dokument neobsahuje žádné strany" msgstr "Dokument neobsahuje žádné strany"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: German (http://www.transifex.com/pwmt/zathura/language/de/)\n" "Language-Team: German (http://www.transifex.com/pwmt/zathura/language/de/)\n"
@ -598,59 +598,59 @@ msgstr "Verknüpfung: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Verknüpfung: ungültig" msgstr "Verknüpfung: ungültig"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Reparentiert zathura an das Fenster mit der xid (X11)" msgstr "Reparentiert zathura an das Fenster mit der xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Pfad zum Konfigurationsverzeichnis" msgstr "Pfad zum Konfigurationsverzeichnis"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Pfad zum Datenverzeichnis" msgstr "Pfad zum Datenverzeichnis"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Pfad zum Cacheverzeichnis" msgstr "Pfad zum Cacheverzeichnis"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Pfad zum Pluginverzeichnis" msgstr "Pfad zum Pluginverzeichnis"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Forkt den Prozess in den Hintergrund" msgstr "Forkt den Prozess in den Hintergrund"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Dokument Passwort" msgstr "Dokument Passwort"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Zur Seite springen" msgstr "Zur Seite springen"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Log-Stufe (debug, info, warning, error)" msgstr "Log-Stufe (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Zeige Versionsinformationen an" msgstr "Zeige Versionsinformationen an"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Synctex Editor (wird an synctex weitergeleitet)" msgstr "Synctex Editor (wird an synctex weitergeleitet)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Zur gewählten SyncTeX-Position springen" msgstr "Zur gewählten SyncTeX-Position springen"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Gewählte Position im Prozess hervorheben" msgstr "Gewählte Position im Prozess hervorheben"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "In einem Nicht-Standardmodus starten" msgstr "In einem Nicht-Standardmodus starten"
@ -691,7 +691,7 @@ msgstr "Suchausdruck nicht gefunden: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Dieses Dokument beinhaltet kein Inhaltsverzeichnis" msgstr "Dieses Dokument beinhaltet kein Inhaltsverzeichnis"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Kein Name]" msgstr "[Kein Name]"
@ -699,18 +699,18 @@ msgstr "[Kein Name]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "Konnte Datei nicht von stdin lesen und in temporäre Datei schreiben." msgstr "Konnte Datei nicht von stdin lesen und in temporäre Datei schreiben."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "Konnte Datei nicht mittels GIO in temporäre Datei kopieren." msgstr "Konnte Datei nicht mittels GIO in temporäre Datei kopieren."
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Passwort:" msgstr "Passwort:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Dateityp ist nicht unterstützt. Installiere das benötigete Plugin." msgstr "Dateityp ist nicht unterstützt. Installiere das benötigete Plugin."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dieses Dokument beinhaltet keine Seiten" msgstr "Dieses Dokument beinhaltet keine Seiten"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Greek (http://www.transifex.com/pwmt/zathura/language/el/)\n" "Language-Team: Greek (http://www.transifex.com/pwmt/zathura/language/el/)\n"
@ -592,59 +592,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Διαδρομή του αρχείου ρυθμίσεων" msgstr "Διαδρομή του αρχείου ρυθμίσεων"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Διαδρομή του φακέλου δεδομένων" msgstr "Διαδρομή του φακέλου δεδομένων"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Διαδρομή φακέλου που περιέχει τα πρόσθετα" msgstr "Διαδρομή φακέλου που περιέχει τα πρόσθετα"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Διακλάδωση στο παρασκήνιο" msgstr "Διακλάδωση στο παρασκήνιο"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Κωδικός αρχείου" msgstr "Κωδικός αρχείου"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Επίπεδο καταγραφής (debug, info, warning, error)" msgstr "Επίπεδο καταγραφής (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Εκτύπωση πληροφοριών έκδοσης" msgstr "Εκτύπωση πληροφοριών έκδοσης"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Synctex editor (Προώθηση στην εντολή synctex)" msgstr "Synctex editor (Προώθηση στην εντολή synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -685,7 +685,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Το αρχείο δεν περιέχει κανένα δείκτη" msgstr "Το αρχείο δεν περιέχει κανένα δείκτη"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Χωρίς όνομα]" msgstr "[Χωρίς όνομα]"
@ -693,18 +693,18 @@ msgstr "[Χωρίς όνομα]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Esperanto (http://www.transifex.com/pwmt/zathura/language/" "Language-Team: Esperanto (http://www.transifex.com/pwmt/zathura/language/"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Vojo al la agorda dosierujo" msgstr "Vojo al la agorda dosierujo"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Vojo al la datuma dosierujo" msgstr "Vojo al la datuma dosierujo"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Vojoj al dosierujoj enhavantaj kromaĵojn" msgstr "Vojoj al dosierujoj enhavantaj kromaĵojn"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Nivelo de ĵurnalo (debug, info, warning, error)" msgstr "Nivelo de ĵurnalo (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Montru dosiera informacio" msgstr "Montru dosiera informacio"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Ĉi-tiu dokumento enhavas neniam indekson." msgstr "Ĉi-tiu dokumento enhavas neniam indekson."
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Neniu nomo]" msgstr "[Neniu nomo]"
@ -691,18 +691,18 @@ msgstr "[Neniu nomo]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Spanish (http://www.transifex.com/pwmt/zathura/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/pwmt/zathura/language/es/)\n"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Reasignar a la ventana especificada por xid (X11)" msgstr "Reasignar a la ventana especificada por xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Ruta al directorio de configuración" msgstr "Ruta al directorio de configuración"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Ruta para el directorio de datos" msgstr "Ruta para el directorio de datos"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Ruta a los directorios que contienen los plugins" msgstr "Ruta a los directorios que contienen los plugins"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Fork, ejecutándose en background" msgstr "Fork, ejecutándose en background"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Contraseña del documento" msgstr "Contraseña del documento"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Nivel de log (debug, info, warning, error)" msgstr "Nivel de log (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Mostrar información del fichero" msgstr "Mostrar información del fichero"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Editor de Synctex (reenvíado al commando synctex)" msgstr "Editor de Synctex (reenvíado al commando synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Este documento no contiene ningún índice" msgstr "Este documento no contiene ningún índice"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Sin nombre]" msgstr "[Sin nombre]"
@ -691,18 +691,18 @@ msgstr "[Sin nombre]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Spanish (Chile) (http://www.transifex.com/pwmt/zathura/" "Language-Team: Spanish (Chile) (http://www.transifex.com/pwmt/zathura/"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Reasignar a la ventana especificada por xid (X11)" msgstr "Reasignar a la ventana especificada por xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Ruta al directorio de configuración" msgstr "Ruta al directorio de configuración"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Ruta al directorio de datos" msgstr "Ruta al directorio de datos"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Ruta al directorio que contiene plugins" msgstr "Ruta al directorio que contiene plugins"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Ejecución en background" msgstr "Ejecución en background"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Nivel de log (debug, info, warning, error)" msgstr "Nivel de log (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Mostrar información del archivo" msgstr "Mostrar información del archivo"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Este document no contiene índice" msgstr "Este document no contiene índice"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Sin nombre]" msgstr "[Sin nombre]"
@ -691,18 +691,18 @@ msgstr "[Sin nombre]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Estonian (http://www.transifex.com/pwmt/zathura/language/" "Language-Team: Estonian (http://www.transifex.com/pwmt/zathura/language/"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "" msgstr ""
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "" msgstr ""
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "" msgstr ""
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "" msgstr ""
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Näita faili infot" msgstr "Näita faili infot"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "" msgstr ""
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Nime pole]" msgstr "[Nime pole]"
@ -691,18 +691,18 @@ msgstr "[Nime pole]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: French (http://www.transifex.com/pwmt/zathura/language/fr/)\n" "Language-Team: French (http://www.transifex.com/pwmt/zathura/language/fr/)\n"
@ -595,59 +595,59 @@ msgstr "Lien : %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Lien : Invalide" msgstr "Lien : Invalide"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Rattacher à la fenêtre spécifiée par xid (X11)" msgstr "Rattacher à la fenêtre spécifiée par xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Chemin vers le dossier de configuration" msgstr "Chemin vers le dossier de configuration"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Chemin vers le dossier de données" msgstr "Chemin vers le dossier de données"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Chemin vers le dossier de plugins" msgstr "Chemin vers le dossier de plugins"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Détacher en arrière-plan" msgstr "Détacher en arrière-plan"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Mot de passe du document" msgstr "Mot de passe du document"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Numéro de page où aller" msgstr "Numéro de page où aller"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Niveau de journalisation (debug, info, warning, error)" msgstr "Niveau de journalisation (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Afficher les informations de version" msgstr "Afficher les informations de version"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Éditeur synctex (transféré à la commande synctex)" msgstr "Éditeur synctex (transféré à la commande synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Démarrer dans un mode non-défaut" msgstr "Démarrer dans un mode non-défaut"
@ -688,7 +688,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Ce document ne contient pas d'index" msgstr "Ce document ne contient pas d'index"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Sans nom]" msgstr "[Sans nom]"
@ -698,19 +698,19 @@ msgstr ""
"Impossible de lire le fichier depuis stdin et de le sauvegarder dans un " "Impossible de lire le fichier depuis stdin et de le sauvegarder dans un "
"fichier temporaire." "fichier temporaire."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
"Type de fichier non supporté. Veuillez installer l'extension nécessaire." "Type de fichier non supporté. Veuillez installer l'extension nécessaire."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Ce document ne contient aucune page" msgstr "Ce document ne contient aucune page"

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Hebrew (http://www.transifex.com/pwmt/zathura/language/he/)\n" "Language-Team: Hebrew (http://www.transifex.com/pwmt/zathura/language/he/)\n"
@ -589,59 +589,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "" msgstr ""
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "" msgstr ""
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "" msgstr ""
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "" msgstr ""
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "" msgstr ""
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -682,7 +682,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "" msgstr ""
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "" msgstr ""
@ -690,18 +690,18 @@ msgstr ""
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Croatian (http://www.transifex.com/pwmt/zathura/language/" "Language-Team: Croatian (http://www.transifex.com/pwmt/zathura/language/"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "" msgstr ""
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "" msgstr ""
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "" msgstr ""
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "" msgstr ""
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "" msgstr ""
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "" msgstr ""
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "" msgstr ""
@ -691,18 +691,18 @@ msgstr ""
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/pwmt/zathura/" "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/pwmt/zathura/"
@ -591,59 +591,59 @@ msgstr "Link: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Link: Tidak valid" msgstr "Link: Tidak valid"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Mengembalikan jendela sesuai dengan xid yang ditentukan (X11)" msgstr "Mengembalikan jendela sesuai dengan xid yang ditentukan (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Path ke direktori konfigurasi" msgstr "Path ke direktori konfigurasi"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Path ke direktori data" msgstr "Path ke direktori data"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Path ke direktori tembolok" msgstr "Path ke direktori tembolok"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Path ke direktori plugin" msgstr "Path ke direktori plugin"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Jalankan pada latar" msgstr "Jalankan pada latar"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Kata sandi dokumen" msgstr "Kata sandi dokumen"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Nomor halaman tujuan" msgstr "Nomor halaman tujuan"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Tingkat log (debug, info, peringatan, error)" msgstr "Tingkat log (debug, info, peringatan, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Cetak informasi versi" msgstr "Cetak informasi versi"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Synctex editor (diteruskan ke perintah synctex)" msgstr "Synctex editor (diteruskan ke perintah synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Pindahkan ke posisi synctex yang diberikan" msgstr "Pindahkan ke posisi synctex yang diberikan"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Sorot posisi pada proses yang diberikan" msgstr "Sorot posisi pada proses yang diberikan"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Mulai pada mode non-bawaan" msgstr "Mulai pada mode non-bawaan"
@ -684,7 +684,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Dokumen ini tidak mempunyai indeks" msgstr "Dokumen ini tidak mempunyai indeks"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Tidak berjudul]" msgstr "[Tidak berjudul]"
@ -693,18 +693,18 @@ msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
"Tidak dapat membaca berkas dari stdin dan menulisnya ke berkas sementar" "Tidak dapat membaca berkas dari stdin dan menulisnya ke berkas sementar"
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Tipe berkas tidak didukung. Silakan memasang plugin yang dibutuhkan." msgstr "Tipe berkas tidak didukung. Silakan memasang plugin yang dibutuhkan."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dokumen tidak mempunyai laman apapun" msgstr "Dokumen tidak mempunyai laman apapun"

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Simone Dotto <simonedotto@protonmail.com>\n" "Last-Translator: Simone Dotto <simonedotto@protonmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/pwmt/zathura/language/it/)\n" "Language-Team: Italian (http://www.transifex.com/pwmt/zathura/language/it/)\n"
@ -602,59 +602,59 @@ msgstr "Link: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Link: non valido" msgstr "Link: non valido"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Sposta nellla finestra specificata da xid (X11)" msgstr "Sposta nellla finestra specificata da xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Percorso della directory della configurazione" msgstr "Percorso della directory della configurazione"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Percorso della directory dei dati" msgstr "Percorso della directory dei dati"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Percorso della cartella di cache" msgstr "Percorso della cartella di cache"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Percorso della directory contenente i plugin" msgstr "Percorso della directory contenente i plugin"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Crea un processo separato" msgstr "Crea un processo separato"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Password del documento" msgstr "Password del documento"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Numero di pagina da andare" msgstr "Numero di pagina da andare"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Livello di log (debug, info, warning, error)" msgstr "Livello di log (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Mostra le informazioni sul file" msgstr "Mostra le informazioni sul file"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Editor synctex (inoltrato al comando synctex)" msgstr "Editor synctex (inoltrato al comando synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Sposta alla posizione synctex specificata" msgstr "Sposta alla posizione synctex specificata"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Evidenzia data posizione nel processo dato" msgstr "Evidenzia data posizione nel processo dato"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Avvia in una modalità non standard" msgstr "Avvia in una modalità non standard"
@ -695,7 +695,7 @@ msgstr "Pattern non trovato: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Questo documento non contiene l' indice" msgstr "Questo documento non contiene l' indice"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Nessun nome]" msgstr "[Nessun nome]"
@ -704,19 +704,19 @@ msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
"Impossibile leggere il file dall' stdin e scriverlo in un file temporaneo." "Impossibile leggere il file dall' stdin e scriverlo in un file temporaneo."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "Impossibile leggere file da GIO e copiarlo su un file temporaneo" msgstr "Impossibile leggere file da GIO e copiarlo su un file temporaneo"
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Inserisci password" msgstr "Inserisci password"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
"Tipo di file non supportato. Per favore, installa il plugin necessario." "Tipo di file non supportato. Per favore, installa il plugin necessario."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Il documento non contiene alcuna pagina" msgstr "Il documento non contiene alcuna pagina"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Lithuanian (http://www.transifex.com/pwmt/zathura/language/" "Language-Team: Lithuanian (http://www.transifex.com/pwmt/zathura/language/"
@ -592,59 +592,59 @@ msgstr "Nuoroda: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Neteisinga nuoroda" msgstr "Neteisinga nuoroda"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Konfigūracinių failų aplanko adresas" msgstr "Konfigūracinių failų aplanko adresas"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Duomenų aplanko adresas" msgstr "Duomenų aplanko adresas"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Įskiepių aplanko adresas" msgstr "Įskiepių aplanko adresas"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Dokumento slaptažodis" msgstr "Dokumento slaptažodis"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Pereiti į puslapį" msgstr "Pereiti į puslapį"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Registravimo lygis (derinimas, informacija, įspėjimai, klaidos)" msgstr "Registravimo lygis (derinimas, informacija, įspėjimai, klaidos)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Spausdinti versijos informaciją" msgstr "Spausdinti versijos informaciją"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Synctex redaktorius (naudojama synctex komandoje)" msgstr "Synctex redaktorius (naudojama synctex komandoje)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -685,7 +685,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Šit dokumentas neturi turinio" msgstr "Šit dokumentas neturi turinio"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Bevardis]" msgstr "[Bevardis]"
@ -693,18 +693,18 @@ msgstr "[Bevardis]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Bylos tipas nepalaikomas. Įdiekite tam skirtus įskiepius." msgstr "Bylos tipas nepalaikomas. Įdiekite tam skirtus įskiepius."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dokumente puslapių nėra" msgstr "Dokumente puslapių nėra"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-12 09:52+0000\n" "PO-Revision-Date: 2019-08-12 09:52+0000\n"
"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n" "Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
"Language-Team: Dutch (http://www.transifex.com/pwmt/zathura/language/nl/)\n" "Language-Team: Dutch (http://www.transifex.com/pwmt/zathura/language/nl/)\n"
@ -602,59 +602,59 @@ msgstr "Link: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Link: ongeldig" msgstr "Link: ongeldig"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Wordt bij bovenliggend, door xid (X11) opgegeven venster gevoegd" msgstr "Wordt bij bovenliggend, door xid (X11) opgegeven venster gevoegd"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Pad naar de configuratiemap" msgstr "Pad naar de configuratiemap"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Pad naar de gegevensmap" msgstr "Pad naar de gegevensmap"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Pad naar de cachemap" msgstr "Pad naar de cachemap"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Pad naar de mappen die plug-ins bevatten" msgstr "Pad naar de mappen die plug-ins bevatten"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Naar achtergrond verplaatsen" msgstr "Naar achtergrond verplaatsen"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Documentwachtwoord" msgstr "Documentwachtwoord"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Paginanummer om naartoe te gaan" msgstr "Paginanummer om naartoe te gaan"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Logniveau (foutopsporing, informatie, waarschuwing, fout)" msgstr "Logniveau (foutopsporing, informatie, waarschuwing, fout)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Versie-informatie tonen" msgstr "Versie-informatie tonen"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Synctex-bewerker (wordt doorgestuurd naar de synctex-opdracht)" msgstr "Synctex-bewerker (wordt doorgestuurd naar de synctex-opdracht)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Verplaatsen naar opgegeven synctex-positie" msgstr "Verplaatsen naar opgegeven synctex-positie"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Opgegeven positie markeren in het opgegeven proces" msgstr "Opgegeven positie markeren in het opgegeven proces"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Starten in een niet-standaardmodus" msgstr "Starten in een niet-standaardmodus"
@ -695,7 +695,7 @@ msgstr "Patroon niet gevonden: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Dit document bevat geen index" msgstr "Dit document bevat geen index"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Naamloos]" msgstr "[Naamloos]"
@ -705,20 +705,20 @@ msgstr ""
"Bestand kan niet worden gelezen uit stdin en worden weggeschreven naar een " "Bestand kan niet worden gelezen uit stdin en worden weggeschreven naar een "
"tijdelijk bestand." "tijdelijk bestand."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
"Bestand kan niet worden gelezen uit GIO en worden gekopieerd naar een " "Bestand kan niet worden gelezen uit GIO en worden gekopieerd naar een "
"tijdelijk bestand." "tijdelijk bestand."
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Wachtwoord invoeren:" msgstr "Wachtwoord invoeren:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Niet-ondersteund bestandstype. Installeer de benodigde plug-in." msgstr "Niet-ondersteund bestandstype. Installeer de benodigde plug-in."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Document bevat geen pagina's" msgstr "Document bevat geen pagina's"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Norwegian (http://www.transifex.com/pwmt/zathura/language/" "Language-Team: Norwegian (http://www.transifex.com/pwmt/zathura/language/"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Link: Ugyldig" msgstr "Link: Ugyldig"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Sti til konfigureringsmappe" msgstr "Sti til konfigureringsmappe"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Sti til data-mappe" msgstr "Sti til data-mappe"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Sti til mapper som inneholder plugins" msgstr "Sti til mapper som inneholder plugins"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Dokument passord" msgstr "Dokument passord"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Sidetall å gå til" msgstr "Sidetall å gå til"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Logg nivå (diagnostisering, info, advarsler, feil)" msgstr "Logg nivå (diagnostisering, info, advarsler, feil)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Skriv ut versjonsinformasjon" msgstr "Skriv ut versjonsinformasjon"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Start i ikke-standard modus" msgstr "Start i ikke-standard modus"
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Dette dokumenetet inneholder ikke noen index" msgstr "Dette dokumenetet inneholder ikke noen index"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Inget navn]" msgstr "[Inget navn]"
@ -691,18 +691,18 @@ msgstr "[Inget navn]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "Kunne ikke lese fil fra stdin og skrive til temporærfil." msgstr "Kunne ikke lese fil fra stdin og skrive til temporærfil."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Usupportert filtype. Vennligst innstaller den nødvendige pluginen." msgstr "Usupportert filtype. Vennligst innstaller den nødvendige pluginen."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dokumentet inneholder ingen sider" msgstr "Dokumentet inneholder ingen sider"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Polish (http://www.transifex.com/pwmt/zathura/language/pl/)\n" "Language-Team: Polish (http://www.transifex.com/pwmt/zathura/language/pl/)\n"
@ -592,59 +592,59 @@ msgstr "Link: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Nieprawidłowy link" msgstr "Nieprawidłowy link"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Przypisz proces do rodzica o danym xid (X11)" msgstr "Przypisz proces do rodzica o danym xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Położenie katalogu konfiguracyjnego" msgstr "Położenie katalogu konfiguracyjnego"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Położenie katalogu danych" msgstr "Położenie katalogu danych"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Położenie katalogu wtyczek" msgstr "Położenie katalogu wtyczek"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Forkuj w tle" msgstr "Forkuj w tle"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Hasło dokumentu" msgstr "Hasło dokumentu"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Szczegółowość komunikatów (debug, info, warning, error)" msgstr "Szczegółowość komunikatów (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Wyświetl informacje o wersji" msgstr "Wyświetl informacje o wersji"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Edytor synctex (przekierowanie do komendy synctex)" msgstr "Edytor synctex (przekierowanie do komendy synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -685,7 +685,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Dokument nie zawiera indeksu" msgstr "Dokument nie zawiera indeksu"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[bez nazwy]" msgstr "[bez nazwy]"
@ -693,18 +693,18 @@ msgstr "[bez nazwy]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Niewspierany rodzaj pliku. Zainstaluj wymagane wtyczki" msgstr "Niewspierany rodzaj pliku. Zainstaluj wymagane wtyczki"
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dokument nie zawiera żadnej strony" msgstr "Dokument nie zawiera żadnej strony"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/pwmt/zathura/" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/pwmt/zathura/"
@ -593,59 +593,59 @@ msgstr "Link: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Link: Inválido" msgstr "Link: Inválido"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Reparar a janela especificada por xid (X11)" msgstr "Reparar a janela especificada por xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Caminho de diretório para configuração" msgstr "Caminho de diretório para configuração"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Caminho para diretório de dados" msgstr "Caminho para diretório de dados"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Caminho para o diretório de cache" msgstr "Caminho para o diretório de cache"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Caminho de diretório que contenham plugins" msgstr "Caminho de diretório que contenham plugins"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Deslocar no fundo" msgstr "Deslocar no fundo"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Senha do documento" msgstr "Senha do documento"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Número da página para ir" msgstr "Número da página para ir"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Nível de log (depurar, informação, aviso, erro)" msgstr "Nível de log (depurar, informação, aviso, erro)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Imprimir informações sobre a versão" msgstr "Imprimir informações sobre a versão"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Editor synctex (encaminhado para o comando synctex)" msgstr "Editor synctex (encaminhado para o comando synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Mover para determinada posição synctex" msgstr "Mover para determinada posição synctex"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Destacar determinada posição no determinado processo" msgstr "Destacar determinada posição no determinado processo"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Começar em um modo não padrão" msgstr "Começar em um modo não padrão"
@ -686,7 +686,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Este documento não contem qualquer índice" msgstr "Este documento não contem qualquer índice"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Sem nome]" msgstr "[Sem nome]"
@ -696,19 +696,19 @@ msgstr ""
"Não foi possível ler o arquivo a partir de stdin e gravá-lo em um arquivo " "Não foi possível ler o arquivo a partir de stdin e gravá-lo em um arquivo "
"temporário." "temporário."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
"Formato de arquivo não suportado. Por favor, instale o plugin necessário." "Formato de arquivo não suportado. Por favor, instale o plugin necessário."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Documento não contém quaisquer páginas" msgstr "Documento não contém quaisquer páginas"

View file

@ -11,9 +11,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-11-28 12:40+0000\n"
"Last-Translator: Alexander Filev <avfill@outlook.com>\n" "Last-Translator: Alexander Filev\n"
"Language-Team: Russian (http://www.transifex.com/pwmt/zathura/language/ru/)\n" "Language-Team: Russian (http://www.transifex.com/pwmt/zathura/language/ru/)\n"
"Language: ru\n" "Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -177,11 +177,11 @@ msgstr "Время изменения"
#: zathura/commands.c:183 #: zathura/commands.c:183
msgid "Format" msgid "Format"
msgstr "" msgstr "Формат"
#: zathura/commands.c:184 #: zathura/commands.c:184
msgid "Other" msgid "Other"
msgstr "" msgstr "Прочее"
#: zathura/commands.c:189 zathura/commands.c:209 #: zathura/commands.c:189 zathura/commands.c:209
msgid "No information available." msgid "No information available."
@ -600,59 +600,59 @@ msgstr "Ссылка: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Ссылка: неправильная" msgstr "Ссылка: неправильная"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Сменить материнское окно на окно, указанное в xid (X11)" msgstr "Сменить материнское окно на окно, указанное в xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Путь к каталогу с настройкой" msgstr "Путь к каталогу с настройкой"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Путь к каталогу с данными" msgstr "Путь к каталогу с данными"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Путь к каталогу с кэшем" msgstr "Путь к каталогу с кэшем"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Путь к каталогу с плагинами" msgstr "Путь к каталогу с плагинами"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Запустить в фоне" msgstr "Запустить в фоне"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Пароль документа" msgstr "Пароль документа"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Перейти к странице номер" msgstr "Перейти к странице номер"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Уровень журналирования (debug, info, warning, error)" msgstr "Уровень журналирования (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Показать информацию о файле" msgstr "Показать информацию о файле"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Редактор для synctex (передаётся далее программе synctex)" msgstr "Редактор для synctex (передаётся далее программе synctex)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Перейти к указанному положению synctex" msgstr "Перейти к указанному положению synctex"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Подсветка заданного положения в заданном процессе" msgstr "Подсветка заданного положения в заданном процессе"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Запустить в специальном режиме" msgstr "Запустить в специальном режиме"
@ -693,7 +693,7 @@ msgstr "Шаблон не найден: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "В документе нет индекса" msgstr "В документе нет индекса"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Без названия]" msgstr "[Без названия]"
@ -703,19 +703,19 @@ msgstr ""
"Не удалось прочитать файл со стандартного входа и записать его во временный " "Не удалось прочитать файл со стандартного входа и записать его во временный "
"файл." "файл."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
"Не удалось прочитать файл через GIO и скопировать его во временный файл." "Не удалось прочитать файл через GIO и скопировать его во временный файл."
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Введите пароль:" msgstr "Введите пароль:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Тип файла не поддерживается. Установите соответствующий плагин." msgstr "Тип файла не поддерживается. Установите соответствующий плагин."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "В документе нет страниц" msgstr "В документе нет страниц"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n" "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/pwmt/zathura/language/sv/)\n" "Language-Team: Swedish (http://www.transifex.com/pwmt/zathura/language/sv/)\n"
@ -594,59 +594,59 @@ msgstr "Länk: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Länk: Ogiltig" msgstr "Länk: Ogiltig"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Ändrar förälder till förster angivet av xid (X11)" msgstr "Ändrar förälder till förster angivet av xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Sökväg till konfigurationskatalogen" msgstr "Sökväg till konfigurationskatalogen"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Sökväg till datakatlogen" msgstr "Sökväg till datakatlogen"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Sökväg till cachekatalogen" msgstr "Sökväg till cachekatalogen"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Sökväg till kataloger som innehåller instick" msgstr "Sökväg till kataloger som innehåller instick"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Forka till bakgrunden" msgstr "Forka till bakgrunden"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Dokumentlösenord" msgstr "Dokumentlösenord"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "Sidnummer att gå til" msgstr "Sidnummer att gå til"
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Loggningsnivå (debug, info, warning, error)" msgstr "Loggningsnivå (debug, info, warning, error)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Skriv ut versionsinformation" msgstr "Skriv ut versionsinformation"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "Synctex-redigerare (vidareskickat till synctex-kommandot)" msgstr "Synctex-redigerare (vidareskickat till synctex-kommandot)"
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "Flytta till angiven synctex-position" msgstr "Flytta till angiven synctex-position"
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "Färgmarkera angiven position i den angivna processen" msgstr "Färgmarkera angiven position i den angivna processen"
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "Starta i ett icke-standardläge" msgstr "Starta i ett icke-standardläge"
@ -687,7 +687,7 @@ msgstr "Mönster hittades inte: %s"
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Detta dokument innehåller inget index" msgstr "Detta dokument innehåller inget index"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Namnlös]" msgstr "[Namnlös]"
@ -695,18 +695,18 @@ msgstr "[Namnlös]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "Kunde inte läsa fil från stdin och skriva den till en temporärfil." msgstr "Kunde inte läsa fil från stdin och skriva den till en temporärfil."
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "Kunde inte läsa fil från GIO och kopiera den till en temporärfil." msgstr "Kunde inte läsa fil från GIO och kopiera den till en temporärfil."
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Ange lösenord:" msgstr "Ange lösenord:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Filtyp stöds ej. Installera det nödvändiga insticket." msgstr "Filtyp stöds ej. Installera det nödvändiga insticket."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "Dokument innehåller inga sidor" msgstr "Dokument innehåller inga sidor"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Tamil (India) (http://www.transifex.com/pwmt/zathura/language/" "Language-Team: Tamil (India) (http://www.transifex.com/pwmt/zathura/language/"
@ -590,59 +590,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "" msgstr ""
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "" msgstr ""
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "" msgstr ""
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "" msgstr ""
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "" msgstr ""
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "" msgstr ""
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "ஆவணம் பற்றிய தகவல்களைக் காட்டு" msgstr "ஆவணம் பற்றிய தகவல்களைக் காட்டு"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -683,7 +683,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "இந்த ஆவணத்தில் எந்த index-ம் இல்லை" msgstr "இந்த ஆவணத்தில் எந்த index-ம் இல்லை"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "பெயரற்ற ஆவணம்" msgstr "பெயரற்ற ஆவணம்"
@ -691,18 +691,18 @@ msgstr "பெயரற்ற ஆவணம்"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: spero\n" "Last-Translator: spero\n"
"Language-Team: Turkish (http://www.transifex.com/pwmt/zathura/language/tr/)\n" "Language-Team: Turkish (http://www.transifex.com/pwmt/zathura/language/tr/)\n"
@ -591,59 +591,59 @@ msgstr "Bağlantı: %s"
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "Bağlantı: Geçersiz" msgstr "Bağlantı: Geçersiz"
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Xid tarafından belirlendiği gibi bir üst seviye pencereye bağlı (X11)" msgstr "Xid tarafından belirlendiği gibi bir üst seviye pencereye bağlı (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Ayar dizini adresi" msgstr "Ayar dizini adresi"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Veri dizini adresi" msgstr "Veri dizini adresi"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "Önbellek dizininin adresi" msgstr "Önbellek dizininin adresi"
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Eklentileri içeren dizinin adresi" msgstr "Eklentileri içeren dizinin adresi"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Arka planda işlemden çocuk oluştur" msgstr "Arka planda işlemden çocuk oluştur"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "Belge şifresi" msgstr "Belge şifresi"
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Kayıt seviyesi (hata ayıklama, bilgi, uyarı, hata)" msgstr "Kayıt seviyesi (hata ayıklama, bilgi, uyarı, hata)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Dosya bilgisi göster" msgstr "Dosya bilgisi göster"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -684,7 +684,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Bu belge fihrist içermiyor" msgstr "Bu belge fihrist içermiyor"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[İsimsiz]" msgstr "[İsimsiz]"
@ -692,18 +692,18 @@ msgstr "[İsimsiz]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "Şifre girin:" msgstr "Şifre girin:"
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "Desteklenmeyen dosya türü. Lütfen gerekli eklentileri yükleyin." msgstr "Desteklenmeyen dosya türü. Lütfen gerekli eklentileri yükleyin."
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zathura\n" "Project-Id-Version: zathura\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-06 22:48+0200\n" "POT-Creation-Date: 2020-01-06 10:17+0100\n"
"PO-Revision-Date: 2019-08-11 19:46+0000\n" "PO-Revision-Date: 2019-08-11 19:46+0000\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n" "Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/pwmt/zathura/" "Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/pwmt/zathura/"
@ -593,59 +593,59 @@ msgstr ""
msgid "Link: Invalid" msgid "Link: Invalid"
msgstr "" msgstr ""
#: zathura/main.c:147 #: zathura/main.c:145
msgid "Reparents to window specified by xid (X11)" msgid "Reparents to window specified by xid (X11)"
msgstr "Вертатися до вікна, вказаного xid (X11)" msgstr "Вертатися до вікна, вказаного xid (X11)"
#: zathura/main.c:148 #: zathura/main.c:146
msgid "Path to the config directory" msgid "Path to the config directory"
msgstr "Шлях до теки конфігурації" msgstr "Шлях до теки конфігурації"
#: zathura/main.c:149 #: zathura/main.c:147
msgid "Path to the data directory" msgid "Path to the data directory"
msgstr "Шлях до теки з даними" msgstr "Шлях до теки з даними"
#: zathura/main.c:150 #: zathura/main.c:148
msgid "Path to the cache directory" msgid "Path to the cache directory"
msgstr "" msgstr ""
#: zathura/main.c:151 #: zathura/main.c:149
msgid "Path to the directories containing plugins" msgid "Path to the directories containing plugins"
msgstr "Шлях до теки з плаґінами" msgstr "Шлях до теки з плаґінами"
#: zathura/main.c:152 #: zathura/main.c:150
msgid "Fork into the background" msgid "Fork into the background"
msgstr "Працювати у фоні" msgstr "Працювати у фоні"
#: zathura/main.c:153 #: zathura/main.c:151
msgid "Document password" msgid "Document password"
msgstr "" msgstr ""
#: zathura/main.c:154 #: zathura/main.c:152
msgid "Page number to go to" msgid "Page number to go to"
msgstr "" msgstr ""
#: zathura/main.c:155 #: zathura/main.c:153
msgid "Log level (debug, info, warning, error)" msgid "Log level (debug, info, warning, error)"
msgstr "Рівень логування (налагодження, інфо, застереження, помилка)" msgstr "Рівень логування (налагодження, інфо, застереження, помилка)"
#: zathura/main.c:156 #: zathura/main.c:154
msgid "Print version information" msgid "Print version information"
msgstr "Показати інформацію файлу" msgstr "Показати інформацію файлу"
#: zathura/main.c:158 #: zathura/main.c:155
msgid "Synctex editor (forwarded to the synctex command)" msgid "Synctex editor (forwarded to the synctex command)"
msgstr "" msgstr ""
#: zathura/main.c:159 #: zathura/main.c:156
msgid "Move to given synctex position" msgid "Move to given synctex position"
msgstr "" msgstr ""
#: zathura/main.c:160 #: zathura/main.c:157
msgid "Highlight given position in the given process" msgid "Highlight given position in the given process"
msgstr "" msgstr ""
#: zathura/main.c:162 #: zathura/main.c:158
msgid "Start in a non-default mode" msgid "Start in a non-default mode"
msgstr "" msgstr ""
@ -686,7 +686,7 @@ msgstr ""
msgid "This document does not contain any index" msgid "This document does not contain any index"
msgstr "Індекс відсутній в цьому документі" msgstr "Індекс відсутній в цьому документі"
#: zathura/zathura.c:304 zathura/zathura.c:1456 #: zathura/zathura.c:304 zathura/zathura.c:1466
msgid "[No name]" msgid "[No name]"
msgstr "[Без назви]" msgstr "[Без назви]"
@ -694,18 +694,18 @@ msgstr "[Без назви]"
msgid "Could not read file from stdin and write it to a temporary file." msgid "Could not read file from stdin and write it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:847 #: zathura/zathura.c:851
msgid "Could not read file from GIO and copy it to a temporary file." msgid "Could not read file from GIO and copy it to a temporary file."
msgstr "" msgstr ""
#: zathura/zathura.c:936 #: zathura/zathura.c:940
msgid "Enter password:" msgid "Enter password:"
msgstr "" msgstr ""
#: zathura/zathura.c:971 #: zathura/zathura.c:979
msgid "Unsupported file type. Please install the necessary plugin." msgid "Unsupported file type. Please install the necessary plugin."
msgstr "" msgstr ""
#: zathura/zathura.c:981 #: zathura/zathura.c:989
msgid "Document does not contain any pages" msgid "Document does not contain any pages"
msgstr "" msgstr ""

4
subprojects/girara.wrap Normal file
View file

@ -0,0 +1,4 @@
[wrap-git]
directory=girara
url=https://git.pwmt.org/pwmt/girara.git
revision=develop

View file

@ -1,7 +1,6 @@
/* SPDX-License-Identifier: Zlib */ /* SPDX-License-Identifier: Zlib */
#include "content-type.h" #include "content-type.h"
#include "macros.h"
#include <girara/utils.h> #include <girara/utils.h>
#ifdef WITH_MAGIC #ifdef WITH_MAGIC
@ -18,6 +17,8 @@ struct zathura_content_type_context_s
{ {
#ifdef WITH_MAGIC #ifdef WITH_MAGIC
magic_t magic; magic_t magic;
#else
void* magic;
#endif #endif
}; };
@ -33,6 +34,7 @@ zathura_content_type_new(void)
#ifdef WITH_MAGIC #ifdef WITH_MAGIC
/* creat magic cookie */ /* creat magic cookie */
static const int flags = static const int flags =
MAGIC_ERROR |
MAGIC_MIME_TYPE | MAGIC_MIME_TYPE |
MAGIC_SYMLINK | MAGIC_SYMLINK |
MAGIC_NO_CHECK_APPTYPE | MAGIC_NO_CHECK_APPTYPE |
@ -90,7 +92,7 @@ guess_type_magic(zathura_content_type_context_t* context, const char* path)
/* get the mime type */ /* get the mime type */
mime_type = magic_file(context->magic, path); mime_type = magic_file(context->magic, path);
if (mime_type == NULL) { if (mime_type == NULL || magic_errno(context->magic) != 0) {
girara_debug("failed guessing filetype: %s", magic_error(context->magic)); girara_debug("failed guessing filetype: %s", magic_error(context->magic));
return NULL; return NULL;
} }
@ -122,25 +124,28 @@ guess_type_magic(zathura_content_type_context_t* UNUSED(context),
static char* static char*
guess_type_file(const char* path) guess_type_file(const char* path)
{ {
GString* command = g_string_new("file -b --mime-type "); /* g_spawn_async expects char** */
char* tmp = g_shell_quote(path); static char cmd_file[] = "file";
static char opt_b[] = "-b";
g_string_append(command, tmp); static char opt_mime_type[] = "--mime-type";
g_free(tmp); char* argv[] = { cmd_file, opt_b, opt_mime_type, g_strdup(path), NULL };
GError* error = NULL; GError* error = NULL;
char* out = NULL; char* out = NULL;
int ret = 0; int ret = 0;
g_spawn_command_line_sync(command->str, &out, NULL, &ret, &error); const bool r = g_spawn_sync(NULL, argv, NULL,
g_string_free(command, TRUE); G_SPAWN_SEARCH_PATH | G_SPAWN_STDERR_TO_DEV_NULL,
if (error != NULL) { NULL, NULL, &out, NULL, &ret, &error);
g_free(argv[3]);
if (r == false) {
girara_warning("failed to execute command: %s", error->message); girara_warning("failed to execute command: %s", error->message);
g_error_free(error); g_error_free(error);
g_free(out); g_free(out);
return NULL; return NULL;
} }
if (WEXITSTATUS(ret) != 0) { if (g_spawn_check_exit_status(ret, &error) == false) {
girara_warning("file failed with error code: %d", WEXITSTATUS(ret)); girara_warning("file failed: %s", error->message);
g_error_free(error);
g_free(out); g_free(out);
return NULL; return NULL;
} }
@ -179,12 +184,10 @@ guess_type_glib(const char* path)
return NULL; return NULL;
} }
const int fd = fileno(f);
guchar* content = NULL; guchar* content = NULL;
size_t length = 0u; size_t length = 0;
ssize_t bytes_read = -1; while (uncertain == TRUE && length < GT_MAX_READ) {
while (uncertain == TRUE && length < GT_MAX_READ && bytes_read != 0) { g_free(content_type);
g_free((void*)content_type);
content_type = NULL; content_type = NULL;
guchar* temp_content = g_try_realloc(content, length + BUFSIZ); guchar* temp_content = g_try_realloc(content, length + BUFSIZ);
@ -193,8 +196,8 @@ guess_type_glib(const char* path)
} }
content = temp_content; content = temp_content;
bytes_read = read(fd, content + length, BUFSIZ); size_t bytes_read = fread(content + length, 1, BUFSIZ, f);
if (bytes_read == -1) { if (bytes_read == 0) {
break; break;
} }
@ -209,23 +212,40 @@ guess_type_glib(const char* path)
return content_type; return content_type;
} }
g_free((void*)content_type); g_free(content_type);
return NULL; return NULL;
} }
static int compare_content_types(const void* lhs, const void* rhs) {
return g_strcmp0(lhs, rhs);
}
char* char*
zathura_content_type_guess(zathura_content_type_context_t* context, zathura_content_type_guess(zathura_content_type_context_t* context,
const char* path) const char* path,
const girara_list_t* supported_content_types)
{ {
/* try libmagic first */ /* try libmagic first */
char* content_type = guess_type_magic(context, path); char *content_type = guess_type_magic(context, path);
if (content_type != NULL) { if (content_type != NULL) {
return content_type; if (supported_content_types == NULL ||
girara_list_find(supported_content_types, compare_content_types,
content_type) != NULL) {
return content_type;
}
girara_debug("content type '%s' not supported, trying again", content_type);
g_free(content_type);
} }
/* else fallback to g_content_type_guess method */ /* else fallback to g_content_type_guess method */
content_type = guess_type_glib(path); content_type = guess_type_glib(path);
if (content_type != NULL) { if (content_type != NULL) {
return content_type; if (supported_content_types == NULL ||
girara_list_find(supported_content_types, compare_content_types,
content_type) != NULL) {
return content_type;
}
girara_debug("content type '%s' not supported, trying again", content_type);
g_free(content_type);
} }
/* and if libmagic is not available, try file as last resort */ /* and if libmagic is not available, try file as last resort */
return guess_type_file(path); return guess_type_file(path);

View file

@ -27,6 +27,7 @@ void zathura_content_type_free(zathura_content_type_context_t* context);
* @return content type of path, needs to freeed with g_free. * @return content type of path, needs to freeed with g_free.
*/ */
char* zathura_content_type_guess(zathura_content_type_context_t* context, char* zathura_content_type_guess(zathura_content_type_context_t* context,
const char* path); const char* path,
const girara_list_t* supported_content_types);
#endif #endif

View file

@ -77,26 +77,6 @@ G_DEFINE_TYPE_WITH_CODE(ZathuraPlainDatabase, zathura_plaindatabase, G_TYPE_OBJE
G_IMPLEMENT_INTERFACE(GIRARA_TYPE_INPUT_HISTORY_IO, io_interface_init) G_IMPLEMENT_INTERFACE(GIRARA_TYPE_INPUT_HISTORY_IO, io_interface_init)
G_ADD_PRIVATE(ZathuraPlainDatabase)) G_ADD_PRIVATE(ZathuraPlainDatabase))
static void plain_dispose(GObject* object);
static void plain_finalize(GObject* object);
static bool plain_add_bookmark(zathura_database_t* db, const char* file, zathura_bookmark_t* bookmark);
static bool plain_remove_bookmark(zathura_database_t* db, const char* file, const char* id);
static girara_list_t* plain_load_bookmarks(zathura_database_t* db, const char* file);
static girara_list_t* plain_load_jumplist(zathura_database_t* db, const char* file);
static bool plain_save_jumplist(zathura_database_t* db, const char* file, girara_list_t* jumplist);
static bool plain_set_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* file_info);
static bool plain_get_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* file_info);
static void plain_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
static void plain_io_append(GiraraInputHistoryIO* db, const char*);
static girara_list_t* plain_io_read(GiraraInputHistoryIO* db);
static girara_list_t* plain_get_recent_files(zathura_database_t* db, int max, const char* basepath);
/* forward declaration */
static bool zathura_db_check_file(const char* path);
static GKeyFile* zathura_db_read_key_file_from_file(const char* path);
static void zathura_db_write_key_file_to_file(const char* file, GKeyFile* key_file);
static void cb_zathura_db_watch_file(GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event, zathura_database_t* database);
enum { enum {
PROP_0, PROP_0,
PROP_PATH PROP_PATH
@ -116,54 +96,126 @@ prepare_filename(const char* file)
return g_base64_encode((const guchar*) file, strlen(file)); return g_base64_encode((const guchar*) file, strlen(file));
} }
static void static char*
zathura_database_interface_init(ZathuraDatabaseInterface* iface) prepare_hash_key(const uint8_t* hash_sha256)
{ {
/* initialize interface */ return g_base64_encode(hash_sha256, 32);
iface->add_bookmark = plain_add_bookmark; }
iface->remove_bookmark = plain_remove_bookmark;
iface->load_bookmarks = plain_load_bookmarks; static bool
iface->load_jumplist = plain_load_jumplist; zathura_db_check_file(const char* path)
iface->save_jumplist = plain_save_jumplist; {
iface->set_fileinfo = plain_set_fileinfo; if (path == NULL) {
iface->get_fileinfo = plain_get_fileinfo; return false;
iface->get_recent_files = plain_get_recent_files; }
if (g_file_test(path, G_FILE_TEST_EXISTS) == false) {
FILE* file = fopen(path, "w");
if (file != NULL) {
fclose(file);
} else {
return false;
}
} else if (g_file_test(path, G_FILE_TEST_IS_REGULAR) == false) {
return false;
}
return true;
}
static GKeyFile*
zathura_db_read_key_file_from_file(const char* path)
{
if (path == NULL) {
return NULL;
}
/* open file */
FILE* file = fopen(path, "r+");
if (file == NULL) {
return NULL;
}
/* and lock it */
if (file_lock_set(fileno(file), FILE_LOCK_WRITE) != 0) {
fclose(file);
return NULL;
}
GKeyFile* key_file = g_key_file_new();
if (key_file == NULL) {
fclose(file);
return NULL;
}
/* read config file */
char* content = girara_file_read2(file);
fclose(file);
if (content == NULL) {
g_key_file_free(key_file);
return NULL;
}
/* parse config file */
size_t contentlen = strlen(content);
if (contentlen == 0) {
static const char dummy_content[] = "# nothing";
static const size_t dummy_len = sizeof(dummy_content) - 1;
free(content);
content = malloc(sizeof(char) * (dummy_len + 1));
if (content == NULL)
{
g_key_file_free(key_file);
return NULL;
}
g_strlcat(content, dummy_content, dummy_len + 1);
contentlen = dummy_len;
}
GError* error = NULL;
if (g_key_file_load_from_data(key_file, content, contentlen,
G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &error) ==
FALSE) {
if (error->code != 1) { /* ignore empty file */
free(content);
g_key_file_free(key_file);
g_error_free(error);
return NULL;
}
g_error_free(error);
}
free(content);
return key_file;
} }
static void static void
io_interface_init(GiraraInputHistoryIOInterface* iface) zathura_db_write_key_file_to_file(const char* file, GKeyFile* key_file)
{ {
/* initialize interface */ if (file == NULL || key_file == NULL) {
iface->append = plain_io_append; return;
iface->read = plain_io_read; }
}
static void gchar* content = g_key_file_to_data(key_file, NULL, NULL);
zathura_plaindatabase_class_init(ZathuraPlainDatabaseClass* class) if (content == NULL) {
{ return;
/* override methods */ }
GObjectClass* object_class = G_OBJECT_CLASS(class);
object_class->dispose = plain_dispose;
object_class->finalize = plain_finalize;
object_class->set_property = plain_set_property;
g_object_class_install_property(object_class, PROP_PATH, /* open file */
g_param_spec_string("path", "path", "path to directory where the bookmarks and history are locates", int fd = open(file, O_RDWR | O_TRUNC);
NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); if (fd == -1) {
} g_free(content);
return;
}
static void if (file_lock_set(fd, FILE_LOCK_READ) != 0 || write(fd, content, strlen(content)) == 0) {
zathura_plaindatabase_init(ZathuraPlainDatabase* db) girara_error("Failed to write to %s", file);
{ }
ZathuraPlainDatabasePrivate* priv = zathura_plaindatabase_get_instance_private(db); close(fd);
priv->bookmark_path = NULL; g_free(content);
priv->bookmark_monitor = NULL;
priv->bookmarks = NULL;
priv->history_path = NULL;
priv->history_monitor = NULL;
priv->history = NULL;
priv->input_history_path = NULL;
} }
zathura_database_t* zathura_database_t*
@ -181,6 +233,38 @@ zathura_plaindatabase_new(const char* path)
return db; return db;
} }
static void
cb_zathura_db_watch_file(GFileMonitor* UNUSED(monitor), GFile* file, GFile* UNUSED(other_file),
GFileMonitorEvent event, zathura_database_t* database)
{
if (event != G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT || database == NULL) {
return;
}
char* path = g_file_get_path(file);
if (path == NULL) {
return;
}
ZathuraPlainDatabase* plaindb = ZATHURA_PLAINDATABASE(database);
ZathuraPlainDatabasePrivate* priv = zathura_plaindatabase_get_instance_private(plaindb);
if (priv->bookmark_path && strcmp(priv->bookmark_path, path) == 0) {
if (priv->bookmarks != NULL) {
g_key_file_free(priv->bookmarks);
}
priv->bookmarks = zathura_db_read_key_file_from_file(priv->bookmark_path);
} else if (priv->history_path && strcmp(priv->history_path, path) == 0) {
if (priv->history != NULL) {
g_key_file_free(priv->history);
}
priv->history = zathura_db_read_key_file_from_file(priv->history_path);
}
g_free(path);
}
static void static void
plain_db_init(ZathuraPlainDatabase* db, const char* dir) plain_db_init(ZathuraPlainDatabase* db, const char* dir)
{ {
@ -555,27 +639,41 @@ plain_save_jumplist(zathura_database_t* db, const char* file, girara_list_t* jum
} }
static bool static bool
plain_set_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* plain_set_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
file_info) zathura_fileinfo_t* file_info)
{ {
ZathuraPlainDatabase* plaindb = ZATHURA_PLAINDATABASE(db); ZathuraPlainDatabase* plaindb = ZATHURA_PLAINDATABASE(db);
ZathuraPlainDatabasePrivate* priv = zathura_plaindatabase_get_instance_private(plaindb); ZathuraPlainDatabasePrivate* priv = zathura_plaindatabase_get_instance_private(plaindb);
if (priv->history == NULL || file_info == NULL || file == NULL) { if (priv->history == NULL || file_info == NULL || hash_sha256 == NULL || file == NULL) {
return false; return false;
} }
char* name = prepare_filename(file); char* name = prepare_filename(file);
g_key_file_set_integer(priv->history, name, KEY_PAGE, file_info->current_page); g_key_file_set_integer(priv->history, name, KEY_PAGE, file_info->current_page);
g_key_file_set_integer(priv->history, name, KEY_OFFSET, file_info->page_offset); g_key_file_set_integer(priv->history, name, KEY_OFFSET, file_info->page_offset);
g_key_file_set_double (priv->history, name, KEY_ZOOM, file_info->zoom); g_key_file_set_double (priv->history, name, KEY_ZOOM, file_info->zoom);
g_key_file_set_integer(priv->history, name, KEY_ROTATE, file_info->rotation); g_key_file_set_integer(priv->history, name, KEY_ROTATE, file_info->rotation);
g_key_file_set_integer(priv->history, name, KEY_PAGES_PER_ROW, file_info->pages_per_row); g_key_file_set_integer(priv->history, name, KEY_PAGES_PER_ROW, file_info->pages_per_row);
g_key_file_set_string(priv->history, name, KEY_FIRST_PAGE_COLUMN, file_info->first_page_column_list); g_key_file_set_string (priv->history, name, KEY_FIRST_PAGE_COLUMN, file_info->first_page_column_list);
g_key_file_set_boolean(priv->history, name, KEY_PAGE_RIGHT_TO_LEFT,file_info->page_right_to_left); g_key_file_set_boolean(priv->history, name, KEY_PAGE_RIGHT_TO_LEFT, file_info->page_right_to_left);
g_key_file_set_double (priv->history, name, KEY_POSITION_X, file_info->position_x); g_key_file_set_double (priv->history, name, KEY_POSITION_X, file_info->position_x);
g_key_file_set_double (priv->history, name, KEY_POSITION_Y, file_info->position_y); g_key_file_set_double (priv->history, name, KEY_POSITION_Y, file_info->position_y);
g_key_file_set_integer(priv->history, name, KEY_TIME, time(NULL)); g_key_file_set_integer(priv->history, name, KEY_TIME, time(NULL));
g_free(name);
name = prepare_hash_key(hash_sha256);
g_key_file_set_integer(priv->history, name, KEY_PAGE, file_info->current_page);
g_key_file_set_integer(priv->history, name, KEY_OFFSET, file_info->page_offset);
g_key_file_set_double (priv->history, name, KEY_ZOOM, file_info->zoom);
g_key_file_set_integer(priv->history, name, KEY_ROTATE, file_info->rotation);
g_key_file_set_integer(priv->history, name, KEY_PAGES_PER_ROW, file_info->pages_per_row);
g_key_file_set_string (priv->history, name, KEY_FIRST_PAGE_COLUMN, file_info->first_page_column_list);
g_key_file_set_boolean(priv->history, name, KEY_PAGE_RIGHT_TO_LEFT, file_info->page_right_to_left);
g_key_file_set_double (priv->history, name, KEY_POSITION_X, file_info->position_x);
g_key_file_set_double (priv->history, name, KEY_POSITION_Y, file_info->position_y);
g_key_file_set_integer(priv->history, name, KEY_TIME, time(NULL));
g_free(name); g_free(name);
@ -585,10 +683,10 @@ plain_set_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t*
} }
static bool static bool
plain_get_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* plain_get_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
file_info) zathura_fileinfo_t* file_info)
{ {
if (db == NULL || file == NULL || file_info == NULL) { if (db == NULL || file == NULL || hash_sha256 == NULL || file_info == NULL) {
return false; return false;
} }
@ -601,7 +699,11 @@ plain_get_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t*
char* name = prepare_filename(file); char* name = prepare_filename(file);
if (g_key_file_has_group(priv->history, name) == FALSE) { if (g_key_file_has_group(priv->history, name) == FALSE) {
g_free(name); g_free(name);
return false; name = prepare_hash_key(hash_sha256);
if (g_key_file_has_group(priv->history, name) == FALSE) {
g_free(name);
return false;
}
} }
file_info->current_page = g_key_file_get_integer(priv->history, name, KEY_PAGE, NULL); file_info->current_page = g_key_file_get_integer(priv->history, name, KEY_PAGE, NULL);
@ -631,154 +733,6 @@ plain_get_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t*
return true; return true;
} }
static bool
zathura_db_check_file(const char* path)
{
if (path == NULL) {
return false;
}
if (g_file_test(path, G_FILE_TEST_EXISTS) == false) {
FILE* file = fopen(path, "w");
if (file != NULL) {
fclose(file);
} else {
return false;
}
} else if (g_file_test(path, G_FILE_TEST_IS_REGULAR) == false) {
return false;
}
return true;
}
static GKeyFile*
zathura_db_read_key_file_from_file(const char* path)
{
if (path == NULL) {
return NULL;
}
/* open file */
FILE* file = fopen(path, "r+");
if (file == NULL) {
return NULL;
}
/* and lock it */
if (file_lock_set(fileno(file), FILE_LOCK_WRITE) != 0) {
fclose(file);
return NULL;
}
GKeyFile* key_file = g_key_file_new();
if (key_file == NULL) {
fclose(file);
return NULL;
}
/* read config file */
char* content = girara_file_read2(file);
fclose(file);
if (content == NULL) {
g_key_file_free(key_file);
return NULL;
}
/* parse config file */
size_t contentlen = strlen(content);
if (contentlen == 0) {
static const char dummy_content[] = "# nothing";
static const size_t dummy_len = sizeof(dummy_content) - 1;
free(content);
content = malloc(sizeof(char) * (dummy_len + 1));
if (content == NULL)
{
g_key_file_free(key_file);
return NULL;
}
g_strlcat(content, dummy_content, dummy_len + 1);
contentlen = dummy_len;
}
GError* error = NULL;
if (g_key_file_load_from_data(key_file, content, contentlen,
G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &error) ==
FALSE) {
if (error->code != 1) { /* ignore empty file */
free(content);
g_key_file_free(key_file);
g_error_free(error);
return NULL;
}
g_error_free(error);
}
free(content);
return key_file;
}
static void
zathura_db_write_key_file_to_file(const char* file, GKeyFile* key_file)
{
if (file == NULL || key_file == NULL) {
return;
}
gchar* content = g_key_file_to_data(key_file, NULL, NULL);
if (content == NULL) {
return;
}
/* open file */
int fd = open(file, O_RDWR | O_TRUNC);
if (fd == -1) {
g_free(content);
return;
}
if (file_lock_set(fd, FILE_LOCK_READ) != 0 || write(fd, content, strlen(content)) == 0) {
girara_error("Failed to write to %s", file);
}
close(fd);
g_free(content);
}
static void
cb_zathura_db_watch_file(GFileMonitor* UNUSED(monitor), GFile* file, GFile* UNUSED(other_file),
GFileMonitorEvent event, zathura_database_t* database)
{
if (event != G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT || database == NULL) {
return;
}
char* path = g_file_get_path(file);
if (path == NULL) {
return;
}
ZathuraPlainDatabase* plaindb = ZATHURA_PLAINDATABASE(database);
ZathuraPlainDatabasePrivate* priv = zathura_plaindatabase_get_instance_private(plaindb);
if (priv->bookmark_path && strcmp(priv->bookmark_path, path) == 0) {
if (priv->bookmarks != NULL) {
g_key_file_free(priv->bookmarks);
}
priv->bookmarks = zathura_db_read_key_file_from_file(priv->bookmark_path);
} else if (priv->history_path && strcmp(priv->history_path, path) == 0) {
if (priv->history != NULL) {
g_key_file_free(priv->history);
}
priv->history = zathura_db_read_key_file_from_file(priv->history_path);
}
g_free(path);
}
static girara_list_t* static girara_list_t*
plain_io_read(GiraraInputHistoryIO* db) plain_io_read(GiraraInputHistoryIO* db)
{ {
@ -911,3 +865,53 @@ plain_get_recent_files(zathura_database_t* db, int max, const char* basepath)
return result; return result;
} }
static void
zathura_database_interface_init(ZathuraDatabaseInterface* iface)
{
/* initialize interface */
iface->add_bookmark = plain_add_bookmark;
iface->remove_bookmark = plain_remove_bookmark;
iface->load_bookmarks = plain_load_bookmarks;
iface->load_jumplist = plain_load_jumplist;
iface->save_jumplist = plain_save_jumplist;
iface->set_fileinfo = plain_set_fileinfo;
iface->get_fileinfo = plain_get_fileinfo;
iface->get_recent_files = plain_get_recent_files;
}
static void
io_interface_init(GiraraInputHistoryIOInterface* iface)
{
/* initialize interface */
iface->append = plain_io_append;
iface->read = plain_io_read;
}
static void
zathura_plaindatabase_class_init(ZathuraPlainDatabaseClass* class)
{
/* override methods */
GObjectClass* object_class = G_OBJECT_CLASS(class);
object_class->dispose = plain_dispose;
object_class->finalize = plain_finalize;
object_class->set_property = plain_set_property;
g_object_class_install_property(object_class, PROP_PATH,
g_param_spec_string("path", "path", "path to directory where the bookmarks and history are locates",
NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
}
static void
zathura_plaindatabase_init(ZathuraPlainDatabase* db)
{
ZathuraPlainDatabasePrivate* priv = zathura_plaindatabase_get_instance_private(db);
priv->bookmark_path = NULL;
priv->bookmark_monitor = NULL;
priv->bookmarks = NULL;
priv->history_path = NULL;
priv->history_monitor = NULL;
priv->history = NULL;
priv->input_history_path = NULL;
}

View file

@ -11,7 +11,7 @@
#include "utils.h" #include "utils.h"
/* version of the database layout */ /* version of the database layout */
#define DATABASE_VERSION 1 #define DATABASE_VERSION 2
static char* static char*
sqlite3_column_text_dup(sqlite3_stmt* stmt, int col) sqlite3_column_text_dup(sqlite3_stmt* stmt, int col)
@ -31,68 +31,11 @@ G_DEFINE_TYPE_WITH_CODE(ZathuraSQLDatabase, zathura_sqldatabase, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(GIRARA_TYPE_INPUT_HISTORY_IO, io_interface_init) G_IMPLEMENT_INTERFACE(GIRARA_TYPE_INPUT_HISTORY_IO, io_interface_init)
G_ADD_PRIVATE(ZathuraSQLDatabase)) G_ADD_PRIVATE(ZathuraSQLDatabase))
static bool check_column(sqlite3* session, const char* table, const char* col, bool* result);
static bool check_column_type(sqlite3* session, const char* table, const char* col, const char* type, bool* result);
static void sqlite_finalize(GObject* object);
static bool sqlite_add_bookmark(zathura_database_t* db, const char* file, zathura_bookmark_t* bookmark);
static bool sqlite_remove_bookmark(zathura_database_t* db, const char* file, const char* id);
static girara_list_t* sqlite_load_bookmarks(zathura_database_t* db, const char* file);
static girara_list_t* sqlite_load_jumplist(zathura_database_t* db, const char* file);
static bool sqlite_save_jumplist(zathura_database_t* db, const char* file, girara_list_t* jumplist);
static bool sqlite_set_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* file_info);
static bool sqlite_get_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* file_info);
static void sqlite_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
static void sqlite_io_append(GiraraInputHistoryIO* db, const char*);
static girara_list_t* sqlite_io_read(GiraraInputHistoryIO* db);
static girara_list_t* sqlite_get_recent_files(zathura_database_t* db, int max, const char* basepath);
enum { enum {
PROP_0, PROP_0,
PROP_PATH PROP_PATH
}; };
static void
zathura_database_interface_init(ZathuraDatabaseInterface* iface)
{
/* initialize interface */
iface->add_bookmark = sqlite_add_bookmark;
iface->remove_bookmark = sqlite_remove_bookmark;
iface->load_bookmarks = sqlite_load_bookmarks;
iface->load_jumplist = sqlite_load_jumplist;
iface->save_jumplist = sqlite_save_jumplist;
iface->set_fileinfo = sqlite_set_fileinfo;
iface->get_fileinfo = sqlite_get_fileinfo;
iface->get_recent_files = sqlite_get_recent_files;
}
static void
io_interface_init(GiraraInputHistoryIOInterface* iface)
{
/* initialize interface */
iface->append = sqlite_io_append;
iface->read = sqlite_io_read;
}
static void
zathura_sqldatabase_class_init(ZathuraSQLDatabaseClass* class)
{
/* override methods */
GObjectClass* object_class = G_OBJECT_CLASS(class);
object_class->finalize = sqlite_finalize;
object_class->set_property = sqlite_set_property;
g_object_class_install_property(object_class, PROP_PATH,
g_param_spec_string("path", "path", "path to the database", NULL,
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
}
static void
zathura_sqldatabase_init(ZathuraSQLDatabase* db)
{
ZathuraSQLDatabasePrivate* priv = zathura_sqldatabase_get_instance_private(db);
priv->session = NULL;
}
zathura_database_t* zathura_database_t*
zathura_sqldatabase_new(const char* path) zathura_sqldatabase_new(const char* path)
{ {
@ -132,7 +75,7 @@ prepare_statement(sqlite3* session, const char* statement)
sqlite3_stmt* pp_stmt = NULL; sqlite3_stmt* pp_stmt = NULL;
if (sqlite3_prepare_v2(session, statement, -1, &pp_stmt, &pz_tail) != SQLITE_OK) { if (sqlite3_prepare_v2(session, statement, -1, &pp_stmt, &pz_tail) != SQLITE_OK) {
girara_error("Failed to prepare query: %s", statement); girara_error("Failed to prepare query: %s - %s", statement, sqlite3_errmsg(session));
sqlite3_finalize(pp_stmt); sqlite3_finalize(pp_stmt);
return NULL; return NULL;
} else if (pz_tail && *pz_tail != '\0') { } else if (pz_tail && *pz_tail != '\0') {
@ -160,6 +103,76 @@ sqlite_get_user_version(sqlite3* session)
return version; return version;
} }
static bool
check_column(sqlite3* session, const char* table, const char* col, bool* res)
{
/* we can't actually bind the argument with sqlite3_bind_text because
* sqlite3_prepare_v2 fails with "PRAGMA table_info(?);" */
char* query = sqlite3_mprintf("PRAGMA table_info(%Q);", table);
if (query == NULL) {
return false;
}
sqlite3_stmt* stmt = prepare_statement(session, query);
if (stmt == NULL) {
return false;
}
*res = false;
while (sqlite3_step(stmt) == SQLITE_ROW) {
if (strcmp((const char*) sqlite3_column_text(stmt, 1), col) == 0) {
*res = true;
break;
}
}
if (*res == false) {
girara_debug("Column '%s' in table '%s' NOT found.", col, table);
}
sqlite3_finalize(stmt);
sqlite3_free(query);
return true;
}
static bool
check_column_type(sqlite3* session, const char* table, const char* col, const char* type, bool* res)
{
/* we can't actually bind the argument with sqlite3_bind_text because
* sqlite3_prepare_v2 fails with "PRAGMA table_info(?);" */
char* query = sqlite3_mprintf("PRAGMA table_info(%Q);", table);
if (query == NULL) {
return false;
}
sqlite3_stmt* stmt = prepare_statement(session, query);
if (stmt == NULL) {
return false;
}
*res = false;
while (sqlite3_step(stmt) == SQLITE_ROW) {
if (strcmp((const char*) sqlite3_column_text(stmt, 1), col) == 0) {
if (strcmp((const char*) sqlite3_column_text(stmt, 2), type) == 0) {
*res = true;
break;
}
}
}
if (*res == false) {
girara_debug("Column '%s' in table '%s' has wrong type.", col, table);
}
sqlite3_finalize(stmt);
sqlite3_free(query);
return true;
}
static void static void
sqlite_db_check_layout(sqlite3* session, const int database_version, const bool new_db) sqlite_db_check_layout(sqlite3* session, const int database_version, const bool new_db)
{ {
@ -196,7 +209,8 @@ sqlite_db_check_layout(sqlite3* session, const int database_version, const bool
"position_x FLOAT," "position_x FLOAT,"
"position_y FLOAT," "position_y FLOAT,"
"time TIMESTAMP," "time TIMESTAMP,"
"page_right_to_left INTEGER" "page_right_to_left INTEGER,"
"sha256 BLOB"
");"; ");";
/* create history table */ /* create history table */
@ -235,6 +249,10 @@ sqlite_db_check_layout(sqlite3* session, const int database_version, const bool
static const char SQL_FILEINFO_ALTER5[] = static const char SQL_FILEINFO_ALTER5[] =
"ALTER TABLE fileinfo ADD COLUMN page_right_to_left INTEGER;"; "ALTER TABLE fileinfo ADD COLUMN page_right_to_left INTEGER;";
/* update fileinfo table (part 6) */
static const char SQL_FILEINFO_ALTER6[] =
"ALTER TABLE fileinfo ADD COLUMN sha256 BLOB;";
/* update bookmark table */ /* update bookmark table */
static const char SQL_BOOKMARK_ALTER[] = static const char SQL_BOOKMARK_ALTER[] =
"ALTER TABLE bookmarks ADD COLUMN hadj_ratio FLOAT;" "ALTER TABLE bookmarks ADD COLUMN hadj_ratio FLOAT;"
@ -342,6 +360,12 @@ sqlite_db_check_layout(sqlite3* session, const int database_version, const bool
} }
} }
} }
if (database_version < 2) {
if (sqlite3_exec(session, SQL_FILEINFO_ALTER6, NULL, 0, NULL) != SQLITE_OK) {
girara_warning("failed to update database table layout: sha256");
all_updates_ok = false;
}
}
/* update database version if all updates were successful */ /* update database version if all updates were successful */
if (all_updates_ok == true) { if (all_updates_ok == true) {
@ -396,76 +420,6 @@ sqlite_set_property(GObject* object, guint prop_id, const GValue* value, GParamS
} }
} }
static bool
check_column(sqlite3* session, const char* table, const char* col, bool* res)
{
/* we can't actually bind the argument with sqlite3_bind_text because
* sqlite3_prepare_v2 fails with "PRAGMA table_info(?);" */
char* query = sqlite3_mprintf("PRAGMA table_info(%Q);", table);
if (query == NULL) {
return false;
}
sqlite3_stmt* stmt = prepare_statement(session, query);
if (stmt == NULL) {
return false;
}
*res = false;
while (sqlite3_step(stmt) == SQLITE_ROW) {
if (strcmp((const char*) sqlite3_column_text(stmt, 1), col) == 0) {
*res = true;
break;
}
}
if (*res == false) {
girara_debug("Column '%s' in table '%s' NOT found.", col, table);
}
sqlite3_finalize(stmt);
sqlite3_free(query);
return true;
}
static bool
check_column_type(sqlite3* session, const char* table, const char* col, const char* type, bool* res)
{
/* we can't actually bind the argument with sqlite3_bind_text because
* sqlite3_prepare_v2 fails with "PRAGMA table_info(?);" */
char* query = sqlite3_mprintf("PRAGMA table_info(%Q);", table);
if (query == NULL) {
return false;
}
sqlite3_stmt* stmt = prepare_statement(session, query);
if (stmt == NULL) {
return false;
}
*res = false;
while (sqlite3_step(stmt) == SQLITE_ROW) {
if (strcmp((const char*) sqlite3_column_text(stmt, 1), col) == 0) {
if (strcmp((const char*) sqlite3_column_text(stmt, 2), type) == 0) {
*res = true;
break;
}
}
}
if (*res == false) {
girara_debug("Column '%s' in table '%s' has wrong type.", col, table);
}
sqlite3_finalize(stmt);
sqlite3_free(query);
return true;
}
static bool static bool
sqlite_add_bookmark(zathura_database_t* db, const char* file, sqlite_add_bookmark(zathura_database_t* db, const char* file,
zathura_bookmark_t* bookmark) zathura_bookmark_t* bookmark)
@ -706,10 +660,10 @@ sqlite_load_jumplist(zathura_database_t* db, const char* file)
} }
static bool static bool
sqlite_set_fileinfo(zathura_database_t* db, const char* file, sqlite_set_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
zathura_fileinfo_t* file_info) zathura_fileinfo_t* file_info)
{ {
if (db == NULL || file == NULL || file_info == NULL) { if (db == NULL || file == NULL || hash_sha256 == NULL || file_info == NULL) {
return false; return false;
} }
@ -717,24 +671,25 @@ sqlite_set_fileinfo(zathura_database_t* db, const char* file,
ZathuraSQLDatabasePrivate* priv = zathura_sqldatabase_get_instance_private(sqldb); ZathuraSQLDatabasePrivate* priv = zathura_sqldatabase_get_instance_private(sqldb);
static const char SQL_FILEINFO_SET[] = static const char SQL_FILEINFO_SET[] =
"REPLACE INTO fileinfo (file, page, offset, zoom, rotation, pages_per_row, first_page_column, position_x, position_y, time, page_right_to_left) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, DATETIME('now'), ?);"; "REPLACE INTO fileinfo (file, page, offset, zoom, rotation, pages_per_row, first_page_column, position_x, position_y, time, page_right_to_left, sha256) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, DATETIME('now'), ?, ?);";
sqlite3_stmt* stmt = prepare_statement(priv->session, SQL_FILEINFO_SET); sqlite3_stmt* stmt = prepare_statement(priv->session, SQL_FILEINFO_SET);
if (stmt == NULL) { if (stmt == NULL) {
return false; return false;
} }
if (sqlite3_bind_text(stmt, 1, file, -1, NULL) != SQLITE_OK || if (sqlite3_bind_text(stmt, 1, file, -1, SQLITE_STATIC) != SQLITE_OK ||
sqlite3_bind_int(stmt, 2, file_info->current_page) != SQLITE_OK || sqlite3_bind_int(stmt, 2, file_info->current_page) != SQLITE_OK ||
sqlite3_bind_int(stmt, 3, file_info->page_offset) != SQLITE_OK || sqlite3_bind_int(stmt, 3, file_info->page_offset) != SQLITE_OK ||
sqlite3_bind_double(stmt, 4, file_info->zoom) != SQLITE_OK || sqlite3_bind_double(stmt, 4, file_info->zoom) != SQLITE_OK ||
sqlite3_bind_int(stmt, 5, file_info->rotation) != SQLITE_OK || sqlite3_bind_int(stmt, 5, file_info->rotation) != SQLITE_OK ||
sqlite3_bind_int(stmt, 6, file_info->pages_per_row) != SQLITE_OK || sqlite3_bind_int(stmt, 6, file_info->pages_per_row) != SQLITE_OK ||
sqlite3_bind_text(stmt, 7, file_info->first_page_column_list, -1, NULL) sqlite3_bind_text(stmt, 7, file_info->first_page_column_list, -1, SQLITE_STATIC)
!= SQLITE_OK || != SQLITE_OK ||
sqlite3_bind_double(stmt, 8, file_info->position_x) != SQLITE_OK || sqlite3_bind_double(stmt, 8, file_info->position_x) != SQLITE_OK ||
sqlite3_bind_double(stmt, 9, file_info->position_y) != SQLITE_OK || sqlite3_bind_double(stmt, 9, file_info->position_y) != SQLITE_OK ||
sqlite3_bind_int(stmt, 10, file_info->page_right_to_left) != SQLITE_OK) { sqlite3_bind_int(stmt, 10, file_info->page_right_to_left) != SQLITE_OK ||
sqlite3_bind_blob(stmt, 11, hash_sha256, 32, SQLITE_STATIC) != SQLITE_OK) {
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
girara_error("Failed to bind arguments."); girara_error("Failed to bind arguments.");
return false; return false;
@ -747,10 +702,10 @@ sqlite_set_fileinfo(zathura_database_t* db, const char* file,
} }
static bool static bool
sqlite_get_fileinfo(zathura_database_t* db, const char* file, sqlite_get_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
zathura_fileinfo_t* file_info) zathura_fileinfo_t* file_info)
{ {
if (db == NULL || file == NULL || file_info == NULL) { if (db == NULL || file == NULL || hash_sha256 == NULL || file_info == NULL) {
return false; return false;
} }
@ -758,14 +713,15 @@ sqlite_get_fileinfo(zathura_database_t* db, const char* file,
ZathuraSQLDatabasePrivate* priv = zathura_sqldatabase_get_instance_private(sqldb); ZathuraSQLDatabasePrivate* priv = zathura_sqldatabase_get_instance_private(sqldb);
static const char SQL_FILEINFO_GET[] = static const char SQL_FILEINFO_GET[] =
"SELECT page, offset, zoom, rotation, pages_per_row, first_page_column, position_x, position_y, page_right_to_left FROM fileinfo WHERE file = ?;"; "SELECT page, offset, zoom, rotation, pages_per_row, first_page_column, position_x, position_y, page_right_to_left FROM fileinfo WHERE file = ? OR sha256 = ? ORDER BY time DESC LIMIT 1;";
sqlite3_stmt* stmt = prepare_statement(priv->session, SQL_FILEINFO_GET); sqlite3_stmt* stmt = prepare_statement(priv->session, SQL_FILEINFO_GET);
if (stmt == NULL) { if (stmt == NULL) {
return false; return false;
} }
if (sqlite3_bind_text(stmt, 1, file, -1, NULL) != SQLITE_OK) { if (sqlite3_bind_text(stmt, 1, file, -1, SQLITE_STATIC) != SQLITE_OK ||
sqlite3_bind_blob(stmt, 2, hash_sha256, 32, SQLITE_STATIC) != SQLITE_OK) {
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
girara_error("Failed to bind arguments."); girara_error("Failed to bind arguments.");
return false; return false;
@ -890,3 +846,45 @@ sqlite_get_recent_files(zathura_database_t* db, int max, const char* basepath)
sqlite3_finalize(stmt); sqlite3_finalize(stmt);
return list; return list;
} }
static void
zathura_database_interface_init(ZathuraDatabaseInterface* iface)
{
/* initialize interface */
iface->add_bookmark = sqlite_add_bookmark;
iface->remove_bookmark = sqlite_remove_bookmark;
iface->load_bookmarks = sqlite_load_bookmarks;
iface->load_jumplist = sqlite_load_jumplist;
iface->save_jumplist = sqlite_save_jumplist;
iface->set_fileinfo = sqlite_set_fileinfo;
iface->get_fileinfo = sqlite_get_fileinfo;
iface->get_recent_files = sqlite_get_recent_files;
}
static void
io_interface_init(GiraraInputHistoryIOInterface* iface)
{
/* initialize interface */
iface->append = sqlite_io_append;
iface->read = sqlite_io_read;
}
static void
zathura_sqldatabase_class_init(ZathuraSQLDatabaseClass* class)
{
/* override methods */
GObjectClass* object_class = G_OBJECT_CLASS(class);
object_class->finalize = sqlite_finalize;
object_class->set_property = sqlite_set_property;
g_object_class_install_property(object_class, PROP_PATH,
g_param_spec_string("path", "path", "path to the database", NULL,
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
}
static void
zathura_sqldatabase_init(ZathuraSQLDatabase* db)
{
ZathuraSQLDatabasePrivate* priv = zathura_sqldatabase_get_instance_private(db);
priv->session = NULL;
}

View file

@ -52,21 +52,21 @@ zathura_db_save_jumplist(zathura_database_t* db, const char* file, girara_list_t
} }
bool bool
zathura_db_set_fileinfo(zathura_database_t* db, const char* file, zathura_db_set_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
zathura_fileinfo_t* file_info) zathura_fileinfo_t* file_info)
{ {
g_return_val_if_fail(ZATHURA_IS_DATABASE(db) && file != NULL && file_info != NULL, false); g_return_val_if_fail(ZATHURA_IS_DATABASE(db) && file != NULL && hash_sha256 != NULL && file_info != NULL, false);
return ZATHURA_DATABASE_GET_INTERFACE(db)->set_fileinfo(db, file, file_info); return ZATHURA_DATABASE_GET_INTERFACE(db)->set_fileinfo(db, file, hash_sha256, file_info);
} }
bool bool
zathura_db_get_fileinfo(zathura_database_t* db, const char* file, zathura_db_get_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
zathura_fileinfo_t* file_info) zathura_fileinfo_t* file_info)
{ {
g_return_val_if_fail(ZATHURA_IS_DATABASE(db) && file != NULL && file_info != NULL, false); g_return_val_if_fail(ZATHURA_IS_DATABASE(db) && file != NULL && hash_sha256 != NULL && file_info != NULL, false);
return ZATHURA_DATABASE_GET_INTERFACE(db)->get_fileinfo(db, file, file_info); return ZATHURA_DATABASE_GET_INTERFACE(db)->get_fileinfo(db, file, hash_sha256, file_info);
} }
girara_list_t* girara_list_t*

View file

@ -4,6 +4,8 @@
#define DATABASE_H #define DATABASE_H
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h>
#include <girara/types.h> #include <girara/types.h>
#include <glib-object.h> #include <glib-object.h>
@ -48,9 +50,9 @@ struct _ZathuraDatabaseInterface
bool (*save_jumplist)(ZathuraDatabase* db, const char* file, girara_list_t* jumplist); bool (*save_jumplist)(ZathuraDatabase* db, const char* file, girara_list_t* jumplist);
bool (*set_fileinfo)(ZathuraDatabase* db, const char* file, zathura_fileinfo_t* file_info); bool (*set_fileinfo)(ZathuraDatabase* db, const char* file, const uint8_t* hash_sha256, zathura_fileinfo_t* file_info);
bool (*get_fileinfo)(ZathuraDatabase* db, const char* file, zathura_fileinfo_t* file_info); bool (*get_fileinfo)(ZathuraDatabase* db, const char* file, const uint8_t* hash_sha256, zathura_fileinfo_t* file_info);
girara_list_t* (*get_recent_files)(ZathuraDatabase* db, int max, const char* basepath); girara_list_t* (*get_recent_files)(ZathuraDatabase* db, int max, const char* basepath);
}; };
@ -115,20 +117,23 @@ bool zathura_db_save_jumplist(ZathuraDatabase* db, const char* file, girara_list
* *
* @param db The database instance * @param db The database instance
* @param file The file to which the file info belongs. * @param file The file to which the file info belongs.
* @param hash_sha256 The file's hash
* @param file_info The file info * @param file_info The file info
* @return true on success, false otherwise. * @return true on success, false otherwise.
*/ */
bool zathura_db_set_fileinfo(zathura_database_t* db, const char* file, bool zathura_db_set_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
zathura_fileinfo_t* file_info); zathura_fileinfo_t* file_info);
/* Get file info (last site, ...) from the database. /* Get file info (last site, ...) from the database. The info is first looked up by file and then by
* its hash.
* *
* @param db The database instance * @param db The database instance
* @param file The file to which the file info belongs. * @param file The file to which the file info belongs.
* @param hash_sha256 The file's hash
* @param file_info The file info * @param file_info The file info
* @return true on success, false otherwise. * @return true on success, false otherwise.
*/ */
bool zathura_db_get_fileinfo(zathura_database_t* db, const char* file, bool zathura_db_get_fileinfo(zathura_database_t* db, const char* file, const uint8_t* hash_sha256,
zathura_fileinfo_t* file_info); zathura_fileinfo_t* file_info);
/* Get a list of recent files from the database. The most recent file is listed /* Get a list of recent files from the database. The most recent file is listed

View file

@ -396,12 +396,13 @@ handle_method_call(GDBusConnection* UNUSED(connection),
const char* method; const char* method;
void (*handler)(zathura_t*, GVariant*, GDBusMethodInvocation*); void (*handler)(zathura_t*, GVariant*, GDBusMethodInvocation*);
bool needs_document; bool needs_document;
bool present_window;
} handlers[] = { } handlers[] = {
{ "OpenDocument", handle_open_document, false }, { "OpenDocument", handle_open_document, false, true },
{ "CloseDocument", handle_close_document, false }, { "CloseDocument", handle_close_document, false, false },
{ "GotoPage", handle_goto_page, true }, { "GotoPage", handle_goto_page, true, true },
{ "HighlightRects", handle_highlight_rects, true }, { "HighlightRects", handle_highlight_rects, true, true },
{ "SynctexView", handle_synctex_view, true } { "SynctexView", handle_synctex_view, true, true }
}; };
for (size_t idx = 0; idx != sizeof(handlers) / sizeof(handlers[0]); ++idx) { for (size_t idx = 0; idx != sizeof(handlers) / sizeof(handlers[0]); ++idx) {
@ -417,6 +418,11 @@ handle_method_call(GDBusConnection* UNUSED(connection),
} }
(*handlers[idx].handler)(priv->zathura, parameters, invocation); (*handlers[idx].handler)(priv->zathura, parameters, invocation);
if (handlers[idx].present_window == true && priv->zathura->ui.session->gtk.embed == 0) {
gtk_window_present(GTK_WINDOW(priv->zathura->ui.session->gtk.window));
}
return; return;
} }
} }

View file

@ -25,6 +25,7 @@ struct zathura_document_s {
char* file_path; /**< File path of the document */ char* file_path; /**< File path of the document */
char* uri; /**< URI of the document */ char* uri; /**< URI of the document */
char* basename; /**< Basename of the document */ char* basename; /**< Basename of the document */
uint8_t hash_sha256[32]; /**< SHA256 hash of the document */
const char* password; /**< Password of the document */ const char* password; /**< Password of the document */
unsigned int current_page_number; /**< Current page number */ unsigned int current_page_number; /**< Current page number */
unsigned int number_of_pages; /**< Number of pages */ unsigned int number_of_pages; /**< Number of pages */
@ -63,6 +64,39 @@ check_set_error(zathura_error_t* error, zathura_error_t code) {
} }
} }
static bool
hash_file_sha256(uint8_t* dst, const char* path)
{
FILE* f = fopen(path, "rb");
if (f == NULL) {
return false;
}
GChecksum* checksum = g_checksum_new(G_CHECKSUM_SHA256);
if (checksum == NULL) {
fclose(f);
return false;
}
uint8_t buf[BUFSIZ];
size_t read;
while ((read = fread(buf, 1, sizeof(buf), f)) != 0) {
g_checksum_update(checksum, buf, read);
}
if (ferror(f) != 0) {
g_checksum_free(checksum);
fclose(f);
return false;
}
fclose(f);
gsize dst_size = 32;
g_checksum_get_digest(checksum, dst, &dst_size);
g_checksum_free(checksum);
return true;
}
zathura_document_t* zathura_document_t*
zathura_document_open(zathura_t* zathura, const char* path, const char* uri, zathura_document_open(zathura_t* zathura, const char* path, const char* uri,
const char* password, zathura_error_t* error) const char* password, zathura_error_t* error)
@ -90,7 +124,7 @@ zathura_document_open(zathura_t* zathura, const char* path, const char* uri,
goto error_free; goto error_free;
} }
content_type = zathura_content_type_guess(zathura->content_type_context, real_path); content_type = zathura_content_type_guess(zathura->content_type_context, real_path, zathura_plugin_manager_get_content_types(zathura->plugins.manager));
if (content_type == NULL) { if (content_type == NULL) {
girara_error("Could not determine file type."); girara_error("Could not determine file type.");
check_set_error(error, ZATHURA_ERROR_UNKNOWN); check_set_error(error, ZATHURA_ERROR_UNKNOWN);
@ -98,7 +132,6 @@ zathura_document_open(zathura_t* zathura, const char* path, const char* uri,
} }
plugin = zathura_plugin_manager_get_plugin(zathura->plugins.manager, content_type); plugin = zathura_plugin_manager_get_plugin(zathura->plugins.manager, content_type);
if (plugin == NULL) { if (plugin == NULL) {
girara_error("Unknown file type: '%s'", content_type); girara_error("Unknown file type: '%s'", content_type);
check_set_error(error, ZATHURA_ERROR_UNKNOWN); check_set_error(error, ZATHURA_ERROR_UNKNOWN);
@ -123,10 +156,11 @@ zathura_document_open(zathura_t* zathura, const char* path, const char* uri,
if (document->uri == NULL) { if (document->uri == NULL) {
document->basename = g_file_get_basename(file); document->basename = g_file_get_basename(file);
} else { } else {
GFile *gf = g_file_new_for_uri(document->uri); GFile*gf = g_file_new_for_uri(document->uri);
document->basename = g_file_get_basename(gf); document->basename = g_file_get_basename(gf);
g_object_unref(gf); g_object_unref(gf);
} }
hash_file_sha256(document->hash_sha256, document->file_path);
document->password = password; document->password = password;
document->zoom = 1.0; document->zoom = 1.0;
document->plugin = plugin; document->plugin = plugin;
@ -249,6 +283,16 @@ zathura_document_get_path(zathura_document_t* document)
return document->file_path; return document->file_path;
} }
const uint8_t*
zathura_document_get_hash(zathura_document_t* document)
{
if (document == NULL) {
return NULL;
}
return document->hash_sha256;
}
const char* const char*
zathura_document_get_uri(zathura_document_t* document) zathura_document_get_uri(zathura_document_t* document)
{ {

View file

@ -4,6 +4,8 @@
#define DOCUMENT_H #define DOCUMENT_H
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h>
#include <girara/types.h> #include <girara/types.h>
#include "types.h" #include "types.h"
@ -54,6 +56,14 @@ ZATHURA_PLUGIN_API const char* zathura_document_get_uri(zathura_document_t* docu
*/ */
ZATHURA_PLUGIN_API const char* zathura_document_get_basename(zathura_document_t* document); ZATHURA_PLUGIN_API const char* zathura_document_get_basename(zathura_document_t* document);
/**
* Returns the SHA256 hash of the document
*
* @param document The document
* @return The SHA256 hash of the document
*/
ZATHURA_PLUGIN_API const uint8_t* zathura_document_get_hash(zathura_document_t* document);
/** /**
* Returns the password of the document * Returns the password of the document
* *

View file

@ -138,9 +138,7 @@ main(int argc, char* argv[])
bool forkback = false; bool forkback = false;
bool print_version = false; bool print_version = false;
int page_number = ZATHURA_PAGE_NUMBER_UNSPECIFIED; int page_number = ZATHURA_PAGE_NUMBER_UNSPECIFIED;
#ifdef WITH_SYNCTEX
int synctex_pid = -1; int synctex_pid = -1;
#endif
Window embed = 0; Window embed = 0;
GOptionEntry entries[] = { GOptionEntry entries[] = {
@ -154,11 +152,9 @@ main(int argc, char* argv[])
{ "page", 'P', 0, G_OPTION_ARG_INT, &page_number, _("Page number to go to"), "number" }, { "page", 'P', 0, G_OPTION_ARG_INT, &page_number, _("Page number to go to"), "number" },
{ "log-level", 'l', 0, G_OPTION_ARG_STRING, &loglevel, _("Log level (debug, info, warning, error)"), "level" }, { "log-level", 'l', 0, G_OPTION_ARG_STRING, &loglevel, _("Log level (debug, info, warning, error)"), "level" },
{ "version", 'v', 0, G_OPTION_ARG_NONE, &print_version, _("Print version information"), NULL }, { "version", 'v', 0, G_OPTION_ARG_NONE, &print_version, _("Print version information"), NULL },
#ifdef WITH_SYNCTEX
{ "synctex-editor-command", 'x', 0, G_OPTION_ARG_STRING, &synctex_editor, _("Synctex editor (forwarded to the synctex command)"), "cmd" }, { "synctex-editor-command", 'x', 0, G_OPTION_ARG_STRING, &synctex_editor, _("Synctex editor (forwarded to the synctex command)"), "cmd" },
{ "synctex-forward", '\0', 0, G_OPTION_ARG_STRING, &synctex_fwd, _("Move to given synctex position"), "position" }, { "synctex-forward", '\0', 0, G_OPTION_ARG_STRING, &synctex_fwd, _("Move to given synctex position"), "position" },
{ "synctex-pid", '\0', 0, G_OPTION_ARG_INT, &synctex_pid, _("Highlight given position in the given process"), "pid" }, { "synctex-pid", '\0', 0, G_OPTION_ARG_INT, &synctex_pid, _("Highlight given position in the given process"), "pid" },
#endif
{ "mode", '\0', 0, G_OPTION_ARG_STRING, &mode, _("Start in a non-default mode"), "mode" }, { "mode", '\0', 0, G_OPTION_ARG_STRING, &mode, _("Start in a non-default mode"), "mode" },
{ NULL, '\0', 0, 0, NULL, NULL, NULL } { NULL, '\0', 0, 0, NULL, NULL, NULL }
}; };
@ -203,6 +199,12 @@ main(int argc, char* argv[])
girara_debug("No instance found. Starting new one."); girara_debug("No instance found. Starting new one.");
} }
#else
if (synctex_fwd != NULL || synctex_editor != NULL || synctex_pid != -1) {
girara_error("Built without synctex support, but synctex specific option was specified.");
ret = -1;
goto free_and_ret;
}
#endif #endif
/* check mode */ /* check mode */

View file

@ -37,6 +37,7 @@ struct zathura_plugin_manager_s {
girara_list_t* plugins; /**< List of plugins */ girara_list_t* plugins; /**< List of plugins */
girara_list_t* path; /**< List of plugin paths */ girara_list_t* path; /**< List of plugin paths */
girara_list_t* type_plugin_mapping; /**< List of type -> plugin mappings */ girara_list_t* type_plugin_mapping; /**< List of type -> plugin mappings */
girara_list_t* content_types; /**< List of all registered content types */
}; };
static void plugin_add_mimetype(zathura_plugin_t* plugin, const char* mime_type); static void plugin_add_mimetype(zathura_plugin_t* plugin, const char* mime_type);
@ -56,10 +57,12 @@ zathura_plugin_manager_new(void)
plugin_manager->plugins = girara_list_new2((girara_free_function_t) zathura_plugin_free); plugin_manager->plugins = girara_list_new2((girara_free_function_t) zathura_plugin_free);
plugin_manager->path = girara_list_new2(g_free); plugin_manager->path = girara_list_new2(g_free);
plugin_manager->type_plugin_mapping = girara_list_new2((girara_free_function_t)zathura_type_plugin_mapping_free); plugin_manager->type_plugin_mapping = girara_list_new2((girara_free_function_t)zathura_type_plugin_mapping_free);
plugin_manager->content_types = girara_list_new2(g_free);
if (plugin_manager->plugins == NULL if (plugin_manager->plugins == NULL
|| plugin_manager->path == NULL || plugin_manager->path == NULL
|| plugin_manager->type_plugin_mapping == NULL) { || plugin_manager->type_plugin_mapping == NULL
|| plugin_manager->content_types == NULL) {
zathura_plugin_manager_free(plugin_manager); zathura_plugin_manager_free(plugin_manager);
return NULL; return NULL;
} }
@ -231,6 +234,16 @@ zathura_plugin_manager_get_plugins(zathura_plugin_manager_t* plugin_manager)
return plugin_manager->plugins; return plugin_manager->plugins;
} }
girara_list_t*
zathura_plugin_manager_get_content_types(zathura_plugin_manager_t* plugin_manager)
{
if (plugin_manager == NULL) {
return NULL;
}
return plugin_manager->content_types;
}
void void
zathura_plugin_manager_free(zathura_plugin_manager_t* plugin_manager) zathura_plugin_manager_free(zathura_plugin_manager_t* plugin_manager)
{ {
@ -238,17 +251,10 @@ zathura_plugin_manager_free(zathura_plugin_manager_t* plugin_manager)
return; return;
} }
if (plugin_manager->plugins != NULL) { girara_list_free(plugin_manager->content_types);
girara_list_free(plugin_manager->plugins); girara_list_free(plugin_manager->type_plugin_mapping);
} girara_list_free(plugin_manager->path);
girara_list_free(plugin_manager->plugins);
if (plugin_manager->path != NULL) {
girara_list_free(plugin_manager->path);
}
if (plugin_manager->type_plugin_mapping != NULL) {
girara_list_free(plugin_manager->type_plugin_mapping);
}
g_free(plugin_manager); g_free(plugin_manager);
} }
@ -308,6 +314,7 @@ plugin_mapping_new(zathura_plugin_manager_t* plugin_manager, const gchar* type,
mapping->type = g_strdup(type); mapping->type = g_strdup(type);
mapping->plugin = plugin; mapping->plugin = plugin;
girara_list_append(plugin_manager->type_plugin_mapping, mapping); girara_list_append(plugin_manager->type_plugin_mapping, mapping);
girara_list_append(plugin_manager->content_types, g_strdup(type));
return true; return true;
} }

View file

@ -57,6 +57,14 @@ zathura_plugin_t* zathura_plugin_manager_get_plugin(zathura_plugin_manager_t* pl
*/ */
girara_list_t* zathura_plugin_manager_get_plugins(zathura_plugin_manager_t* plugin_manager); girara_list_t* zathura_plugin_manager_get_plugins(zathura_plugin_manager_t* plugin_manager);
/**
* Return a list of supported content types
*
* @param plugin_manager The plugin manager
* @return List of plugins or NULL
*/
girara_list_t* zathura_plugin_manager_get_content_types(zathura_plugin_manager_t* plugin_manager);
/** /**
* Returns the plugin functions * Returns the plugin functions
* *

View file

@ -1395,8 +1395,9 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t*
} }
} else if (argument->n == ZOOM_SMOOTH) { } else if (argument->n == ZOOM_SMOOTH) {
const double dy = (event != NULL) ? event->y : 1.0; const double dy = (event != NULL) ? event->y : 1.0;
girara_debug("Increasing zoom by %0.2f.", zoom_step * dy - 1.0); const double z = pow(zoom_step, -dy);
zathura_document_set_zoom(zathura->document, old_zoom + zoom_step * dy); girara_debug("Increasing zoom by %0.2f.", z - 1.0);
zathura_document_set_zoom(zathura->document, old_zoom * z);
} else { } else {
girara_debug("Setting zoom to 1."); girara_debug("Setting zoom to 1.");
zathura_document_set_zoom(zathura->document, 1.0); zathura_document_set_zoom(zathura->document, 1.0);

View file

@ -52,7 +52,7 @@ file_valid_extension(zathura_t* zathura, const char* path)
return false; return false;
} }
char* content_type = zathura_content_type_guess(zathura->content_type_context, path); char* content_type = zathura_content_type_guess(zathura->content_type_context, path, NULL);
if (content_type == NULL) { if (content_type == NULL) {
return false; return false;
} }

View file

@ -1006,7 +1006,8 @@ document_open(zathura_t* zathura, const char* path, const char* uri, const char*
}; };
bool known_file = false; bool known_file = false;
if (zathura->database != NULL) { if (zathura->database != NULL) {
known_file = zathura_db_get_fileinfo(zathura->database, file_path, &file_info); const uint8_t* file_hash = zathura_document_get_hash(document);
known_file = zathura_db_get_fileinfo(zathura->database, file_path, file_hash, &file_info);
} }
/* set page offset */ /* set page offset */
@ -1360,6 +1361,7 @@ static void
save_fileinfo_to_db(zathura_t* zathura) save_fileinfo_to_db(zathura_t* zathura)
{ {
const char* path = zathura_document_get_path(zathura->document); const char* path = zathura_document_get_path(zathura->document);
const uint8_t* file_hash = zathura_document_get_hash(zathura->document);
zathura_fileinfo_t file_info = { zathura_fileinfo_t file_info = {
.current_page = zathura_document_get_current_page_number(zathura->document), .current_page = zathura_document_get_current_page_number(zathura->document),
@ -1381,7 +1383,7 @@ save_fileinfo_to_db(zathura_t* zathura)
&(file_info.page_right_to_left)); &(file_info.page_right_to_left));
/* save file info */ /* save file info */
zathura_db_set_fileinfo(zathura->database, path, &file_info); zathura_db_set_fileinfo(zathura->database, path, file_hash, &file_info);
/* save jumplist */ /* save jumplist */
zathura_db_save_jumplist(zathura->database, path, zathura->jumplist.list); zathura_db_save_jumplist(zathura->database, path, zathura->jumplist.list);