mirror of
https://git.pwmt.org/pwmt/zathura.git
synced 2024-12-28 22:06:02 +01:00
Document viewer
c9eef95492
Instead of guesstimating the values of the scrollbars adjustments after a change in zoom level, connect callbacks to the "changed" GtkAdjustment event (which is emitted when the bounds or page_size of the adjustment change, e.g. when the zoom level changes), and compute the new values from there. The previous adjustment values are tracked in zathura->ui.hadjustment and zathura->ui.vadjustment (and updated by signal handlers as well), so that the view's position can be maintained while zooming. cb_view_hadjustment_changed() centers the page horizontally if a "best-fit" or "width" zoom is being performed, or if "zoom-center" is true; otherwise, it keeps the view horizontally centered around the same area of the page. cb_view_vadjustment_changed() always keeps the view vertically centered around the same area of the page. Many thanks to Marwan Tanager for thoroughly reviewing the various stages of this patch, and actually coming up with a working solution. Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at> |
||
---|---|---|
po | ||
tests | ||
.gitignore | ||
adjustment.c | ||
adjustment.h | ||
AUTHORS | ||
bookmarks.c | ||
bookmarks.h | ||
callbacks.c | ||
callbacks.h | ||
commands.c | ||
commands.h | ||
common.mk | ||
completion.c | ||
completion.h | ||
config.c | ||
config.h | ||
config.mk | ||
database-plain.c | ||
database-plain.h | ||
database-sqlite.c | ||
database-sqlite.h | ||
database.c | ||
database.h | ||
document.c | ||
document.h | ||
Doxyfile | ||
glib-compat.h | ||
internal.h | ||
LICENSE | ||
links.c | ||
links.h | ||
macros.h | ||
main.c | ||
Makefile | ||
marks.c | ||
marks.h | ||
page-widget.c | ||
page-widget.h | ||
page.c | ||
page.h | ||
plugin-api.h | ||
plugin.c | ||
plugin.h | ||
print.c | ||
print.h | ||
README | ||
render.c | ||
render.h | ||
shortcuts.c | ||
shortcuts.h | ||
synctex.c | ||
synctex.h | ||
types.c | ||
types.h | ||
utils.c | ||
utils.h | ||
version.h.in | ||
zathura.1.rst | ||
zathura.c | ||
zathura.desktop | ||
zathura.h | ||
zathura.pc.in | ||
zathurarc.5.rst |
zathura - a document viewer =========================== zathura is a highly customizable and functional document viewer based on the girara user interface library and several document libraries. Requirements ------------ gtk2 (>= 2.28) girara sqlite3 (optional, >= 3.5.9) check (for tests) intltool python-docutils (optional, for man pages) libmagic from file(1) (optional, for mime-type detection) Please note that you need to have a working pkg-config installation and that the Makefile is only compatible with GNU make. If you don't have a working pkg-config installation please set the GTK_INC, GTK_LIB, GIRARA_INC, GIRARA_LIB, SQLITE_INC and SQLITE_LIB variables accordingly. And also note that rst2man from python-docutils is needed to build the man pages. If it is not installed, the man pages won't be built. If you don't want to build with support for sqlite databases, you can set WITH_SQLITE=0 and sqlite support won't be available. Please note that sqlite3 with meta data support is required, i.e. sqlite3 has to be built with SQLITE_ENABLE_COLUMN_METADATA defined. The use of magic to detect mime types is optional and can be disabled by setting WITH_MAGIC=0. If you pass these flags as a command line argument to make, you have to ensure to pass the same flags when executing the install target. Installation ------------ To build and install zathura: make install Uninstall: ---------- To delete zathura from your system, just type: make uninstall