├── .build.yml ├── .github ├── FUNDING.yml └── issue_template.md ├── .gitmodules ├── .travis.yml ├── .tx ├── config └── config_20221028215429.bak ├── AUTHORS ├── COPYING ├── ChangeLog ├── Makefile.am ├── NEWS ├── README.md ├── atril-document.h ├── atril-document.pc.in ├── atril-view.h ├── atril-view.pc.in ├── atril.pot ├── autogen.sh ├── backend ├── Makefile.am ├── backend.symbols ├── comics │ ├── Makefile.am │ ├── comics-document.c │ ├── comics-document.h │ ├── comicsdocument.atril-backend.desktop.in │ ├── ev-archive.c │ ├── ev-archive.h │ └── meson.build ├── djvu │ ├── Makefile.am │ ├── djvu-document-private.h │ ├── djvu-document.c │ ├── djvu-document.h │ ├── djvu-links.c │ ├── djvu-links.h │ ├── djvu-text-page.c │ ├── djvu-text-page.h │ ├── djvudocument.atril-backend.desktop.in │ └── meson.build ├── dvi │ ├── Makefile.am │ ├── cairo-device.c │ ├── cairo-device.h │ ├── dvi-document.c │ ├── dvi-document.h │ ├── dvidocument.atril-backend.desktop.in │ ├── fonts.c │ ├── fonts.h │ ├── mdvi-lib │ │ ├── Makefile.am │ │ ├── afmparse.c │ │ ├── afmparse.h │ │ ├── bitmap.c │ │ ├── bitmap.h │ │ ├── color.c │ │ ├── color.h │ │ ├── common.c │ │ ├── common.h │ │ ├── defaults.h │ │ ├── dviopcodes.h │ │ ├── dviread.c │ │ ├── files.c │ │ ├── font.c │ │ ├── fontmap.c │ │ ├── fontmap.h │ │ ├── fontsrch.c │ │ ├── gf.c │ │ ├── hash.c │ │ ├── hash.h │ │ ├── list.c │ │ ├── mdvi.h │ │ ├── meson.build │ │ ├── pagesel.c │ │ ├── paper.c │ │ ├── paper.h │ │ ├── pk.c │ │ ├── private.h │ │ ├── setup.c │ │ ├── sp-epsf.c │ │ ├── special.c │ │ ├── sysdeps.h │ │ ├── t1.c │ │ ├── tfm.c │ │ ├── tfmfile.c │ │ ├── tt.c │ │ ├── util.c │ │ └── vf.c │ └── meson.build ├── epub │ ├── Makefile.am │ ├── epub-document.c │ ├── epub-document.h │ ├── epubdocument.atril-backend.desktop.in │ ├── meson.build │ └── minizip │ │ ├── Makefile.am │ │ ├── ioapi.c │ │ ├── ioapi.h │ │ ├── meson.build │ │ ├── unzip.c │ │ └── unzip.h ├── meson.build ├── pdf │ ├── Makefile.am │ ├── ev-poppler.cc │ ├── ev-poppler.h │ ├── meson.build │ └── pdfdocument.atril-backend.desktop.in ├── pixbuf │ ├── Makefile.am │ ├── meson.build │ ├── pixbuf-document.c │ ├── pixbuf-document.h │ └── pixbufdocument.atril-backend.desktop.in ├── ps │ ├── Makefile.am │ ├── ev-spectre.c │ ├── ev-spectre.h │ ├── meson.build │ └── psdocument.atril-backend.desktop.in ├── tiff │ ├── Makefile.am │ ├── meson.build │ ├── tiff-document.c │ ├── tiff-document.h │ ├── tiff2ps.c │ ├── tiff2ps.h │ └── tiffdocument.atril-backend.desktop.in └── xps │ ├── Makefile.am │ ├── meson.build │ ├── xps-document.c │ ├── xps-document.h │ └── xpsdocument.atril-backend.desktop.in ├── configure.ac ├── cut-n-paste ├── Makefile.am ├── toolbar-editor │ ├── Makefile.am │ ├── egg-editable-toolbar.c │ ├── egg-editable-toolbar.h │ ├── egg-toolbar-editor.c │ ├── egg-toolbar-editor.h │ ├── egg-toolbars-model.c │ ├── egg-toolbars-model.h │ ├── eggmarshalers.list │ └── meson.build └── zoom-control │ ├── Makefile.am │ ├── ephy-zoom-action.c │ ├── ephy-zoom-action.h │ ├── ephy-zoom-control.c │ ├── ephy-zoom-control.h │ ├── ephy-zoom.c │ ├── ephy-zoom.h │ └── meson.build ├── data ├── Makefile.am ├── atril.1 ├── atril.appdata.xml.in.in ├── atril.desktop.in.in ├── hand-open.png ├── icons │ ├── 128x128 │ │ └── apps │ │ │ └── atril.png │ ├── 16x16 │ │ ├── actions │ │ │ ├── object-rotate-left.png │ │ │ ├── object-rotate-right.png │ │ │ ├── view-page-continuous.png │ │ │ ├── view-page-continuous.xcf │ │ │ ├── view-page-facing.png │ │ │ ├── view-page-facing.xcf │ │ │ ├── zoom-fit-height.png │ │ │ ├── zoom-fit-page.svg │ │ │ ├── zoom-fit-width.png │ │ │ ├── zoom-fit-width.svg │ │ │ ├── zoom.png │ │ │ └── zoom.svg │ │ ├── apps │ │ │ └── atril.png │ │ └── mimetypes │ │ │ └── x-office-presentation.png │ ├── 22x22 │ │ ├── actions │ │ │ ├── eye.png │ │ │ ├── object-rotate-left.png │ │ │ ├── object-rotate-right.png │ │ │ ├── view-page-continuous.png │ │ │ ├── view-page-continuous.xcf │ │ │ ├── view-page-facing.png │ │ │ ├── view-page-facing.xcf │ │ │ ├── zoom-fit-page.png │ │ │ ├── zoom-fit-page.svg │ │ │ ├── zoom-fit-width.png │ │ │ ├── zoom-fit-width.svg │ │ │ ├── zoom.png │ │ │ └── zoom.svg │ │ ├── apps │ │ │ └── atril.png │ │ └── mimetypes │ │ │ └── x-office-presentation.png │ ├── 24x24 │ │ ├── actions │ │ │ ├── object-rotate-left.png │ │ │ ├── object-rotate-right.png │ │ │ ├── stock_filters-invert.png │ │ │ ├── view-page-continuous.png │ │ │ ├── view-page-facing.png │ │ │ ├── zoom-fit-height.png │ │ │ ├── zoom-fit-width.png │ │ │ └── zoom.png │ │ ├── apps │ │ │ └── atril.png │ │ └── mimetypes │ │ │ └── x-office-presentation.png │ ├── 32x32 │ │ ├── actions │ │ │ ├── object-rotate-left.png │ │ │ ├── object-rotate-right.png │ │ │ ├── view-page-continuous.png │ │ │ └── view-page-facing.png │ │ └── mimetypes │ │ │ └── x-office-presentation.png │ ├── 48x48 │ │ ├── actions │ │ │ ├── close.png │ │ │ ├── resize-se.png │ │ │ ├── resize-sw.png │ │ │ ├── view-page-continuous.png │ │ │ └── view-page-facing.png │ │ └── apps │ │ │ └── atril.png │ ├── 64x64 │ │ └── apps │ │ │ └── atril.png │ ├── Makefile.am │ ├── meson.build │ └── scalable │ │ ├── actions │ │ ├── object-rotate-left.svg │ │ └── object-rotate-right.svg │ │ ├── apps │ │ └── atril.svg │ │ └── mimetypes │ │ └── x-office-presentation.svg ├── meson.build ├── org.mate.Atril.gschema.xml └── org.mate.atril.Daemon.service.in ├── git.mk ├── help ├── C │ ├── annotation-properties.page │ ├── annotations-delete.page │ ├── annotations-disabled.page │ ├── annotations-navigate.page │ ├── annotations-save.page │ ├── annotations.page │ ├── bookmarks.page │ ├── bug-filing.page │ ├── commandline.page │ ├── convertPostScript.page │ ├── convertSVG.page │ ├── convertpdf.page │ ├── default-settings.page │ ├── develop.page │ ├── documentation.page │ ├── duplex-npages.page │ ├── editing.page │ ├── figures │ │ ├── atril-trail.png │ │ └── atril.png │ ├── finding.page │ ├── formats.page │ ├── forms-saving.page │ ├── forms.page │ ├── index.page │ ├── introduction.page │ ├── invert-colors.page │ ├── legal-unported.xml │ ├── legal.xml │ ├── license.page │ ├── movingaround.page │ ├── noprint.page │ ├── openerror.page │ ├── opening.page │ ├── password.page │ ├── presentations.page │ ├── print-2sided.page │ ├── print-booklet.page │ ├── print-differentsize.page │ ├── print-pagescaling.page │ ├── printing.page │ ├── reload.page │ ├── shortcuts.page │ ├── singlesided-npages.page │ ├── synctex-beamer.page │ ├── synctex-compile.page │ ├── synctex-editors.page │ ├── synctex-search.page │ ├── synctex-support.page │ ├── synctex.page │ ├── textselection.page │ └── translate.page ├── ChangeLog ├── Makefile.am ├── af │ └── af.po ├── am │ └── am.po ├── ar │ └── ar.po ├── as │ └── as.po ├── ast │ └── ast.po ├── atril.omf.in ├── atril.pot ├── az │ └── az.po ├── be │ └── be.po ├── bg │ ├── bg.po │ └── figures │ │ └── atril_start_window.png ├── bn │ └── bn.po ├── bn_IN │ └── bn_IN.po ├── br │ └── br.po ├── bs │ └── bs.po ├── ca │ ├── ca.po │ └── figures │ │ └── atril_start_window.png ├── ca@valencia │ └── ca@valencia.po ├── cmn │ └── cmn.po ├── crh │ └── crh.po ├── cs │ ├── cs.po │ └── figures │ │ └── atril_start_window.png ├── cy │ └── cy.po ├── da │ └── da.po ├── de │ ├── de.po │ └── figures │ │ └── atril_start_window.png ├── dz │ └── dz.po ├── el │ ├── el.po │ └── figures │ │ └── atril_start_window.png ├── en_AU │ └── en_AU.po ├── en_CA │ └── en_CA.po ├── en_GB │ └── en_GB.po ├── eo │ └── eo.po ├── es │ ├── es.po │ └── figures │ │ └── atril_start_window.png ├── es_AR │ └── es_AR.po ├── es_CL │ └── es_CL.po ├── es_CO │ └── es_CO.po ├── et │ └── et.po ├── eu │ ├── eu.po │ └── figures │ │ └── atril_start_window.png ├── fa │ └── fa.po ├── fi │ ├── fi.po │ └── figures │ │ └── atril_start_window.png ├── fr │ ├── figures │ │ └── atril_start_window.png │ └── fr.po ├── fur │ └── fur.po ├── fy │ └── fy.po ├── ga │ └── ga.po ├── gl │ └── gl.po ├── gu │ └── gu.po ├── ha │ └── ha.po ├── he │ └── he.po ├── hi │ └── hi.po ├── hr │ └── hr.po ├── hu │ └── hu.po ├── hy │ └── hy.po ├── ia │ └── ia.po ├── id │ └── id.po ├── ie │ └── ie.po ├── ig │ └── ig.po ├── is │ └── is.po ├── it │ ├── figures │ │ └── atril_start_window.png │ └── it.po ├── ja │ ├── figures │ │ └── atril_start_window.png │ └── ja.po ├── ka │ └── ka.po ├── kab │ └── kab.po ├── kk │ └── kk.po ├── kn │ └── kn.po ├── ko │ └── ko.po ├── ks │ └── ks.po ├── ku │ └── ku.po ├── ku_IQ │ └── ku_IQ.po ├── ky │ └── ky.po ├── lt │ └── lt.po ├── lv │ └── lv.po ├── mai │ └── mai.po ├── meson.build ├── mg │ └── mg.po ├── mk │ └── mk.po ├── ml │ └── ml.po ├── mn │ └── mn.po ├── mr │ └── mr.po ├── ms │ └── ms.po ├── nb │ └── nb.po ├── nds │ └── nds.po ├── ne │ └── ne.po ├── nl │ ├── figures │ │ └── atril_start_window.png │ └── nl.po ├── nn │ └── nn.po ├── nso │ └── nso.po ├── oc │ └── oc.po ├── or │ └── or.po ├── pa │ └── pa.po ├── pl │ └── pl.po ├── ps │ └── ps.po ├── pt │ └── pt.po ├── pt_BR │ └── pt_BR.po ├── reference │ ├── Makefile.am │ ├── libdocument │ │ ├── Makefile.am │ │ ├── libatrildocument-docs.xml │ │ ├── libatrildocument-overrides.txt │ │ ├── libatrildocument-sections.txt │ │ ├── libatrildocument.types │ │ ├── meson.build │ │ └── version.xml.in │ ├── libview │ │ ├── Makefile.am │ │ ├── libatrilview-docs.xml │ │ ├── libatrilview-overrides.txt │ │ ├── libatrilview-sections.txt │ │ ├── libatrilview.types │ │ ├── meson.build │ │ └── version.xml.in │ └── shell │ │ ├── Makefile.am │ │ ├── atril-docs.xml │ │ ├── atril-overrides.txt │ │ ├── atril-sections.txt │ │ ├── atril.types │ │ ├── meson.build │ │ └── version.xml.in ├── ro │ └── ro.po ├── ru │ └── ru.po ├── rw │ └── rw.po ├── si │ └── si.po ├── sk │ └── sk.po ├── sl │ └── sl.po ├── sq │ └── sq.po ├── sr │ └── sr.po ├── sr@latin │ └── sr@latin.po ├── sv │ ├── figures │ │ └── atril_start_window.png │ └── sv.po ├── ta │ └── ta.po ├── te │ └── te.po ├── th │ └── th.po ├── tr │ └── tr.po ├── ug │ └── ug.po ├── uk │ ├── figures │ │ └── atril_start_window.png │ └── uk.po ├── ur │ └── ur.po ├── uz │ └── uz.po ├── vi │ └── vi.po ├── wa │ └── wa.po ├── xh │ └── xh.po ├── yo │ └── yo.po ├── zh_CN │ └── zh_CN.po ├── zh_HK │ └── zh_HK.po ├── zh_TW │ └── zh_TW.po └── zu │ └── zu.po ├── install-scripts ├── meson.build ├── meson_install_schemas.py ├── meson_update_icon_cache.py └── meson_update_mime_database.py ├── libdocument ├── Makefile.am ├── ev-annotation.c ├── ev-annotation.h ├── ev-async-renderer.c ├── ev-async-renderer.h ├── ev-attachment.c ├── ev-attachment.h ├── ev-backends-manager.c ├── ev-backends-manager.h ├── ev-debug.c ├── ev-debug.h ├── ev-document-annotations.c ├── ev-document-annotations.h ├── ev-document-attachments.c ├── ev-document-attachments.h ├── ev-document-factory.c ├── ev-document-factory.h ├── ev-document-find.c ├── ev-document-find.h ├── ev-document-fonts.c ├── ev-document-fonts.h ├── ev-document-forms.c ├── ev-document-forms.h ├── ev-document-images.c ├── ev-document-images.h ├── ev-document-info.h ├── ev-document-layers.c ├── ev-document-layers.h ├── ev-document-links.c ├── ev-document-links.h ├── ev-document-misc.c ├── ev-document-misc.h ├── ev-document-print.c ├── ev-document-print.h ├── ev-document-security.c ├── ev-document-security.h ├── ev-document-text.c ├── ev-document-text.h ├── ev-document-thumbnails.c ├── ev-document-thumbnails.h ├── ev-document-transition.c ├── ev-document-transition.h ├── ev-document-type-builtins.c.template ├── ev-document-type-builtins.h.template ├── ev-document.c ├── ev-document.h ├── ev-file-exporter.c ├── ev-file-exporter.h ├── ev-file-helpers.c ├── ev-file-helpers.h ├── ev-form-field.c ├── ev-form-field.h ├── ev-image.c ├── ev-image.h ├── ev-init.c ├── ev-init.h ├── ev-layer.c ├── ev-layer.h ├── ev-link-action.c ├── ev-link-action.h ├── ev-link-dest.c ├── ev-link-dest.h ├── ev-link.c ├── ev-link.h ├── ev-macros.h ├── ev-mapping-list.c ├── ev-mapping-list.h ├── ev-module.c ├── ev-module.h ├── ev-page.c ├── ev-page.h ├── ev-render-context.c ├── ev-render-context.h ├── ev-selection.c ├── ev-selection.h ├── ev-transition-effect.c ├── ev-transition-effect.h ├── ev-version.h.in └── meson.build ├── libmisc ├── Makefile.am ├── ev-page-action-widget.c ├── ev-page-action-widget.h ├── ev-page-action.c ├── ev-page-action.h └── meson.build ├── libview ├── Makefile.am ├── ev-annotation-window.c ├── ev-annotation-window.h ├── ev-document-model.c ├── ev-document-model.h ├── ev-form-field-accessible.c ├── ev-form-field-accessible.h ├── ev-image-accessible.c ├── ev-image-accessible.h ├── ev-job-scheduler.c ├── ev-job-scheduler.h ├── ev-jobs.c ├── ev-jobs.h ├── ev-link-accessible.c ├── ev-link-accessible.h ├── ev-page-accessible.c ├── ev-page-accessible.h ├── ev-page-cache.c ├── ev-page-cache.h ├── ev-pixbuf-cache.c ├── ev-pixbuf-cache.h ├── ev-print-operation.c ├── ev-print-operation.h ├── ev-stock-icons.c ├── ev-stock-icons.h ├── ev-timeline.c ├── ev-timeline.h ├── ev-transition-animation.c ├── ev-transition-animation.h ├── ev-view-accessible.c ├── ev-view-accessible.h ├── ev-view-cursor.c ├── ev-view-cursor.h ├── ev-view-marshal.list ├── ev-view-presentation.c ├── ev-view-presentation.h ├── ev-view-private.h ├── ev-view-type-builtins.c.template ├── ev-view-type-builtins.h.template ├── ev-view.c ├── ev-view.h ├── ev-web-view.c ├── ev-web-view.h └── meson.build ├── makepot ├── meson.build ├── meson_options.txt ├── po ├── ChangeLog ├── LINGUAS ├── Makevars ├── POTFILES.in ├── POTFILES.skip ├── af.po ├── am.po ├── ar.po ├── as.po ├── ast.po ├── az.po ├── be.po ├── bg.po ├── bn.po ├── bn_IN.po ├── br.po ├── bs.po ├── ca.po ├── ca@valencia.po ├── cmn.po ├── crh.po ├── cs.po ├── cy.po ├── da.po ├── de.po ├── de_CH.po ├── dz.po ├── el.po ├── en_AU.po ├── en_CA.po ├── en_GB.po ├── eo.po ├── es.po ├── es_AR.po ├── es_CL.po ├── es_CO.po ├── es_CR.po ├── es_DO.po ├── es_EC.po ├── es_ES.po ├── es_MX.po ├── es_NI.po ├── es_PA.po ├── es_PE.po ├── es_PR.po ├── es_SV.po ├── es_UY.po ├── es_VE.po ├── et.po ├── eu.po ├── fa.po ├── fi.po ├── fr.po ├── fr_CA.po ├── frp.po ├── fur.po ├── fy.po ├── ga.po ├── gl.po ├── gnome-copyrights.txt ├── gu.po ├── ha.po ├── he.po ├── hi.po ├── hr.po ├── hu.po ├── hy.po ├── ia.po ├── id.po ├── ie.po ├── ig.po ├── is.po ├── it.po ├── ja.po ├── jv.po ├── ka.po ├── kab.po ├── kk.po ├── kn.po ├── ko.po ├── ks.po ├── ku.po ├── ku_IQ.po ├── ky.po ├── li.po ├── lt.po ├── lv.po ├── mai.po ├── meson.build ├── mg.po ├── mi.po ├── mk.po ├── ml.po ├── mn.po ├── mr.po ├── ms.po ├── nan.po ├── nb.po ├── nds.po ├── ne.po ├── nl.po ├── nn.po ├── nqo.po ├── nso.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── pms.po ├── ps.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── rw.po ├── sc.po ├── si.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── th.po ├── tk.po ├── tr.po ├── tt.po ├── tzm.po ├── ug.po ├── uk.po ├── ur.po ├── ur_PK.po ├── uz.po ├── vi.po ├── wa.po ├── xh.po ├── yi.po ├── yo.po ├── zh_CN.po ├── zh_HK.po ├── zh_TW.po └── zu.po ├── previewer ├── Makefile.am ├── atril-previewer.1 ├── ev-previewer-window.c ├── ev-previewer-window.h ├── ev-previewer.c ├── meson.build ├── previewer-ui.xml └── previewer.gresource.xml ├── properties ├── Makefile.am ├── ev-properties-main.c ├── ev-properties-view.c ├── ev-properties-view.h ├── libatril-properties-page.caja-extension.desktop.in.in └── meson.build ├── shell ├── Makefile.am ├── atril-toolbar.xml ├── atril-ui.xml ├── atril.about ├── atril.css ├── atril.gresource.xml ├── eggfindbar.c ├── eggfindbar.h ├── ev-annotation-properties-dialog.c ├── ev-annotation-properties-dialog.h ├── ev-application.c ├── ev-application.h ├── ev-bookmark-action.c ├── ev-bookmark-action.h ├── ev-bookmarks.c ├── ev-bookmarks.h ├── ev-daemon-gdbus.xml ├── ev-daemon.c ├── ev-file-monitor.c ├── ev-file-monitor.h ├── ev-gdbus.xml ├── ev-history.c ├── ev-history.h ├── ev-keyring.c ├── ev-keyring.h ├── ev-loading-message.c ├── ev-loading-message.h ├── ev-media-player-keys.c ├── ev-media-player-keys.h ├── ev-message-area.c ├── ev-message-area.h ├── ev-metadata.c ├── ev-metadata.h ├── ev-navigation-action-widget.c ├── ev-navigation-action-widget.h ├── ev-navigation-action.c ├── ev-navigation-action.h ├── ev-open-recent-action.c ├── ev-open-recent-action.h ├── ev-password-view.c ├── ev-password-view.h ├── ev-progress-message-area.c ├── ev-progress-message-area.h ├── ev-properties-dialog.c ├── ev-properties-dialog.h ├── ev-properties-fonts.c ├── ev-properties-fonts.h ├── ev-properties-license.c ├── ev-properties-license.h ├── ev-sidebar-annotations.c ├── ev-sidebar-annotations.h ├── ev-sidebar-attachments.c ├── ev-sidebar-attachments.h ├── ev-sidebar-bookmarks.c ├── ev-sidebar-bookmarks.h ├── ev-sidebar-layers.c ├── ev-sidebar-layers.h ├── ev-sidebar-links.c ├── ev-sidebar-links.h ├── ev-sidebar-page.c ├── ev-sidebar-page.h ├── ev-sidebar-thumbnails.c ├── ev-sidebar-thumbnails.h ├── ev-sidebar.c ├── ev-sidebar.h ├── ev-utils.c ├── ev-utils.h ├── ev-window-title.c ├── ev-window-title.h ├── ev-window.c ├── ev-window.h ├── main.c └── meson.build ├── subprojects └── mate-submodules.wrap ├── test ├── Makefile.am ├── meson.build ├── test-encrypt.pdf ├── test-links.pdf ├── test-mime.bin ├── test-page-labels.pdf ├── test1.py ├── test2.py ├── test3.py ├── test4.py ├── test5.py ├── test6.py ├── test7.py ├── testBookmarksMenu.py ├── testCommon.py ├── testEditMenu.py ├── testEncryptedFile.py ├── testFileMenu.py ├── testFileReloading.py ├── testGoMenu.py ├── testHelpMenu.py ├── testWrongFileExtension.py └── testZoom.py ├── thumbnailer ├── Makefile.am ├── atril-thumbnailer.1 ├── atril-thumbnailer.c ├── atril.thumbnailer.in └── meson.build └── update-authors.pl /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | custom: https://mate-desktop.org/donate/ 10 | -------------------------------------------------------------------------------- /.github/issue_template.md: -------------------------------------------------------------------------------- 1 | #### Expected behaviour 2 | 3 | 4 | #### Actual behaviour 5 | 6 | 7 | #### Steps to reproduce the behaviour 8 | 9 | 10 | #### MATE general version 11 | 12 | 13 | #### Package version 14 | 15 | 16 | #### Linux Distribution 17 | 18 | 19 | #### Link to bugreport of your Distribution (requirement) 20 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "cut-n-paste/smclient"] 2 | path = cut-n-paste/smclient 3 | url = https://github.com/mate-desktop/mate-submodules.git 4 | branch = master 5 | ignore = untracked 6 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [o:mate:p:MATE:r:master--atril] 5 | file_filter = po/.po 6 | source_file = atril.pot 7 | source_lang = en 8 | type = PO 9 | minimum_perc = 2 10 | 11 | [o:mate:p:MATE:r:master--atril-user-guide] 12 | file_filter = help//.po 13 | source_file = help/atril.pot 14 | source_lang = en 15 | type = PO 16 | minimum_perc = 2 17 | 18 | -------------------------------------------------------------------------------- /.tx/config_20221028215429.bak: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [MATE.master--atril] 5 | file_filter = po/.po 6 | source_file = atril.pot 7 | source_lang = en 8 | type = PO 9 | minimum_perc = 2 10 | 11 | [MATE.master--atril-user-guide] 12 | file_filter = help//.po 13 | source_file = help/atril.pot 14 | source_lang = en 15 | type = PO 16 | minimum_perc = 2 17 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | The Xpdf software and documentation are 2 | Copyright 1996-2003 Glyph & Cog, LLC. 3 | 4 | Martin Kretzschmar 5 | Marco Pesenti Gritti 6 | Jonathan Blandford 7 | Nickolay V. Shmyrev 8 | Bryan Clark 9 | Carlos Garcia Campos 10 | Wouter Bolsterlee 11 | 12 | Perberos 13 | 14 | And many others 15 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | The ChangeLog is auto-generated when releasing. If you are seeing this, use 2 | 'git log' for a detailed list of changes. 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Atril 2 | ================================================== 3 | Atril is a simple multi-page document viewer. It can display and print PostScript (PS), Encapsulated PostScript (EPS), DJVU, DVI, XPS and Portable Document Format (PDF) files. When supported by the document, it also allows searching for text, copying text to the clipboard, hypertext navigation, and table-of-contents bookmarks. Atril is a fork of Evince. 4 | 5 | This software is licensed under the GNU GPL. For more on the license, see COPYING. 6 | 7 | Atril Requirements 8 | ================================================== 9 | * [MATE Platform libraries](https://github.com/mate-desktop/mate-desktop/) 10 | 11 | * [Poppler](https://poppler.freedesktop.org/) for PDF viewing 12 | 13 | * [GhostScript](https://www.ghostscript.com/) for PostScript viewing 14 | 15 | Atril Optional Backend Libraries 16 | ================================================== 17 | * [DjVuLibre](http://djvu.sourceforge.net/) for DjVu viewing 18 | 19 | * [libarchive](https://www.libarchive.org/) for viewing CBR comics 20 | 21 | * [libgxps](https://wiki.gnome.org/Projects/libgxps) for XPS documents 22 | 23 | Atril Requirements to Run Tests 24 | ================================================== 25 | * [python-dogtail](https://gitlab.com/dogtail/dogtail) 26 | * [python-pyatspi2](https://download.gnome.org/sources/pyatspi/) 27 | * git installed on your system 28 | 29 | Atril Compilation 30 | ================================================== 31 | * git submodule init 32 | * git submodule update --remote --recursive 33 | * ./autogen.sh 34 | * make 35 | -------------------------------------------------------------------------------- /atril-document.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/atril/@EV_API_VERSION@ 5 | backenddir=@libdir@/atril/@EV_BINARY_VERSION@/backends 6 | 7 | Name: Atril Document 8 | Description: MATE document viewer backend library 9 | Version: @VERSION@ 10 | Requires: gio-2.0 >= @GLIB_REQUIRED@ gtk+-3.0 >= @GTK_REQUIRED@ 11 | Libs: -L${libdir} -latrildocument 12 | Cflags: -I${includedir} 13 | -------------------------------------------------------------------------------- /atril-view.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2009 Christian Persch 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU Lesser General Public License as published by the 6 | * Free Software Foundation; either version 2.1 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef ATRIL_VIEW_H 20 | #define ATRIL_VIEW_H 21 | 22 | #define __EV_ATRIL_VIEW_H_INSIDE__ 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | #undef __EV_ATRIL_VIEW_H_INSIDE__ 34 | 35 | #endif /* !ATRIL_VIEW_H */ 36 | -------------------------------------------------------------------------------- /atril-view.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/atril/@EV_API_VERSION@ 5 | 6 | Name: Atril View 7 | Description: MATE document viewer view library 8 | Version: @VERSION@ 9 | Requires: atril-document-@EV_API_VERSION@ = @VERSION@ gthread-2.0 10 | Libs: -L${libdir} -latrilview 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Run this to generate all the initial makefiles, etc. 3 | 4 | srcdir=`dirname $0` 5 | test -z "$srcdir" && srcdir=. 6 | 7 | PKG_NAME="atril" 8 | 9 | (test -f $srcdir/configure.ac) || { 10 | echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" 11 | echo " top-level $PKG_NAME directory" 12 | exit 1 13 | } 14 | 15 | which mate-autogen || { 16 | echo "You need to install mate-common" 17 | exit 1 18 | } 19 | 20 | which yelp-build || { 21 | echo "You need to install yelp-tools" 22 | exit 1 23 | } 24 | 25 | REQUIRED_AUTOMAKE_VERSION=1.10 26 | REQUIRED_GTK_DOC_VERSION=1.13 27 | 28 | . mate-autogen 29 | 30 | -------------------------------------------------------------------------------- /backend/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = 2 | 3 | # Backends 4 | 5 | if ENABLE_PDF 6 | SUBDIRS += pdf 7 | endif 8 | 9 | if ENABLE_EPUB 10 | SUBDIRS += epub 11 | endif 12 | 13 | if ENABLE_PS 14 | SUBDIRS += ps 15 | endif 16 | 17 | if ENABLE_PIXBUF 18 | SUBDIRS += pixbuf 19 | endif 20 | 21 | if ENABLE_DJVU 22 | SUBDIRS += djvu 23 | endif 24 | 25 | if ENABLE_TIFF 26 | SUBDIRS += tiff 27 | endif 28 | 29 | if ENABLE_DVI 30 | SUBDIRS += dvi 31 | endif 32 | 33 | if ENABLE_COMICS 34 | SUBDIRS += comics 35 | endif 36 | 37 | if ENABLE_XPS 38 | SUBDIRS += xps 39 | endif 40 | 41 | EXTRA_DIST = \ 42 | backend.symbols 43 | 44 | -include $(top_srcdir)/git.mk 45 | -------------------------------------------------------------------------------- /backend/backend.symbols: -------------------------------------------------------------------------------- 1 | register_atril_backend 2 | -------------------------------------------------------------------------------- /backend/comics/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(LIB_CFLAGS) \ 8 | $(WARN_CFLAGS) \ 9 | $(DISABLE_DEPRECATED) 10 | 11 | backend_LTLIBRARIES = libcomicsdocument.la 12 | 13 | libcomicsdocument_la_SOURCES = \ 14 | comics-document.c \ 15 | comics-document.h \ 16 | ev-archive.c \ 17 | ev-archive.h 18 | 19 | libcomicsdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 20 | libcomicsdocument_la_LIBADD = \ 21 | $(top_builddir)/libdocument/libatrildocument.la \ 22 | $(BACKEND_LIBS) \ 23 | $(COMICS_LIBS) \ 24 | $(LIB_LIBS) 25 | 26 | backend_in_files = comicsdocument.atril-backend.desktop.in 27 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 28 | $(backend_DATA): $(backend_in_files) 29 | if USE_NLS 30 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 31 | else 32 | $(AM_V_GEN) cp -f $< $@ 33 | endif 34 | 35 | EXTRA_DIST = $(backend_in_files) 36 | 37 | CLEANFILES = $(backend_DATA) 38 | 39 | -include $(top_srcdir)/git.mk 40 | -------------------------------------------------------------------------------- /backend/comics/comics-document.h: -------------------------------------------------------------------------------- 1 | /* comics-document.h: Implementation of EvDocument for comic book archives 2 | * Copyright (C) 2005, Teemu Tervo 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "ev-macros.h" 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define COMICS_TYPE_DOCUMENT (comics_document_get_type ()) 27 | #define COMICS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COMICS_TYPE_DOCUMENT, ComicsDocument)) 28 | #define COMICS_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COMICS_TYPE_DOCUMENT)) 29 | 30 | typedef struct _ComicsDocument ComicsDocument; 31 | 32 | GType comics_document_get_type (void) G_GNUC_CONST; 33 | GType register_atril_backend (GTypeModule *module); 34 | 35 | 36 | G_END_DECLS 37 | 38 | -------------------------------------------------------------------------------- /backend/comics/comicsdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=comicsdocument 3 | TypeDescription=Comic Books 4 | MimeType=application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;application/vnd.comicbook+zip;application/vnd.comicbook-rar; 5 | -------------------------------------------------------------------------------- /backend/comics/meson.build: -------------------------------------------------------------------------------- 1 | backend_desktop_conf = configuration_data() 2 | backend_desktop_conf.set('COMICS_MIME_TYPES', comic_mimetypes) 3 | 4 | backend_desktop = configure_file( 5 | input: 'comicsdocument.atril-backend.in', 6 | output: 'comicsdocument.atril-backend', 7 | configuration: backend_desktop_conf, 8 | install: true, 9 | install_dir: backendsdir, 10 | ) 11 | 12 | comics_sources = files( 13 | 'comics-document.c', 14 | 'ev-archive.c', 15 | ) 16 | 17 | comics_deps = [ 18 | cairo, 19 | glib, 20 | gtk, 21 | libarchive_dep, 22 | ] 23 | 24 | shared_module( 25 | 'comicsdocument', 26 | comics_sources, 27 | link_with: [libdocument], 28 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 29 | include_directories: include_dirs, 30 | dependencies: comics_deps, 31 | install: true, 32 | install_dir: backendsdir 33 | ) 34 | 35 | 36 | 37 | test_name = 'test-ev-archive' 38 | 39 | test_sources = files( 40 | 'ev-archive.c', 41 | 'test-ev-archive.c', 42 | ) 43 | 44 | executable( 45 | test_name, 46 | test_sources, 47 | include_directories: include_dirs, 48 | dependencies: comics_deps, 49 | ) 50 | -------------------------------------------------------------------------------- /backend/djvu/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(DJVU_CFLAGS) \ 8 | $(WARN_CFLAGS) \ 9 | $(DISABLE_DEPRECATED) 10 | 11 | backend_LTLIBRARIES = libdjvudocument.la 12 | 13 | libdjvudocument_la_SOURCES = \ 14 | djvu-document.c \ 15 | djvu-document.h \ 16 | djvu-document-private.h \ 17 | djvu-links.c \ 18 | djvu-links.h \ 19 | djvu-text-page.c \ 20 | djvu-text-page.h 21 | 22 | libdjvudocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 23 | libdjvudocument_la_LIBADD = \ 24 | $(top_builddir)/libdocument/libatrildocument.la \ 25 | $(BACKEND_LIBS) \ 26 | $(DJVU_LIBS) 27 | 28 | backend_in_files = djvudocument.atril-backend.desktop.in 29 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 30 | $(backend_DATA): $(backend_in_files) 31 | if USE_NLS 32 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 33 | else 34 | $(AM_V_GEN) cp -f $< $@ 35 | endif 36 | 37 | EXTRA_DIST = $(backend_in_files) 38 | 39 | CLEANFILES = $(backend_DATA) 40 | 41 | -include $(top_srcdir)/git.mk 42 | -------------------------------------------------------------------------------- /backend/djvu/djvu-document-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Declarations used throughout the djvu classes 3 | * 4 | * Copyright (C) 2006, Michael Hofmann 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2, or (at your option) 9 | * any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #ifndef __DJVU_DOCUMENT_INTERNAL_H__ 22 | #define __DJVU_DOCUMENT_INTERNAL_H__ 23 | 24 | #include "djvu-document.h" 25 | 26 | #include 27 | 28 | struct _DjvuDocument { 29 | EvDocument parent_instance; 30 | 31 | ddjvu_context_t *d_context; 32 | ddjvu_document_t *d_document; 33 | ddjvu_format_t *d_format; 34 | ddjvu_format_t *thumbs_format; 35 | 36 | gchar *uri; 37 | 38 | /* PS exporter */ 39 | gchar *ps_filename; 40 | GString *opts; 41 | }; 42 | 43 | int djvu_document_get_n_pages (EvDocument *document); 44 | void djvu_handle_events (DjvuDocument *djvu_document, 45 | int wait, 46 | GError **error); 47 | 48 | #endif /* __DJVU_DOCUMENT_INTERNAL_H__ */ 49 | -------------------------------------------------------------------------------- /backend/djvu/djvu-document.h: -------------------------------------------------------------------------------- 1 | /* djvu-document.h: Implementation of EvDocument for djvu documents 2 | * Copyright (C) 2005, Nickolay V. Shmyrev 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef __DJVU_DOCUMENT_H__ 20 | #define __DJVU_DOCUMENT_H__ 21 | 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define DJVU_TYPE_DOCUMENT (djvu_document_get_type ()) 27 | #define DJVU_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DJVU_TYPE_DOCUMENT, DjvuDocument)) 28 | #define DJVU_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DJVU_TYPE_DOCUMENT)) 29 | 30 | typedef struct _DjvuDocument DjvuDocument; 31 | 32 | GType djvu_document_get_type (void) G_GNUC_CONST; 33 | 34 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 35 | 36 | G_END_DECLS 37 | 38 | #endif /* __DJVU_DOCUMENT_H__ */ 39 | -------------------------------------------------------------------------------- /backend/djvu/djvu-links.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 Pauli Virtanen 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef __DJVU_LINK_H__ 20 | #define __DJVU_LINK_H__ 21 | 22 | #include "ev-document-links.h" 23 | #include "djvu-document.h" 24 | 25 | #include 26 | 27 | GtkTreeModel *djvu_links_get_links_model (EvDocumentLinks *document_links); 28 | EvMappingList *djvu_links_get_links (EvDocumentLinks *document_links, 29 | gint page, 30 | double scale_factor); 31 | EvLinkDest *djvu_links_find_link_dest (EvDocumentLinks *document_links, 32 | const gchar *link_name); 33 | gint djvu_links_find_link_page (EvDocumentLinks *document_links, 34 | const gchar *link_name); 35 | gboolean djvu_links_has_document_links (EvDocumentLinks *document_links); 36 | 37 | #endif /* __DJVU_LINK_H__ */ 38 | -------------------------------------------------------------------------------- /backend/djvu/djvu-text-page.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 Michael Hofmann 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef __DJVU_TEXT_PAGE_H__ 20 | #define __DJVU_TEXT_PAGE_H__ 21 | 22 | #include "ev-document.h" 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | typedef struct _DjvuTextPage DjvuTextPage; 29 | typedef struct _DjvuTextLink DjvuTextLink; 30 | 31 | struct _DjvuTextPage { 32 | char *text; 33 | GArray *links; 34 | GList *results; 35 | miniexp_t char_symbol; 36 | miniexp_t word_symbol; 37 | EvRectangle *bounding_box; 38 | miniexp_t text_structure; 39 | miniexp_t start; 40 | miniexp_t end; 41 | }; 42 | 43 | struct _DjvuTextLink { 44 | int position; 45 | miniexp_t pair; 46 | }; 47 | 48 | char * djvu_text_page_copy (DjvuTextPage *page, 49 | EvRectangle *rectangle); 50 | void djvu_text_page_prepare_search (DjvuTextPage *page, 51 | gboolean case_sensitive); 52 | void djvu_text_page_search (DjvuTextPage *page, 53 | const char *text, 54 | gboolean case_sensitive); 55 | DjvuTextPage* djvu_text_page_new (miniexp_t text); 56 | void djvu_text_page_free (DjvuTextPage *page); 57 | 58 | #endif /* __DJVU_TEXT_PAGE_H__ */ 59 | 60 | -------------------------------------------------------------------------------- /backend/djvu/djvudocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=djvudocument 3 | TypeDescription=DjVu Documents 4 | MimeType=image/vnd.djvu;image/vnd.djvu+multipage 5 | -------------------------------------------------------------------------------- /backend/djvu/meson.build: -------------------------------------------------------------------------------- 1 | djvu_sources = [ 2 | 'djvu-document.c', 3 | 'djvu-document.h', 4 | 'djvu-document-private.h', 5 | 'djvu-links.c', 6 | 'djvu-links.h', 7 | 'djvu-text-page.c', 8 | 'djvu-text-page.h', 9 | ] 10 | 11 | djvu_deps = [ 12 | cairo, 13 | djvu, 14 | glib, 15 | gtk 16 | ] 17 | 18 | shared_module( 19 | 'djvudocument', 20 | djvu_sources, 21 | link_with: [libdocument], 22 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 23 | include_directories: include_dirs, 24 | dependencies: djvu_deps, 25 | install: true, 26 | install_dir: backendsdir, 27 | ) 28 | 29 | i18n.merge_file( 30 | input: 'djvudocument.atril-backend.desktop.in', 31 | output: 'djvudocument.atril-backend', 32 | type: 'desktop', 33 | po_dir: po_dir, 34 | install: true, 35 | install_dir: backendsdir, 36 | ) 37 | -------------------------------------------------------------------------------- /backend/dvi/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = mdvi-lib 2 | 3 | AM_CPPFLAGS = \ 4 | -I$(top_srcdir) \ 5 | -I$(top_srcdir)/libdocument \ 6 | -I$(srcdir)/mdvi-lib \ 7 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 8 | -DATRIL_COMPILATION \ 9 | $(WARN_CFLAGS) \ 10 | $(BACKEND_CFLAGS) \ 11 | $(SPECTRE_CFLAGS) \ 12 | $(DISABLE_DEPRECATED) 13 | 14 | backend_LTLIBRARIES = libdvidocument.la 15 | 16 | libdvidocument_la_SOURCES = \ 17 | dvi-document.c \ 18 | dvi-document.h \ 19 | cairo-device.c \ 20 | cairo-device.h \ 21 | fonts.c \ 22 | fonts.h 23 | 24 | libdvidocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 25 | libdvidocument_la_LIBADD = \ 26 | mdvi-lib/libmdvi.la \ 27 | -lkpathsea \ 28 | $(top_builddir)/libdocument/libatrildocument.la \ 29 | $(BACKEND_LIBS) \ 30 | $(SPECTRE_LIBS) 31 | 32 | if WITH_TYPE1_FONTS 33 | libdvidocument_la_LIBADD += -lt1 34 | endif 35 | 36 | backend_in_files = dvidocument.atril-backend.desktop.in 37 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 38 | $(backend_DATA): $(backend_in_files) 39 | if USE_NLS 40 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 41 | else 42 | $(AM_V_GEN) cp -f $< $@ 43 | endif 44 | 45 | EXTRA_DIST = $(backend_in_files) 46 | 47 | CLEANFILES = $(backend_DATA) 48 | 49 | -include $(top_srcdir)/git.mk 50 | -------------------------------------------------------------------------------- /backend/dvi/cairo-device.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 Carlos Garcia Campos 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef MDVI_CAIRO_DEVICE 20 | #define MDVI_CAIRO_DEVICE 21 | 22 | #include 23 | #include 24 | 25 | #include "mdvi.h" 26 | 27 | G_BEGIN_DECLS 28 | 29 | void mdvi_cairo_device_init (DviDevice *device); 30 | void mdvi_cairo_device_free (DviDevice *device); 31 | cairo_surface_t *mdvi_cairo_device_get_surface (DviDevice *device); 32 | void mdvi_cairo_device_render (DviContext* dvi); 33 | void mdvi_cairo_device_set_margins (DviDevice *device, 34 | gint xmargin, 35 | gint ymargin); 36 | void mdvi_cairo_device_set_scale (DviDevice *device, 37 | gdouble scale); 38 | 39 | G_END_DECLS 40 | 41 | #endif /* MDVI_CAIRO_DEVICE */ 42 | -------------------------------------------------------------------------------- /backend/dvi/dvi-document.h: -------------------------------------------------------------------------------- 1 | /* dvi-document.h: Implementation of EvDocument for dvi documents 2 | * Copyright (C) 2005, Nickolay V. Shmyrev 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef __DVI_DOCUMENT_H__ 20 | #define __DVI_DOCUMENT_H__ 21 | 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define DVI_TYPE_DOCUMENT (dvi_document_get_type ()) 27 | #define DVI_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DVI_TYPE_DOCUMENT, DviDocument)) 28 | #define DVI_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DVI_TYPE_DOCUMENT)) 29 | 30 | typedef struct _DviDocument DviDocument; 31 | 32 | GType dvi_document_get_type (void) G_GNUC_CONST; 33 | 34 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 35 | 36 | G_END_DECLS 37 | 38 | #endif /* __DVI_DOCUMENT_H__ */ 39 | -------------------------------------------------------------------------------- /backend/dvi/dvidocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=dvidocument 3 | TypeDescription=DVI Documents 4 | MimeType=application/x-dvi;application/x-bzdvi;application/x-gzdvi 5 | -------------------------------------------------------------------------------- /backend/dvi/fonts.c: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | #include "fonts.h" 3 | #include "mdvi.h" 4 | 5 | static int registered = 0; 6 | 7 | extern DviFontInfo pk_font_info; 8 | extern DviFontInfo pkn_font_info; 9 | extern DviFontInfo gf_font_info; 10 | extern DviFontInfo vf_font_info; 11 | extern DviFontInfo ovf_font_info; 12 | #if 0 13 | extern DviFontInfo tt_font_info; 14 | #endif 15 | #ifdef WITH_TYPE1_FONTS 16 | extern DviFontInfo t1_font_info; 17 | #endif 18 | extern DviFontInfo afm_font_info; 19 | extern DviFontInfo tfm_font_info; 20 | extern DviFontInfo ofm_font_info; 21 | 22 | static struct fontinfo { 23 | DviFontInfo *info; 24 | char *desc; 25 | int klass; 26 | } known_fonts[] = { 27 | {&vf_font_info, "Virtual fonts", 0}, 28 | {&ovf_font_info, "Omega's virtual fonts", 0}, 29 | #if 0 30 | {&tt_font_info, "TrueType fonts", 0}, 31 | #endif 32 | #ifdef WITH_TYPE1_FONTS 33 | {&t1_font_info, "Type1 PostScript fonts", 0}, 34 | #endif 35 | {&pk_font_info, "Packed bitmap (auto-generated)", 1}, 36 | {&pkn_font_info, "Packed bitmap", -2}, 37 | {&gf_font_info, "Metafont's generic font format", 1}, 38 | {&ofm_font_info, "Omega font metrics", -1}, 39 | {&tfm_font_info, "TeX font metrics", -1}, 40 | {&afm_font_info, "Adobe font metrics", -1}, 41 | {0, 0} 42 | }; 43 | 44 | void mdvi_register_fonts (void) 45 | { 46 | struct fontinfo *type; 47 | 48 | if (!registered) { 49 | for(type = known_fonts; type->info; type++) { 50 | mdvi_register_font_type(type->info, type->klass); 51 | } 52 | registered = 1; 53 | } 54 | return; 55 | } 56 | 57 | -------------------------------------------------------------------------------- /backend/dvi/fonts.h: -------------------------------------------------------------------------------- 1 | #ifndef MDVI_FONTS_REGISTRATION_H 2 | #define MDVI_FONTS_REGISTRATION_H 3 | 4 | void mdvi_register_fonts (void); 5 | 6 | #endif /* MDVI_FONTS_REGISTRATION_H */ 7 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = $(WARN_CFLAGS) 2 | noinst_LTLIBRARIES = libmdvi.la 3 | 4 | libmdvi_la_SOURCES = \ 5 | afmparse.c \ 6 | afmparse.h \ 7 | bitmap.c \ 8 | bitmap.h \ 9 | color.c \ 10 | color.h \ 11 | common.c \ 12 | common.h \ 13 | defaults.h \ 14 | dviopcodes.h \ 15 | dviread.c \ 16 | files.c \ 17 | font.c \ 18 | fontmap.c \ 19 | fontmap.h \ 20 | fontsrch.c \ 21 | gf.c \ 22 | hash.c \ 23 | hash.h \ 24 | list.c \ 25 | mdvi.h \ 26 | pagesel.c \ 27 | paper.c \ 28 | paper.h \ 29 | pk.c \ 30 | private.h \ 31 | setup.c \ 32 | special.c \ 33 | sp-epsf.c \ 34 | sysdeps.h \ 35 | t1.c \ 36 | tfm.c \ 37 | tfmfile.c \ 38 | tt.c \ 39 | util.c \ 40 | vf.c 41 | 42 | libmdvi_la_LIBADD = $(GLIB_LIBS) 43 | libmdvi_la_CFLAGS = $(GLIB_CFLAGS) 44 | 45 | -include $(top_srcdir)/git.mk 46 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/color.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2000, Matias Atria 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef _COLOR_H_ 20 | #define _COLOR_H_ 21 | 22 | #include "common.h" 23 | 24 | extern Ulong *get_color_table(DviDevice *dev, 25 | int nlevels, Ulong fg, Ulong bg, double gamma, int density); 26 | 27 | extern void mdvi_set_color __PROTO((DviContext *, Ulong, Ulong)); 28 | extern void mdvi_push_color __PROTO((DviContext *, Ulong, Ulong)); 29 | extern void mdvi_pop_color __PROTO((DviContext *)); 30 | extern void mdvi_reset_color __PROTO((DviContext *)); 31 | 32 | #endif /* _COLOR_H_ */ 33 | 34 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/dviopcodes.h: -------------------------------------------------------------------------------- 1 | #ifndef _MDVI_DVIOPCODES_H 2 | #define _MDVI_DVIOPCODES_H 1 3 | 4 | #define DVI_SET_CHAR0 0 5 | #define DVI_SET_CHAR1 1 6 | #define DVI_SET_CHAR_MAX 127 7 | #define DVI_SET1 128 8 | #define DVI_SET2 129 9 | #define DVI_SET3 130 10 | #define DVI_SET4 131 11 | #define DVI_SET_RULE 132 12 | #define DVI_PUT1 133 13 | #define DVI_PUT2 134 14 | #define DVI_PUT3 135 15 | #define DVI_PUT4 136 16 | #define DVI_PUT_RULE 137 17 | #define DVI_NOOP 138 18 | #define DVI_BOP 139 19 | #define DVI_EOP 140 20 | #define DVI_PUSH 141 21 | #define DVI_POP 142 22 | #define DVI_RIGHT1 143 23 | #define DVI_RIGHT2 144 24 | #define DVI_RIGHT3 145 25 | #define DVI_RIGHT4 146 26 | #define DVI_W0 147 27 | #define DVI_W1 148 28 | #define DVI_W2 149 29 | #define DVI_W3 150 30 | #define DVI_W4 151 31 | #define DVI_X0 152 32 | #define DVI_X1 153 33 | #define DVI_X2 154 34 | #define DVI_X3 155 35 | #define DVI_X4 156 36 | #define DVI_DOWN1 157 37 | #define DVI_DOWN2 158 38 | #define DVI_DOWN3 159 39 | #define DVI_DOWN4 160 40 | #define DVI_Y0 161 41 | #define DVI_Y1 162 42 | #define DVI_Y2 163 43 | #define DVI_Y3 164 44 | #define DVI_Y4 165 45 | #define DVI_Z0 166 46 | #define DVI_Z1 167 47 | #define DVI_Z2 168 48 | #define DVI_Z3 169 49 | #define DVI_Z4 170 50 | #define DVI_FNT_NUM0 171 51 | #define DVI_FNT_NUM1 172 52 | #define DVI_FNT_NUM_MAX 234 53 | #define DVI_FNT1 235 54 | #define DVI_FNT2 236 55 | #define DVI_FNT3 237 56 | #define DVI_FNT4 238 57 | #define DVI_XXX1 239 58 | #define DVI_XXX2 240 59 | #define DVI_XXX3 241 60 | #define DVI_XXX4 242 61 | #define DVI_FNT_DEF1 243 62 | #define DVI_FNT_DEF2 244 63 | #define DVI_FNT_DEF3 245 64 | #define DVI_FNT_DEF4 246 65 | #define DVI_PRE 247 66 | #define DVI_POST 248 67 | #define DVI_POST_POST 249 68 | 69 | #define DVI_ID 2 70 | #define DVI_TRAILER 223 71 | 72 | #endif /* _MDVI_DVIOPCODES_H */ 73 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/hash.h: -------------------------------------------------------------------------------- 1 | #ifndef MDVI_HASH 2 | #define MDVI_HASH 3 | 4 | /* Hash tables */ 5 | 6 | typedef struct _DviHashBucket DviHashBucket; 7 | typedef struct _DviHashTable DviHashTable; 8 | 9 | /* 10 | * Hash tables 11 | */ 12 | 13 | typedef Uchar *DviHashKey; 14 | #define MDVI_KEY(x) ((DviHashKey)(x)) 15 | 16 | typedef Ulong (*DviHashFunc) __PROTO((DviHashKey key)); 17 | typedef int (*DviHashComp) __PROTO((DviHashKey key1, DviHashKey key2)); 18 | typedef void (*DviHashFree) __PROTO((DviHashKey key, void *data)); 19 | 20 | struct _DviHashTable { 21 | DviHashBucket **buckets; 22 | int nbucks; 23 | int nkeys; 24 | DviHashFunc hash_func; 25 | DviHashComp hash_comp; 26 | DviHashFree hash_free; 27 | }; 28 | #define MDVI_EMPTY_HASH_TABLE {NULL, 0, 0, NULL, NULL, NULL} 29 | 30 | #define MDVI_HASH_REPLACE 0 31 | #define MDVI_HASH_UNIQUE 1 32 | #define MDVI_HASH_UNCHECKED 2 33 | 34 | extern void mdvi_hash_init __PROTO((DviHashTable *)); 35 | extern void mdvi_hash_create __PROTO((DviHashTable *, int)); 36 | extern int mdvi_hash_add __PROTO((DviHashTable *, DviHashKey, void *, int)); 37 | extern int mdvi_hash_destroy_key __PROTO((DviHashTable *, DviHashKey)); 38 | extern void mdvi_hash_reset __PROTO((DviHashTable *, int)); 39 | extern void *mdvi_hash_lookup __PROTO((DviHashTable *, DviHashKey)); 40 | extern void *mdvi_hash_remove __PROTO((DviHashTable *, DviHashKey)); 41 | extern void *mdvi_hash_remove_ptr __PROTO((DviHashTable *, DviHashKey)); 42 | 43 | #define mdvi_hash_flush(h) mdvi_hash_reset((h), 1) 44 | #define mdvi_hash_destroy(h) mdvi_hash_reset((h), 0) 45 | 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/meson.build: -------------------------------------------------------------------------------- 1 | mdvi_sources = [ 2 | 'afmparse.c', 3 | 'afmparse.h', 4 | 'bitmap.c', 5 | 'bitmap.h', 6 | 'color.c', 7 | 'color.h', 8 | 'common.c', 9 | 'common.h', 10 | 'defaults.h', 11 | 'dviopcodes.h', 12 | 'dviread.c', 13 | 'files.c', 14 | 'font.c', 15 | 'fontmap.c', 16 | 'fontmap.h', 17 | 'fontsrch.c', 18 | 'gf.c', 19 | 'hash.c', 20 | 'hash.h', 21 | 'list.c', 22 | 'mdvi.h', 23 | 'pagesel.c', 24 | 'paper.c', 25 | 'paper.h', 26 | 'pk.c', 27 | 'private.h', 28 | 'setup.c', 29 | 'special.c', 30 | 'sp-epsf.c', 31 | 'sysdeps.h', 32 | 't1.c', 33 | 'tfm.c', 34 | 'tfmfile.c', 35 | 'tt.c', 36 | 'util.c', 37 | 'vf.c', 38 | ] 39 | 40 | mdvi_c_args = [ 41 | '-DSIZEOF_INT=__SIZEOF_INT__', 42 | '-DSIZEOF_LONG=__SIZEOF_LONG__', 43 | '-DSIZEOF_SHORT=__SIZEOF_SHORT__', 44 | '-DSIZEOF_VOID_P=__SIZEOF_POINTER__', 45 | ] 46 | 47 | mdvi_deps = [ 48 | kpathsea, 49 | ] 50 | 51 | if t1_enabled 52 | mdvi_c_args += '-DWITH_TYPE1_FONTS' 53 | mdvi_deps += t1lib 54 | endif 55 | 56 | libmdvi = static_library( 57 | 'mdvi', 58 | mdvi_sources, 59 | c_args: mdvi_c_args, 60 | include_directories: include_dirs, 61 | dependencies: mdvi_deps, 62 | ) 63 | 64 | libmdvi_dep = declare_dependency( 65 | include_directories: include_directories('.'), 66 | link_with: libmdvi, 67 | ) 68 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/paper.h: -------------------------------------------------------------------------------- 1 | #ifndef MDVI_PAPER 2 | #define MDVI_PAPER 3 | 4 | typedef struct _DviPaper DviPaper; 5 | typedef struct _DviPaperSpec DviPaperSpec; 6 | 7 | typedef enum { 8 | MDVI_PAPER_CLASS_ISO, 9 | MDVI_PAPER_CLASS_US, 10 | MDVI_PAPER_CLASS_ANY, 11 | MDVI_PAPER_CLASS_CUSTOM 12 | } DviPaperClass; 13 | 14 | struct _DviPaper { 15 | DviPaperClass pclass; 16 | const char *name; 17 | double inches_wide; 18 | double inches_tall; 19 | }; 20 | 21 | struct _DviPaperSpec { 22 | const char *name; 23 | const char *width; 24 | const char *height; 25 | }; 26 | 27 | extern int mdvi_get_paper_size __PROTO((const char *, DviPaper *)); 28 | extern DviPaperSpec* mdvi_get_paper_specs __PROTO((DviPaperClass)); 29 | extern void mdvi_free_paper_specs __PROTO((DviPaperSpec *)); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/setup.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2000, Matias Atria 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | #include "mdvi.h" 26 | #include "private.h" 27 | 28 | void mdvi_init_kpathsea(const char *program, 29 | const char *mfmode, const char *font, int dpi, 30 | const char *texmfcnf) 31 | { 32 | const char *p; 33 | 34 | /* Stop meaningless output generation. */ 35 | kpse_make_tex_discard_errors = FALSE; 36 | 37 | p = strrchr(program, '/'); 38 | p = (p ? p + 1 : program); 39 | kpse_set_program_name(program, p); 40 | kpse_init_prog(p, dpi, mfmode, font); 41 | kpse_set_program_enabled(kpse_any_glyph_format, 1, kpse_src_compile); 42 | kpse_set_program_enabled(kpse_pk_format, 1, kpse_src_compile); 43 | kpse_set_program_enabled(kpse_tfm_format, 1, kpse_src_compile); 44 | kpse_set_program_enabled(kpse_ofm_format, 1, kpse_src_compile); 45 | if (texmfcnf != NULL) 46 | xputenv("TEXMFCNF", texmfcnf); 47 | } 48 | 49 | -------------------------------------------------------------------------------- /backend/dvi/meson.build: -------------------------------------------------------------------------------- 1 | subdir('mdvi-lib') 2 | 3 | dvi_sources = [ 4 | 'dvi-document.c', 5 | 'dvi-document.h', 6 | 'cairo-device.c', 7 | 'cairo-device.h', 8 | 'fonts.c', 9 | 'fonts.h', 10 | ] 11 | 12 | dvi_deps = [ 13 | cairo, 14 | glib, 15 | gtk, 16 | libmdvi_dep, 17 | math, 18 | spectre, 19 | mdvi_deps, 20 | ] 21 | 22 | shared_module( 23 | 'dvidocument', 24 | dvi_sources, 25 | link_with: [libdocument], 26 | link_whole: libmdvi, 27 | c_args: mdvi_c_args, 28 | include_directories: include_dirs, 29 | dependencies: dvi_deps, 30 | install: true, 31 | install_dir: backendsdir, 32 | ) 33 | 34 | i18n.merge_file( 35 | input: 'dvidocument.atril-backend.desktop.in', 36 | output: 'dvidocument.atril-backend', 37 | type: 'desktop', 38 | po_dir: po_dir, 39 | install: true, 40 | install_dir: backendsdir, 41 | ) 42 | -------------------------------------------------------------------------------- /backend/epub/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = minizip 2 | 3 | AM_CPPFLAGS = \ 4 | -I$(top_srcdir) \ 5 | -I$(top_srcdir)/libdocument \ 6 | -I$(srcdir)/minizip \ 7 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 8 | -DATRIL_COMPILATION \ 9 | $(BACKEND_CFLAGS) \ 10 | $(WARN_CFLAGS) \ 11 | $(EPUB_CFLAGS) \ 12 | $(DISABLE_DEPRECATED) 13 | 14 | backend_LTLIBRARIES = libepubdocument.la 15 | 16 | libepubdocument_la_SOURCES = \ 17 | epub-document.c \ 18 | epub-document.h 19 | 20 | libepubdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 21 | libepubdocument_la_LIBADD = \ 22 | $(top_builddir)/libdocument/libatrildocument.la \ 23 | minizip/libminizip.la \ 24 | $(EPUB_LIBS) \ 25 | $(BACKEND_LIBS) 26 | 27 | 28 | backend_in_files = epubdocument.atril-backend.desktop.in 29 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 30 | 31 | $(backend_DATA): $(backend_in_files) 32 | if USE_NLS 33 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 34 | else 35 | $(AM_V_GEN) cp -f $< $@ 36 | endif 37 | 38 | EXTRA_DIST = $(backend_in_files) 39 | 40 | CLEANFILES = $(backend_DATA) 41 | 42 | -include $(top_srcdir)/git.mk 43 | -------------------------------------------------------------------------------- /backend/epub/epub-document.h: -------------------------------------------------------------------------------- 1 | #ifndef __EPUB_DOCUMENT_H__ 2 | #define __EPUB_DOCUMENT_H__ 3 | 4 | #define _GNU_SOURCE 5 | #include "ev-document.h" 6 | 7 | G_BEGIN_DECLS 8 | 9 | #define EPUB_TYPE_DOCUMENT (epub_document_get_type ()) 10 | #define EPUB_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EPUB_TYPE_DOCUMENT, EpubDocument)) 11 | #define EPUB_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EPUB_TYPE_DOCUMENT)) 12 | 13 | typedef struct _EpubDocument EpubDocument; 14 | 15 | GType epub_document_get_type (void) G_GNUC_CONST; 16 | 17 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 18 | 19 | G_END_DECLS 20 | 21 | #endif /* __EPUB_DOCUMENT_H__ */ 22 | -------------------------------------------------------------------------------- /backend/epub/epubdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=epubdocument 3 | TypeDescription=epub Documents 4 | MimeType=application/epub+zip; 5 | -------------------------------------------------------------------------------- /backend/epub/meson.build: -------------------------------------------------------------------------------- 1 | subdir('minizip') 2 | 3 | epub_sources = [ 4 | 'epub-document.c', 5 | 'epub-document.h', 6 | ] 7 | 8 | epub_deps = [ 9 | cairo, 10 | glib, 11 | gtk, 12 | xml, 13 | minizip_dep, 14 | ] 15 | 16 | shared_module( 17 | 'epubdocument', 18 | epub_sources, 19 | link_with: [libdocument], 20 | link_whole: minizip, 21 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 22 | include_directories: include_dirs, 23 | dependencies: epub_deps, 24 | install: true, 25 | install_dir: backendsdir, 26 | ) 27 | 28 | i18n.merge_file( 29 | input: 'epubdocument.atril-backend.desktop.in', 30 | output: 'epubdocument.atril-backend', 31 | type: 'desktop', 32 | po_dir: po_dir, 33 | install: true, 34 | install_dir: backendsdir, 35 | ) 36 | -------------------------------------------------------------------------------- /backend/epub/minizip/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | $(WARN_CFLAGS) \ 3 | $(ZLIB_CFLAGS) 4 | 5 | noinst_LTLIBRARIES = libminizip.la 6 | 7 | libminizip_la_SOURCES = \ 8 | unzip.c \ 9 | ioapi.c \ 10 | unzip.h \ 11 | ioapi.h 12 | 13 | libminizip_la_LIBADD = \ 14 | $(ZLIB_LIBS) 15 | 16 | -include $(top_srcdir)/git.mk 17 | -------------------------------------------------------------------------------- /backend/epub/minizip/meson.build: -------------------------------------------------------------------------------- 1 | minizip_sources = [ 2 | 'unzip.c', 3 | 'ioapi.c', 4 | 'unzip.h', 5 | 'ioapi.h', 6 | ] 7 | 8 | minizip_deps = [ 9 | zlib 10 | ] 11 | 12 | minizip = static_library( 13 | 'minizip', 14 | minizip_sources, 15 | dependencies: minizip_deps, 16 | ) 17 | 18 | minizip_dep = declare_dependency( 19 | include_directories: include_directories('.'), 20 | link_with: minizip, 21 | ) 22 | -------------------------------------------------------------------------------- /backend/meson.build: -------------------------------------------------------------------------------- 1 | backendsdir = join_paths(prefix, libdir, meson.project_name(), binary_major_version, 'backends') 2 | 3 | foreach sub : backend_subdirs 4 | subdir(sub) 5 | endforeach 6 | -------------------------------------------------------------------------------- /backend/pdf/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(POPPLER_CFLAGS) \ 8 | $(WARN_CXXFLAGS) \ 9 | $(DISABLE_DEPRECATED) 10 | 11 | backend_LTLIBRARIES = libpdfdocument.la 12 | 13 | libpdfdocument_la_SOURCES = \ 14 | ev-poppler.cc \ 15 | ev-poppler.h 16 | 17 | libpdfdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 18 | libpdfdocument_la_LIBADD = \ 19 | $(top_builddir)/libdocument/libatrildocument.la \ 20 | $(BACKEND_LIBS) \ 21 | $(POPPLER_LIBS) \ 22 | $(CAIRO_PDF_LIBS) \ 23 | $(CAIRO_PS_LIBS) 24 | 25 | backend_in_files = pdfdocument.atril-backend.desktop.in 26 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 27 | 28 | EXTRA_DIST = $(backend_in_files) 29 | 30 | CLEANFILES = $(backend_DATA) 31 | 32 | $(backend_DATA): $(backend_in_files) 33 | if USE_NLS 34 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 35 | else 36 | $(AM_V_GEN) cp -f $< $@ 37 | endif 38 | 39 | -include $(top_srcdir)/git.mk 40 | -------------------------------------------------------------------------------- /backend/pdf/ev-poppler.h: -------------------------------------------------------------------------------- 1 | /* pdfdocument.h: Implementation of EvDocument for PDF 2 | * Copyright (C) 2004, Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef __PDF_DOCUMENT_H__ 20 | #define __PDF_DOCUMENT_H__ 21 | 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define PDF_TYPE_DOCUMENT (pdf_document_get_type ()) 27 | #define PDF_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PDF_TYPE_DOCUMENT, PdfDocument)) 28 | #define PDF_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PDF_TYPE_DOCUMENT)) 29 | 30 | typedef struct _PdfDocument PdfDocument; 31 | typedef struct _PdfDocumentClass PdfDocumentClass; 32 | 33 | GType pdf_document_get_type (void) G_GNUC_CONST; 34 | 35 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 36 | 37 | G_END_DECLS 38 | 39 | #endif /* __PDF_DOCUMENT_H__ */ 40 | -------------------------------------------------------------------------------- /backend/pdf/meson.build: -------------------------------------------------------------------------------- 1 | pdf_sources = [ 2 | 'ev-poppler.cc', 3 | 'ev-poppler.h' 4 | ] 5 | 6 | pdf_deps = [ 7 | gtk, 8 | xml, 9 | poppler, 10 | ] 11 | 12 | shared_module( 13 | 'pdfdocument', 14 | pdf_sources, 15 | link_with: [libdocument], 16 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 17 | include_directories: include_dirs, 18 | dependencies: pdf_deps, 19 | install: true, 20 | install_dir: backendsdir, 21 | ) 22 | 23 | i18n.merge_file( 24 | input: 'pdfdocument.atril-backend.desktop.in', 25 | output: 'pdfdocument.atril-backend', 26 | type: 'desktop', 27 | po_dir: po_dir, 28 | install: true, 29 | install_dir: backendsdir, 30 | ) 31 | -------------------------------------------------------------------------------- /backend/pdf/pdfdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=pdfdocument 3 | Resident=true 4 | TypeDescription=PDF Documents 5 | MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;application/x-xzpdf;application/x-ext-pdf; 6 | -------------------------------------------------------------------------------- /backend/pixbuf/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(WARN_CFLAGS) \ 8 | $(DISABLE_DEPRECATED) 9 | 10 | backend_LTLIBRARIES = libpixbufdocument.la 11 | 12 | libpixbufdocument_la_SOURCES = \ 13 | pixbuf-document.c \ 14 | pixbuf-document.h 15 | 16 | libpixbufdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 17 | libpixbufdocument_la_LIBADD = \ 18 | $(top_builddir)/libdocument/libatrildocument.la \ 19 | $(BACKEND_LIBS) 20 | 21 | backend_in_files = pixbufdocument.atril-backend.desktop.in 22 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 23 | $(backend_DATA): $(backend_in_files) 24 | if USE_NLS 25 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 26 | else 27 | $(AM_V_GEN) cp -f $< $@ 28 | endif 29 | 30 | EXTRA_DIST = $(backend_in_files) 31 | 32 | CLEANFILES = $(backend_DATA) 33 | 34 | -include $(top_srcdir)/git.mk 35 | -------------------------------------------------------------------------------- /backend/pixbuf/meson.build: -------------------------------------------------------------------------------- 1 | pixbuf_sources = [ 2 | 'pixbuf-document.c', 3 | 'pixbuf-document.h' 4 | ] 5 | 6 | pixbuf_deps = [ 7 | cairo, 8 | glib, 9 | gtk, 10 | ] 11 | 12 | shared_module( 13 | 'pixbufdocument', 14 | pixbuf_sources, 15 | link_with: [libdocument], 16 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 17 | include_directories: include_dirs, 18 | dependencies: pixbuf_deps, 19 | install: true, 20 | install_dir: backendsdir, 21 | ) 22 | 23 | i18n.merge_file( 24 | input: 'pixbuf.atril-backend.desktop.in', 25 | output: 'pixbuf.atril-backend', 26 | type: 'desktop', 27 | po_dir: po_dir, 28 | install: true, 29 | install_dir: backendsdir, 30 | ) 31 | -------------------------------------------------------------------------------- /backend/pixbuf/pixbuf-document.h: -------------------------------------------------------------------------------- 1 | /* pdfdocument.h: Implementation of EvDocument for pixbufs 2 | * Copyright (C) 2004, Anders Carlsson 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef __PIXBUF_DOCUMENT_H__ 20 | #define __PIXBUF_DOCUMENT_H__ 21 | 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define PIXBUF_TYPE_DOCUMENT (pixbuf_document_get_type ()) 27 | #define PIXBUF_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_TYPE_DOCUMENT, PixbufDocument)) 28 | #define PIXBUF_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_TYPE_DOCUMENT)) 29 | 30 | typedef struct _PixbufDocument PixbufDocument; 31 | 32 | GType pixbuf_document_get_type (void) G_GNUC_CONST; 33 | 34 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 35 | 36 | G_END_DECLS 37 | 38 | #endif /* __PIXBUF_DOCUMENT_H__ */ 39 | -------------------------------------------------------------------------------- /backend/pixbuf/pixbufdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=pixbufdocument 3 | TypeDescription=Images 4 | MimeType=image/*; 5 | -------------------------------------------------------------------------------- /backend/ps/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(SPECTRE_CFLAGS) \ 8 | $(WARN_CFLAGS) \ 9 | $(DISABLE_DEPRECATED) 10 | 11 | backend_LTLIBRARIES = libpsdocument.la 12 | 13 | libpsdocument_la_SOURCES = \ 14 | ev-spectre.c \ 15 | ev-spectre.h 16 | 17 | libpsdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 18 | libpsdocument_la_LIBADD = \ 19 | $(top_builddir)/libdocument/libatrildocument.la \ 20 | $(BACKEND_LIBS) \ 21 | $(SPECTRE_LIBS) 22 | 23 | backend_in_files = psdocument.atril-backend.desktop.in 24 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 25 | 26 | $(backend_DATA): $(backend_in_files) 27 | if USE_NLS 28 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 29 | else 30 | $(AM_V_GEN) cp -f $< $@ 31 | endif 32 | 33 | EXTRA_DIST = $(backend_in_files) 34 | 35 | CLEANFILES = $(backend_DATA) 36 | 37 | -include $(top_srcdir)/git.mk 38 | -------------------------------------------------------------------------------- /backend/ps/ev-spectre.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Ghostscript widget for GTK/MATE 3 | * 4 | * Copyright 1998 - 2005 The Free Software Foundation 5 | * 6 | * Authors: Jaka Mocnik, Federico Mena (Quartic), Szekeres Istvan (Pista) 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This library is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Library General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this library; if not, write to the 20 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 | * Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | #ifndef __PS_DOCUMENT_H__ 25 | #define __PS_DOCUMENT_H__ 26 | 27 | #include "ev-document.h" 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define PS_TYPE_DOCUMENT (ps_document_get_type()) 32 | #define PS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PS_TYPE_DOCUMENT, PSDocument)) 33 | #define PS_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PS_TYPE_DOCUMENT, PSDocumentClass)) 34 | #define PS_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PS_TYPE_DOCUMENT)) 35 | #define PS_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PS_TYPE_DOCUMENT, PSDocumentClass)) 36 | 37 | typedef struct _PSDocument PSDocument; 38 | typedef struct _PSDocumentClass PSDocumentClass; 39 | 40 | GType ps_document_get_type (void) G_GNUC_CONST; 41 | 42 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 43 | 44 | G_END_DECLS 45 | 46 | #endif /* __PS_DOCUMENT_H__ */ 47 | -------------------------------------------------------------------------------- /backend/ps/meson.build: -------------------------------------------------------------------------------- 1 | ps_sources = [ 2 | 'ev-spectre.c', 3 | 'ev-spectre.h' 4 | ] 5 | 6 | ps_deps = [ 7 | cairo, 8 | glib, 9 | gtk, 10 | spectre, 11 | ] 12 | 13 | shared_module( 14 | 'psdocument', 15 | ps_sources, 16 | link_with: [libdocument], 17 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 18 | include_directories: include_dirs, 19 | dependencies: ps_deps, 20 | install: true, 21 | install_dir: backendsdir, 22 | ) 23 | 24 | i18n.merge_file( 25 | input: 'psdocument.atril-backend.desktop.in', 26 | output: 'psdocument.atril-backend', 27 | type: 'desktop', 28 | po_dir: po_dir, 29 | install: true, 30 | install_dir: backendsdir, 31 | ) 32 | -------------------------------------------------------------------------------- /backend/ps/psdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=psdocument 3 | Resident=true 4 | TypeDescription=PostScript Documents 5 | MimeType=application/postscript;application/x-bzpostscript;application/x-gzpostscript;image/x-eps;image/x-bzeps;image/x-gzeps 6 | -------------------------------------------------------------------------------- /backend/tiff/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(WARN_CFLAGS) \ 8 | $(DISABLE_DEPRECATED) 9 | 10 | backend_LTLIBRARIES = libtiffdocument.la 11 | 12 | libtiffdocument_la_SOURCES = \ 13 | tiff-document.c \ 14 | tiff-document.h \ 15 | tiff2ps.c \ 16 | tiff2ps.h 17 | 18 | libtiffdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 19 | libtiffdocument_la_LIBADD = \ 20 | $(top_builddir)/libdocument/libatrildocument.la \ 21 | $(BACKEND_LIBS) \ 22 | -ltiff 23 | 24 | backend_in_files = tiffdocument.atril-backend.desktop.in 25 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 26 | $(backend_DATA): $(backend_in_files) 27 | if USE_NLS 28 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 29 | else 30 | $(AM_V_GEN) cp -f $< $@ 31 | endif 32 | 33 | EXTRA_DIST = $(backend_in_files) 34 | 35 | CLEANFILES = $(backend_DATA) 36 | 37 | -include $(top_srcdir)/git.mk 38 | -------------------------------------------------------------------------------- /backend/tiff/meson.build: -------------------------------------------------------------------------------- 1 | tiff_sources = [ 2 | 'tiff-document.c', 3 | 'tiff-document.h', 4 | 'tiff2ps.c', 5 | 'tiff2ps.h', 6 | ] 7 | 8 | tiff_deps = [ 9 | cairo, 10 | glib, 11 | gtk, 12 | math, 13 | tiff, 14 | ] 15 | 16 | shared_module( 17 | 'tiffdocument', 18 | tiff_sources, 19 | link_with: [libdocument], 20 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 21 | include_directories: include_dirs, 22 | dependencies: tiff_deps, 23 | install: true, 24 | install_dir: backendsdir, 25 | ) 26 | 27 | i18n.merge_file( 28 | input: 'tiffdocument.atril-backend.desktop.in', 29 | output: 'tiffdocument.atril-backend', 30 | type: 'desktop', 31 | po_dir: po_dir, 32 | install: true, 33 | install_dir: backendsdir, 34 | ) 35 | -------------------------------------------------------------------------------- /backend/tiff/tiff-document.h: -------------------------------------------------------------------------------- 1 | 2 | /* pdfdocument.h: Implementation of EvDocument for tiffs 3 | * Copyright (C) 2005, Jonathan Blandford 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #ifndef __TIFF_DOCUMENT_H__ 21 | #define __TIFF_DOCUMENT_H__ 22 | 23 | #include "ev-document.h" 24 | 25 | G_BEGIN_DECLS 26 | 27 | #define TIFF_TYPE_DOCUMENT (tiff_document_get_type ()) 28 | #define TIFF_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TIFF_TYPE_DOCUMENT, TiffDocument)) 29 | #define TIFF_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TIFF_TYPE_DOCUMENT)) 30 | 31 | typedef struct _TiffDocument TiffDocument; 32 | 33 | GType tiff_document_get_type (void) G_GNUC_CONST; 34 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 35 | 36 | G_END_DECLS 37 | 38 | #endif /* __TIFF_DOCUMENT_H__ */ 39 | -------------------------------------------------------------------------------- /backend/tiff/tiff2ps.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 rpath, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #include 20 | #include 21 | #include "tiffio.h" 22 | 23 | typedef struct _TIFF2PSContext TIFF2PSContext; 24 | 25 | TIFF2PSContext *tiff2ps_context_new(const gchar *filename); 26 | void tiff2ps_process_page(TIFF2PSContext* ctx, TIFF* tif, 27 | double pagewidth, double pageheight, 28 | double leftmargin, double bottommargin, 29 | gboolean center); 30 | void tiff2ps_context_finalize(TIFF2PSContext* ctx); 31 | -------------------------------------------------------------------------------- /backend/tiff/tiffdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=tiffdocument 3 | TypeDescription=Tiff Documents 4 | MimeType=image/tiff 5 | -------------------------------------------------------------------------------- /backend/xps/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = \ 2 | -I$(top_srcdir) \ 3 | -I$(top_srcdir)/libdocument \ 4 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 5 | -DATRIL_COMPILATION \ 6 | $(BACKEND_CFLAGS) \ 7 | $(WARN_CFLAGS) \ 8 | $(DISABLE_DEPRECATED) 9 | 10 | backend_LTLIBRARIES = libxpsdocument.la 11 | 12 | libxpsdocument_la_SOURCES = \ 13 | xps-document.c \ 14 | xps-document.h 15 | 16 | libxpsdocument_la_LDFLAGS = $(BACKEND_LIBTOOL_FLAGS) 17 | libxpsdocument_la_LIBADD = \ 18 | $(top_builddir)/libdocument/libatrildocument.la \ 19 | $(BACKEND_LIBS) \ 20 | $(GXPS_LIBS) 21 | 22 | backend_in_files = xpsdocument.atril-backend.desktop.in 23 | backend_DATA = $(backend_in_files:.atril-backend.desktop.in=.atril-backend) 24 | $(backend_DATA): $(backend_in_files) 25 | if USE_NLS 26 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword=TypeDescription --template $< -d $(top_srcdir)/po -o $@ 27 | else 28 | $(AM_V_GEN) cp -f $< $@ 29 | endif 30 | 31 | EXTRA_DIST = $(backend_in_files) 32 | 33 | CLEANFILES = $(backend_DATA) 34 | 35 | -include $(top_srcdir)/git.mk 36 | -------------------------------------------------------------------------------- /backend/xps/meson.build: -------------------------------------------------------------------------------- 1 | xps_sources = [ 2 | 'xps-document.c', 3 | 'xps-document.h', 4 | ] 5 | 6 | xps_deps = [ 7 | cairo, 8 | glib, 9 | gtk, 10 | xps, 11 | ] 12 | 13 | shared_module( 14 | 'xpsdocument', 15 | xps_sources, 16 | link_with: [libdocument], 17 | link_args: ['-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now'], 18 | include_directories: include_dirs, 19 | dependencies: xps_deps, 20 | install: true, 21 | install_dir: backendsdir, 22 | ) 23 | 24 | i18n.merge_file( 25 | input: 'xpsdocument.atril-backend.desktop.in', 26 | output: 'xpsdocument.atril-backend', 27 | type: 'desktop', 28 | po_dir: po_dir, 29 | install: true, 30 | install_dir: backendsdir, 31 | ) 32 | -------------------------------------------------------------------------------- /backend/xps/xps-document.h: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright (C) 2010 Carlos Garcia Campos 4 | * 2012 Leandro Vital 5 | * 6 | * Atril is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Atril is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #ifndef __XPS_DOCUMENT_H__ 22 | #define __XPS_DOCUMENT_H__ 23 | 24 | #include "ev-document.h" 25 | 26 | G_BEGIN_DECLS 27 | 28 | #define XPS_TYPE_DOCUMENT (xps_document_get_type()) 29 | #define XPS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPS_TYPE_DOCUMENT, XPSDocument)) 30 | #define XPS_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPS_TYPE_DOCUMENT, XPSDocumentClass)) 31 | #define XPS_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPS_TYPE_DOCUMENT)) 32 | #define XPS_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), XPS_TYPE_DOCUMENT, XPSDocumentClass)) 33 | 34 | typedef struct _XPSDocument XPSDocument; 35 | typedef struct _XPSDocumentClass XPSDocumentClass; 36 | 37 | GType xps_document_get_type (void) G_GNUC_CONST; 38 | 39 | G_MODULE_EXPORT GType register_atril_backend (GTypeModule *module); 40 | 41 | G_END_DECLS 42 | 43 | #endif /* __XPS_DOCUMENT_H__ */ 44 | -------------------------------------------------------------------------------- /backend/xps/xpsdocument.atril-backend.desktop.in: -------------------------------------------------------------------------------- 1 | [Atril Backend] 2 | Module=xpsdocument 3 | Resident=true 4 | TypeDescription=XPS Documents 5 | MimeType=application/oxps;application/vnd.ms-xpsdocument 6 | -------------------------------------------------------------------------------- /cut-n-paste/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = zoom-control toolbar-editor smclient 2 | 3 | -include $(top_srcdir)/git.mk 4 | -------------------------------------------------------------------------------- /cut-n-paste/toolbar-editor/eggmarshalers.list: -------------------------------------------------------------------------------- 1 | VOID:INT,INT 2 | -------------------------------------------------------------------------------- /cut-n-paste/zoom-control/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libephyzoom.la 2 | 3 | libephyzoom_la_SOURCES = \ 4 | ephy-zoom-action.h \ 5 | ephy-zoom-action.c \ 6 | ephy-zoom-control.c \ 7 | ephy-zoom-control.h \ 8 | ephy-zoom.c \ 9 | ephy-zoom.h 10 | 11 | libephyzoom_la_CFLAGS = \ 12 | $(SHELL_CORE_CFLAGS) \ 13 | $(WARNING_CFLAGS) \ 14 | $(DISABLE_DEPRECATED) 15 | 16 | -include $(top_srcdir)/git.mk 17 | -------------------------------------------------------------------------------- /cut-n-paste/zoom-control/meson.build: -------------------------------------------------------------------------------- 1 | zoom_sources = [ 2 | 'ephy-zoom-action.h', 3 | 'ephy-zoom-action.c', 4 | 'ephy-zoom-control.c', 5 | 'ephy-zoom-control.h', 6 | 'ephy-zoom.c', 7 | 'ephy-zoom.h', 8 | ] 9 | 10 | zoom_deps = [ 11 | config_h, 12 | glib, 13 | gtk, 14 | math 15 | ] 16 | 17 | libephyzoom = static_library( 18 | 'ephyzoom', 19 | zoom_sources, 20 | include_directories: include_root, 21 | dependencies: zoom_deps, 22 | ) 23 | 24 | libephyzoom_dep = declare_dependency( 25 | link_with: libephyzoom, 26 | include_directories: [include_root, include_directories('.')], 27 | dependencies: zoom_deps, 28 | ) 29 | -------------------------------------------------------------------------------- /data/atril.appdata.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | atril.desktop 5 | CC0-1.0 6 | GPL-2.0+ 7 | Atril Document Viewer 8 | A Document Viewer for the MATE desktop environment 9 | 10 |

11 | Atril is a simple multi-page document viewer. It can display and 12 | print PostScript (PS), Encapsulated PostScript (EPS), DJVU, DVI, 13 | XPS and Portable Document Format (PDF) files, as well as comic book 14 | archive files. When supported by the document, it also allows 15 | searching for text, copying text to the clipboard, hypertext navigation 16 | and table-of-contents bookmarks. 17 |

18 |

19 | Atril is a fork of Evince and part of the MATE Desktop Environment. 20 | If you would like to know more about MATE and Atril, please visit the 21 | project's home page. 22 |

23 |
24 | 25 | 26 | 27 | https://alexpl.fedorapeople.org/AppData/atril/screens/atril_01.png 28 | 29 | 30 | 31 | 32 | https://alexpl.fedorapeople.org/AppData/atril/screens/atril_02.png 33 | 34 | 35 | 36 | 37 | https://alexpl.fedorapeople.org/AppData/atril/screens/atril_03.png 38 | 39 | 40 | 41 | @PACKAGE_URL@ 42 | mate-dev@ml.mate-desktop.org 43 | MATE 44 |
45 | -------------------------------------------------------------------------------- /data/atril.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Atril Document Viewer 3 | GenericName=Document Viewer 4 | Comment=View multi-page documents 5 | TryExec=atril 6 | Exec=atril %U 7 | StartupNotify=true 8 | Terminal=false 9 | Type=Application 10 | # Translators: Do NOT translate or transliterate this text (this is an icon file name)! 11 | Icon=atril 12 | X-MATE-DocPath= 13 | X-MATE-Bugzilla-Bugzilla=MATE 14 | X-MATE-Bugzilla-Product=atril 15 | X-MATE-Bugzilla-Component=BugBuddyBugs 16 | X-MATE-Bugzilla-Version=@VERSION@ 17 | Categories=GTK;Office;Viewer; 18 | # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! 19 | Keywords=MATE;document;viewer;pdf;dvi;ps;xps;tiff;pixbuf;djvu;comics; 20 | MimeType=@ATRIL_MIME_TYPES@ 21 | -------------------------------------------------------------------------------- /data/hand-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/hand-open.png -------------------------------------------------------------------------------- /data/icons/128x128/apps/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/128x128/apps/atril.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/object-rotate-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/object-rotate-left.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/object-rotate-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/object-rotate-right.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/view-page-continuous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/view-page-continuous.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/view-page-continuous.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/view-page-continuous.xcf -------------------------------------------------------------------------------- /data/icons/16x16/actions/view-page-facing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/view-page-facing.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/view-page-facing.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/view-page-facing.xcf -------------------------------------------------------------------------------- /data/icons/16x16/actions/zoom-fit-height.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/zoom-fit-height.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/zoom-fit-width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/zoom-fit-width.png -------------------------------------------------------------------------------- /data/icons/16x16/actions/zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/actions/zoom.png -------------------------------------------------------------------------------- /data/icons/16x16/apps/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/apps/atril.png -------------------------------------------------------------------------------- /data/icons/16x16/mimetypes/x-office-presentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/16x16/mimetypes/x-office-presentation.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/eye.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/object-rotate-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/object-rotate-left.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/object-rotate-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/object-rotate-right.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/view-page-continuous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/view-page-continuous.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/view-page-continuous.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/view-page-continuous.xcf -------------------------------------------------------------------------------- /data/icons/22x22/actions/view-page-facing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/view-page-facing.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/view-page-facing.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/view-page-facing.xcf -------------------------------------------------------------------------------- /data/icons/22x22/actions/zoom-fit-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/zoom-fit-page.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/zoom-fit-width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/zoom-fit-width.png -------------------------------------------------------------------------------- /data/icons/22x22/actions/zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/actions/zoom.png -------------------------------------------------------------------------------- /data/icons/22x22/apps/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/apps/atril.png -------------------------------------------------------------------------------- /data/icons/22x22/mimetypes/x-office-presentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/22x22/mimetypes/x-office-presentation.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/object-rotate-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/object-rotate-left.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/object-rotate-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/object-rotate-right.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/stock_filters-invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/stock_filters-invert.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/view-page-continuous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/view-page-continuous.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/view-page-facing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/view-page-facing.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/zoom-fit-height.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/zoom-fit-height.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/zoom-fit-width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/zoom-fit-width.png -------------------------------------------------------------------------------- /data/icons/24x24/actions/zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/actions/zoom.png -------------------------------------------------------------------------------- /data/icons/24x24/apps/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/apps/atril.png -------------------------------------------------------------------------------- /data/icons/24x24/mimetypes/x-office-presentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/24x24/mimetypes/x-office-presentation.png -------------------------------------------------------------------------------- /data/icons/32x32/actions/object-rotate-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/32x32/actions/object-rotate-left.png -------------------------------------------------------------------------------- /data/icons/32x32/actions/object-rotate-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/32x32/actions/object-rotate-right.png -------------------------------------------------------------------------------- /data/icons/32x32/actions/view-page-continuous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/32x32/actions/view-page-continuous.png -------------------------------------------------------------------------------- /data/icons/32x32/actions/view-page-facing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/32x32/actions/view-page-facing.png -------------------------------------------------------------------------------- /data/icons/32x32/mimetypes/x-office-presentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/32x32/mimetypes/x-office-presentation.png -------------------------------------------------------------------------------- /data/icons/48x48/actions/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/48x48/actions/close.png -------------------------------------------------------------------------------- /data/icons/48x48/actions/resize-se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/48x48/actions/resize-se.png -------------------------------------------------------------------------------- /data/icons/48x48/actions/resize-sw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/48x48/actions/resize-sw.png -------------------------------------------------------------------------------- /data/icons/48x48/actions/view-page-continuous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/48x48/actions/view-page-continuous.png -------------------------------------------------------------------------------- /data/icons/48x48/actions/view-page-facing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/48x48/actions/view-page-facing.png -------------------------------------------------------------------------------- /data/icons/48x48/apps/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/48x48/apps/atril.png -------------------------------------------------------------------------------- /data/icons/64x64/apps/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/data/icons/64x64/apps/atril.png -------------------------------------------------------------------------------- /data/meson.build: -------------------------------------------------------------------------------- 1 | 2 | subdir('icons') 3 | 4 | data_dir = include_directories('.') 5 | 6 | install_data( 7 | 'atril.1', 8 | install_dir : join_paths(get_option('prefix'), get_option('mandir'), 'man1') 9 | ) 10 | 11 | service_conf = configuration_data() 12 | service_conf.set('libexecdir', join_paths(prefix, libexecdir)) 13 | 14 | configure_file( 15 | input: 'org.mate.atril.Daemon.service.in', 16 | output: 'org.mate.atril.Daemon.service', 17 | configuration: service_conf, 18 | install_dir: join_paths(datadir, 'dbus-1', 'services') 19 | ) 20 | 21 | schema_file = install_data( 22 | 'org.mate.Atril.gschema.xml', 23 | install_dir: join_paths(datadir, 'glib-2.0', 'schemas') 24 | ) 25 | 26 | desktop_conf = configuration_data() 27 | desktop_conf.set('VERSION', meson.project_version()) 28 | desktop_conf.set('ATRIL_MIME_TYPES', atril_mime_types) 29 | 30 | desktop = configure_file( 31 | input: 'atril.desktop.in.in', 32 | output: 'atril.desktop.in', 33 | configuration: desktop_conf, 34 | ) 35 | 36 | i18n.merge_file( 37 | input: desktop, 38 | output: 'atril.desktop', 39 | type: 'desktop', 40 | po_dir: po_dir, 41 | install: true, 42 | install_dir: desktopdir, 43 | ) 44 | 45 | appdata = i18n.merge_file( 46 | input: 'atril.appdata.xml.in.in', 47 | output: 'atril.appdata.xml', 48 | type: 'xml', 49 | po_dir: po_dir, 50 | install: true, 51 | install_dir: join_paths(datadir, 'metainfo'), 52 | ) 53 | 54 | install_data( 55 | 'hand-open.png', 56 | install_dir: join_paths(prefix, datadir, meson.project_name()) 57 | ) 58 | -------------------------------------------------------------------------------- /data/org.mate.atril.Daemon.service.in: -------------------------------------------------------------------------------- 1 | [D-BUS Service] 2 | Name=org.mate.atril.Daemon 3 | Exec=@libexecdir@/atrild 4 | -------------------------------------------------------------------------------- /help/C/annotation-properties.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to customize the author, color, style or icon of an annotation. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | 18 | Customize annotations 19 | 20 | 21 | 22 |

23 | Right click on the annotation icon in the document. 24 |

25 |
26 | 27 |

28 | Select Annotation Properties…. 29 |

30 |
31 | 32 |

33 | In the Annotation Properties window, you can change the author, color, style and icon of your note. 34 |

35 | 36 |

37 | The annotation properties will be applied to the note for which you made the changes only. Each note can have a different set of properties. 38 |

39 |
40 |
41 |
42 | 43 | 44 |
45 | Can I permanently change the default annotation properties? 46 |

47 | The default annotation properties (author, colour, style and icon) can only be changed on a particular note as stated above. So if you want all icons for your notes to be red instead of yellow, you will have to change the default from yellow to red individually on each note. There is no way to save different default settings for annotation properties, at this time. 48 |

49 |
50 | 51 |
52 | -------------------------------------------------------------------------------- /help/C/annotations-delete.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | David King 12 | davidk@mate.org 13 | 14 | 15 | 16 | 17 | Delete annotations from a PDF document. 18 | 19 | 20 | Removing annotations 21 | 22 |

An annotation is a note or comment added to a PDF document. You can remove 23 | annotations that you or other people have added.

24 | 25 | 26 | 27 |

View a page that has an annotation. If you are not sure which pages 28 | have annotations, find them in the 29 | annotation side pane.

30 |
31 | 32 |

Right-click on the annotation icon in the document, and click 33 | Remove Annotation.

34 |
35 | 36 |

Save the changes to a new document by clicking File, followed by Save As….

37 |
38 |
39 | 40 |
41 | -------------------------------------------------------------------------------- /help/C/annotations-disabled.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Annotations can only be added to PDF files. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | Can't add annotations? 18 |

19 | Annotations can only be added to PDF files. If your file is of a format other than PDF, the option to add annotations will be greyed out (disabled). 20 |

21 |
22 | -------------------------------------------------------------------------------- /help/C/annotations-navigate.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to navigate to annotations. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 | 17 |
18 | 19 | Annotation navigation 20 |

21 | If you have created annotations on your document, you can use the side pane to display the list of all the annotations in the document. The list indicates the type, page number and author of the annotation. 22 |

23 |
24 | -------------------------------------------------------------------------------- /help/C/annotations-save.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | How to save your annotations. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 | Shobha Tyagi 15 | tyagishobha@gmail.com 16 | 17 | 18 |

Creative Commons Share Alike 3.0

19 |
20 |
21 | Save a copy of an annotated PDF 22 |

23 | To save a copy of your annotated PDF for future viewing using 24 | Atril or any other PDF viewer 25 | that supports annotations: 26 |

27 | 28 | 29 |

30 | Click FileSave As… 31 |

32 |
33 | 34 |

35 | Choose a name and folder in which to save the file, then click 36 | Save. The PDF will be saved in the folder you chose. 37 |

38 |
39 |
40 |

41 | Annotations are added according to the PDF specification. Therefore, most PDF 42 | readers should be able to read them. Adobe Reader is known to work. 43 |

44 | 45 |
46 | -------------------------------------------------------------------------------- /help/C/bug-filing.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How and where to report problems. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | 18 | File a bug against Atril 19 |

20 | Atril is maintained by a volunteer community. You are welcome to participate. If you notice a problem you can file a bug report. To file a bug, go to . 21 |

22 |

23 | This is a bug tracking system where users and developers can file details about bugs, crashes and request enhancements. 24 |

25 |

26 | To participate you need an account which will give you the ability to gain access, file bugs, and make comments. Also, you need to register so you can receive updates by e-mail about the status of your bug. If you don't already have an account, just click on the Sign in / Register link to create one. 27 |

28 |

29 | Once you have an account, log in, and click on New issue. 30 |

31 |

32 | Fill in the Title and Description sections and click Submit Issue. 33 |

34 |

35 | Your report will be given an ID number, and its status will be updated as it is being dealt with. 36 |

37 |
38 | -------------------------------------------------------------------------------- /help/C/convertPostScript.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | You can convert a document to PostScript. 8 | 9 | 10 | Phil Bull 11 | philbull@gmail.com 12 | 13 | 14 | Anna Philips 15 | anna.cs.au@gmail.com 16 | 17 | 18 |

Creative Commons Share Alike 3.0

19 |
20 | 21 |
22 | 23 | Converting a document to PostScript 24 | 25 |

26 | You can convert documents of the following format types to PostScript files: 27 |

28 | 29 |

DjVu (.djvu, .djv)

30 |

Portable Document Format (.pdf)

31 |

Tagged Image File Format (.tiff, .tif)

32 |
33 |

34 | This works by opening the file in Atril and "printing" the document as a PostScript file. 35 |

36 | 37 | 38 |

Go to 39 | File 40 | Print 41 | and 42 | select Print or press 43 | CtrlP and go to the 44 | General tab.

45 |
46 | 47 |

48 | Select Print to File and choose PostScript as the 49 | Output format. 50 |

51 |
52 | 53 |

54 | Choose a name and folder in which to save the file, then click Print. 55 | The PostScript file will be saved in the folder you chose. 56 |

57 |
58 |
59 |
60 | -------------------------------------------------------------------------------- /help/C/convertSVG.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | You can convert a document to SVG by "printing" it to a file. 8 | 9 | 10 | Phil Bull 11 | philbull@gmail.com 12 | 13 | 14 | Anna Philips 15 | anna.cs.au@gmail.com 16 | 17 | 18 |

Creative Commons Share Alike 3.0

19 |
20 | 21 |
22 | 23 | Converting a document to SVG 24 |

25 | You can convert documents of the following format types to SVG files: 26 |

27 | 28 |

Portable Document Format (.pdf)

29 |
30 |

31 | This works by opening the file in Atril and "printing" the document as an SVG file. 32 |

33 | 34 | 35 |

Go to 36 | File 37 | Print 38 | and 39 | select Print or press 40 | CtrlP.

41 |
42 | 43 |

44 | Select Print to File and choose SVG as the 45 | Output format. 46 |

47 |
48 | 49 |

50 | Choose a name and folder in which to save the file, then click Print. 51 | The SVG file will be saved in the folder you chose. 52 |

53 |
54 |
55 |
56 | -------------------------------------------------------------------------------- /help/C/default-settings.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Save current settings as default for new documents. 8 | 9 | 10 | Sindhu S 11 | sindhus@live.in 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 | 17 |
18 | 19 | Change default settings 20 | 21 |

When a document is opened for the first time, default settings, such as 22 | zoom and page view preferences, are applied. Any changes you make to these 23 | settings are saved for the document.

24 |

You can save the settings which you are currently using as default for all 25 | new documents by pressing Edit 26 | and selecting Save Current Settings as Default.

27 | 28 | 29 |

The new default settings do not override settings of previously opened 30 | documents, they are applied only to documents opened for the first time.

31 |
32 | 33 |
34 | -------------------------------------------------------------------------------- /help/C/develop.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Improve Atril. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany.antopolski@gmail.com 12 | 2011 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 |
18 | 19 | Help develop 20 |

21 | Atril is developed and maintained by a volunteer community. You are welcome to participate. 22 |

23 |

24 | If you would like to help develop Atril, create a Pull Request. 25 |

26 | 27 |
28 | -------------------------------------------------------------------------------- /help/C/documentation.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | Contact the Documentation Team. 7 | 8 | 9 | Tiffany Antopolski 10 | tiffany.antopolski@gmail.com 11 | 2011 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | 18 | Help write documentation 19 | 20 |

21 | Atrils documentation is maintained by a volunteer community. You are welcome to participate.

22 | 23 |

To contribute to the Documentation Project, feel free to get in touch with us and create a Pull Request. 24 |

25 |

26 | Our website contains useful information. 27 |

28 | 29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/editing.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | You can't use Atril to edit files. 8 | 9 | 10 | Phil Bull 11 | philbull@gmail.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 | 17 |
18 | 19 | Can I edit documents in the document viewer? 20 | 21 | 22 |

23 | Atril can't be used to make changes to documents. You need to use the appropriate editing application for the type of file you want to change. 24 |

25 | 26 | 27 | 28 |

29 | PDF and PostScript (.ps) files are not usually intended to be edited, but PDF editing software is available. Try 30 | LibreOffice Draw or Okular, for example. 31 | Furthermore, pdfarranger allows rearranging or removing pages and merging files. 32 |

33 |
34 |
35 | -------------------------------------------------------------------------------- /help/C/figures/atril-trail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/C/figures/atril-trail.png -------------------------------------------------------------------------------- /help/C/figures/atril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/C/figures/atril.png -------------------------------------------------------------------------------- /help/C/formats.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | PDF, PostScript and many others are. 11 | 12 | 13 | Phil Bull 14 | philbull@gmail.com 15 | 16 | 17 | Ekaterina Gerasimova 18 | kittykat3756@gmail.com 19 | 20 | 21 |

Creative Commons Share Alike 3.0

22 |
23 | 24 |
25 | 26 | Supported formats 27 | 28 |

29 | Atril supports the following formats: 30 |

31 | 32 |

Comic Book Archive (.cbr and .cbz)

33 |

Device Independent file format (.dvi)

34 |

DjVu (.djvu, .djv)

35 |

Open XML Paper Specification (.oxps, .xps)

36 |

Portable Document Format (.pdf)

37 |

PostScript (.ps)

38 |
39 | 40 |

41 | In some Linux distributions, not all formats are supported by default, so you might not be able to view all the formats listed above. 42 |

43 |

44 | Support for a format is called a backend. If you get the error "Unable to Open Document", you may wish to check whether the backend package for the format is installed. 45 |

46 |
47 | 48 | 49 | 50 |
51 | -------------------------------------------------------------------------------- /help/C/forms.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Working with fillable forms. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 | 17 |
18 | 19 | Forms 20 |

21 | When filling out an interactive form, you can navigate from field to field by clicking on a field with your mouse. When you are finished filling out a text field, press Enter. 22 |

23 | 24 |

25 | You can make a selection in a scrollable list box by clicking on the list box and scrolling to your choice with your mouse. 26 |

27 | 28 |

29 | There may be some parts of a form that you may need to fill out by hand after you print the form. For example, you might have to circle certain things, or sign the form in one or more places. If you wish to do this electronically, you may want to try Xournal. 30 |

31 |
32 | 33 | 34 |
35 | -------------------------------------------------------------------------------- /help/C/introduction.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 | 15 | 16 | Introduction to Atril - The MATE Document Viewer. 17 | 18 | 19 | Introduction 20 | 21 |

Atril is a document viewer. See for a 22 | list of file types you can view.

23 | 24 |
25 | -------------------------------------------------------------------------------- /help/C/invert-colors.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | Inverting the colors can make it easier to read some text. 10 | 11 | 12 | 13 | Phil Bull 14 | philbull@gmail.com 15 | 16 | 17 | Anna Philips 18 | anna.cs.au@gmail.com 19 | 20 | 21 |

Creative Commons Share Alike 3.0

22 |
23 | 24 |
25 | 26 | Invert colors on a page 27 | 28 | 29 |

To swap black for white, white for black, and so on, go to the View menu and select Invert Colours (or press CtrlI).

30 | 31 | 32 |

33 | Doing this can make it easier to read text, especially in the case of certain kinds of visual impairment. 34 |

35 |
36 |
37 | -------------------------------------------------------------------------------- /help/C/legal-unported.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 |

This work is licensed under a 5 | Creative Commons 6 | Attribution-ShareAlike 3.0 Unported License.

7 | 8 |
9 | -------------------------------------------------------------------------------- /help/C/legal.xml: -------------------------------------------------------------------------------- 1 | 3 |

This work is licensed under a 4 | Creative Commons 5 | Attribution-Share Alike 3.0 United States License.

6 |

As a special exception, the copyright holders give you permission to copy, 7 | modify, and distribute the example code contained in this document under the 8 | terms of your choosing, without restriction.

9 |
10 | -------------------------------------------------------------------------------- /help/C/openerror.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Error When Opening A File. 8 | 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Why can't I open a file? 21 | 22 |

If you try to open a document of a format that Atril does not recognize, you will get an "Unable to open document" error message. Click Close to return toAtril window. 23 |

24 | 25 |
26 | -------------------------------------------------------------------------------- /help/C/password.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | Phil Bull 11 | philbull@gmail.com 12 | 13 | 14 | Ekaterina Gerasimova 15 | kittykat3756@gmail.com 16 | 17 | 18 | 19 | 20 | Handling password protected PDFs. 21 | 22 | 23 | Password-protected documents 24 | 25 |

If you try to open a PDF document that is protected with a password, a 26 | window will appear asking you to enter the document password. Enter the 27 | password and click Unlock Document.

28 | 29 | 46 | 47 | 48 |

Passwords can be set by the person who created or edited the 49 | document.

50 |
51 | 52 |
53 | -------------------------------------------------------------------------------- /help/C/print-2sided.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Printing two-sided and multi-page per sheet. 9 | 10 | 11 | Phil Bull 12 | philbull@gmail.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Two-sided and multiple pages per side layout for printing 21 | 22 |

23 | You can print on both sides of each sheet of paper: 24 |

25 | 26 | 27 | 28 |

29 | Go to FilePrint and press the Print button. 30 |

31 |
32 | 33 |

34 | Go to the Page Setup tab of the Print window and choose an option from the Two-sided drop-down list. 35 |

36 |
37 | 38 |

39 | You can print more than one page of the document per side of paper too. Use the Pages per side option to do this. 40 |

41 |
42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /help/C/print-booklet.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | How to print a booklet. 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Printing a booklet 21 | 22 |

23 | If you are printing a booklet (which will perhaps be bound or stapled in the middle of each page), select the type of printer you will be using for printing from the list below. Then select the number of printed pages your booklet will have. 24 |

25 | 26 |
27 | Printer allows single-sided printing 28 |
29 | 30 |
31 | Printer allows double-sided printing 32 |
33 | 34 | 35 | 36 |
37 | -------------------------------------------------------------------------------- /help/C/printing.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | How to print, and common questions about printing. 10 | 11 | 12 | Phil Bull 13 | philbull@gmail.com 14 | 15 | 16 | Anna Philips 17 | anna.cs.au@gmail.com 18 | 19 | 20 |

Creative Commons Share Alike 3.0

21 |
22 | 23 |
24 | 25 | Printing a document 26 | 27 | 28 |

To print a document:

29 | 30 | 31 |

Click the File menu and 32 | select Print or press 33 | CtrlP.

34 |
35 | 36 |

Choose your printer from the list.

37 |
38 |

Click Print.

39 |
40 |
41 |
42 | 43 | 44 | 45 |

Printing is enabled for the following file formats:

46 | 47 |

Device Independent file format (.dvi)

48 |

DjVu (.djvu, .djv)

49 |

Portable Document Format (.pdf)

50 |

PostScript (.ps)

51 |

Tagged Image File Format (.tiff, .tif)

52 |
53 |
54 |
55 | 56 |
57 | -------------------------------------------------------------------------------- /help/C/reload.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | Your document will be automatically reloaded if another program changes it while you're viewing it. 10 | 11 | 12 | 13 | Phil Bull 14 | philbull@gmail.com 15 | 16 | 17 |

Creative Commons Share Alike 3.0

18 |
19 | 20 |
21 | 22 | Why does the document keep reloading? 23 | 24 |

25 | IfAtril detects that the document you have open has changed (perhaps because another program has modified it), it will automatically reload the document and display the most recent version for you. 26 |

27 | 28 |

29 | If the document is deleted while you are still viewing it, it will still remain open. 30 |

31 | 32 |
33 | -------------------------------------------------------------------------------- /help/C/synctex-compile.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to compile your TeX document with SyncTeX 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | 18 | Compile TeX with SyncTeX 19 |

20 | Adding the line \synctex=1 in the preamble of your TeX file will trigger synchronization with SyncTeX. 21 |

22 | 23 | \documentclass{article} 24 | \synctex=1 25 | \usepackage{fullpage} 26 | \begin{document} 27 | ... 28 | \end{document} 29 | 30 |

31 | Alternatively, you can run the pdflatex command with the -synctex=1 option: 32 |

33 | pdflatex -synctex=1 yourFile.tex 34 |
35 | -------------------------------------------------------------------------------- /help/C/synctex-editors.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Which editor can you use to edit your TEX file? 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 | 17 |
18 | 19 | Supported editors 20 | 21 |
<app>pluma</app> 22 |

23 | Forward Search (from pluma to Atril) and Backward search (from Atril to pluma) are both supported. 24 |

25 |
26 | 27 |
Vim-latex 28 |

29 | The pluma plugin contains a python script (atril_dbus.py) that can be used to get SyncTeX working with Vim. 30 | In order to use vim-latex together with Atril you need to follow the next steps: 31 |

32 | 33 | 34 |

35 | Copy the atril_dbus.py to some directory in your path and give it +x permissions. 36 | 37 |

38 |
39 | 40 |

41 | Modify your ~/.vimrc file and add the following lines. 42 |

43 | 44 | let g:Tex_ViewRule_pdf = 'atril_dbus.py' 45 | let g:Tex_DefaultTargetFormat = 'pdf' 46 | let g:Tex_CompileRule_pdf = 'pdflatex --synctex=1 -interaction=nonstopmode $*' 47 | 48 | 49 |
50 | 51 |

52 | Now you can use Forward search from vim-latex by typing \ls. Backward search is not yet supported. 53 |

54 |
55 |
56 |
57 |
58 | -------------------------------------------------------------------------------- /help/C/synctex-support.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to add support for SyncTeX. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 | Germán Poo-Caamaño 15 | gpoo@mate.org 16 | 17 | 18 |

Creative Commons Share Alike 3.0

19 |
20 | 21 |
22 | 23 | Set-up SyncTeX 24 |

25 | The following packages need to be installed in order to add support for SyncTeX: 26 |

27 | 28 | 29 |

30 | A LaTeX engine with SyncTeX support, such as pdflatex. 31 |

32 |
33 | 34 |

35 | A text editor with SyncTeX support, such as pluma with pluma-plugins installed. 36 |

37 |
38 |
39 | 40 |

41 | In pluma, enable the SyncTeX Plugin: 42 |

43 | 44 | 45 |

46 | Click EditPreferencesPlugins tab. 47 |

48 |
49 | 50 |

51 | Check SyncTeX. 52 |

53 |
54 |
55 |
56 | -------------------------------------------------------------------------------- /help/C/synctex.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | SyncTeX support is available. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany@antopolski.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | 18 | What is SyncTeX? 19 |

20 | SyncTeX is a method that enables synchronization between a TeX source file and the resulting PDF output. 21 |

22 | 23 |
24 | -------------------------------------------------------------------------------- /help/C/textselection.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | When you copy text, the text that is pasted might be different from what you had selected. 8 | 9 | 10 | Phil Bull 11 | philbull@gmail.com 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 | 17 |
18 | 19 | Why didn't the text I selected copy properly? 20 | 21 | 22 |

23 | If you highlight and copy text from a document using Atril and then paste it into another 24 | application, the formatting may alter. It may also contain different characters than the original selection. This often happens when copying text from a PDF document with multiple columns. 25 |

26 | 27 | 28 |

29 | This problem happens because of how some document formats handle text. 30 | The actual text in the document is stored differently from the way it is 31 | displayed. This may result in a copy that does not appear as expected. 32 |

33 | 34 |

35 | Unfortunately, there is no real way of fixing this problem. Copying 36 | less text at a time, or copying the text into a text editor (like pluma) may minimize the problem. 37 |

38 | 39 |
40 | -------------------------------------------------------------------------------- /help/C/translate.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Localize Atril. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany.antopolski@gmail.com 12 | 2011 13 | 14 | 15 | Michael Hill 16 | mdhillca@gmail.com 17 | 18 | 19 |

Creative Commons Share Alike 3.0

20 |
21 |
22 | 23 | Help translate 24 |

25 | Atrils user interface and documentation is being translated by a world-wide volunteer community. You are welcome to participate. 26 |

27 |

28 | There are many languages for which translations are still needed. 29 |

30 |

31 | To start translating you will need to create an account and join the translation team for your language. This will give you the ability to upload new translations. 32 |

33 | 34 |
35 | -------------------------------------------------------------------------------- /help/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = reference 2 | 3 | @YELP_HELP_RULES@ 4 | 5 | HELP_ID = atril 6 | 7 | HELP_MEDIA = figures/atril.png \ 8 | figures/atril-trail.png 9 | 10 | HELP_FILES = \ 11 | annotation-properties.page \ 12 | annotations-delete.page \ 13 | annotations-disabled.page \ 14 | annotations-navigate.page \ 15 | annotations.page \ 16 | annotations-save.page \ 17 | bookmarks.page \ 18 | bug-filing.page \ 19 | commandline.page \ 20 | convertpdf.page \ 21 | convertPostScript.page \ 22 | convertSVG.page \ 23 | default-settings.page \ 24 | develop.page \ 25 | documentation.page \ 26 | duplex-npages.page \ 27 | editing.page \ 28 | finding.page \ 29 | formats.page \ 30 | forms.page \ 31 | forms-saving.page \ 32 | index.page \ 33 | introduction.page \ 34 | invert-colors.page \ 35 | license.page \ 36 | legal.xml \ 37 | legal-unported.xml \ 38 | movingaround.page \ 39 | noprint.page \ 40 | openerror.page \ 41 | opening.page \ 42 | password.page \ 43 | presentations.page \ 44 | print-2sided.page \ 45 | print-booklet.page \ 46 | print-differentsize.page \ 47 | printing.page \ 48 | print-pagescaling.page \ 49 | reload.page \ 50 | shortcuts.page \ 51 | singlesided-npages.page \ 52 | synctex-beamer.page \ 53 | synctex-compile.page \ 54 | synctex-editors.page \ 55 | synctex.page \ 56 | synctex-search.page \ 57 | synctex-support.page \ 58 | textselection.page \ 59 | translate.page 60 | 61 | # Add linguas to be ignored, e.g. IGNORE_HELP_LINGUAS = ca de es fr 62 | if USE_NLS 63 | IGNORE_HELP_LINGUAS = 64 | HELP_LINGUAS = $(if $(IGNORE_HELP_LINGUAS), \ 65 | $(filter-out $(IGNORE_HELP_LINGUAS),$(subst /,,$(dir $(wildcard */*.po)))), \ 66 | $(subst /,,$(dir $(wildcard */*.po))) ) 67 | else 68 | HELP_LINGUAS = 69 | endif 70 | 71 | DISTCLEANFILES = \ 72 | Makefile.in 73 | 74 | -include $(top_srcdir)/git.mk 75 | -------------------------------------------------------------------------------- /help/atril.omf.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | user's guide 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /help/bg/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/bg/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/ca/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/ca/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/cs/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/cs/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/de/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/de/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/el/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/el/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/es/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/es/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/eu/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/eu/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/fi/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/fi/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/fr/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/fr/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/it/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/it/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/ja/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/ja/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/meson.build: -------------------------------------------------------------------------------- 1 | # developer docs 2 | if get_option('docs') 3 | glib_prefix = glib.get_pkgconfig_variable('prefix') 4 | gtk_prefix = gtk.get_pkgconfig_variable('prefix') 5 | 6 | fixref_args = [ 7 | '--extra-dir=' + join_paths(glib_prefix, gnome.gtkdoc_html_dir('glib')), 8 | '--extra-dir=' + join_paths(glib_prefix, gnome.gtkdoc_html_dir('gio')), 9 | '--extra-dir=' + join_paths(gtk_prefix, gnome.gtkdoc_html_dir('gdk')), 10 | '--extra-dir=' + join_paths(gtk_prefix, gnome.gtkdoc_html_dir('gdk-pixbuf')), 11 | '--extra-dir=' + join_paths(gtk_prefix, gnome.gtkdoc_html_dir('gtk')), 12 | ] 13 | 14 | subdir('reference/libdocument') 15 | subdir('reference/libview') 16 | subdir('reference/shell') 17 | endif 18 | 19 | # help files 20 | if get_option('help_files') 21 | help_sources = [ 22 | 'index.docbook', 23 | 'legal.xml', 24 | ] 25 | 26 | help_media = [ 27 | 'figures/atril_start_window.png', 28 | ] 29 | 30 | gnome.yelp( 31 | meson.project_name(), 32 | sources: help_sources, 33 | media: help_media, 34 | ) 35 | endif 36 | -------------------------------------------------------------------------------- /help/nl/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/nl/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/reference/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = libdocument libview shell 2 | -include $(top_srcdir)/git.mk 3 | -------------------------------------------------------------------------------- /help/reference/libdocument/libatrildocument-overrides.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/reference/libdocument/libatrildocument-overrides.txt -------------------------------------------------------------------------------- /help/reference/libdocument/libatrildocument.types: -------------------------------------------------------------------------------- 1 | ev_annotation_attachment_get_type 2 | ev_annotation_get_type 3 | ev_annotation_markup_get_type 4 | ev_annotation_text_get_type 5 | ev_async_renderer_get_type 6 | ev_attachment_get_type 7 | ev_compression_type_get_type 8 | ev_document_annotations_get_type 9 | ev_document_attachments_get_type 10 | ev_document_error_get_type 11 | ev_document_find_get_type 12 | ev_document_fonts_get_type 13 | ev_document_forms_get_type 14 | ev_document_get_type 15 | ev_document_images_get_type 16 | ev_document_info_fields_get_type 17 | ev_document_info_get_type 18 | ev_document_layers_get_type 19 | ev_document_layout_get_type 20 | ev_document_license_get_type 21 | ev_document_links_get_type 22 | ev_document_mode_get_type 23 | ev_document_permissions_get_type 24 | ev_document_print_get_type 25 | ev_document_security_get_type 26 | ev_document_thumbnails_get_type 27 | ev_document_transition_get_type 28 | ev_document_ui_hints_get_type 29 | ev_file_exporter_capabilities_get_type 30 | ev_file_exporter_format_get_type 31 | ev_file_exporter_get_type 32 | ev_form_field_button_get_type 33 | ev_form_field_button_type_get_type 34 | ev_form_field_choice_get_type 35 | ev_form_field_choice_type_get_type 36 | ev_form_field_get_type 37 | ev_form_field_signature_get_type 38 | ev_form_field_text_get_type 39 | ev_form_field_text_type_get_type 40 | ev_image_get_type 41 | ev_layer_get_type 42 | ev_link_action_get_type 43 | ev_link_action_type_get_type 44 | ev_link_dest_get_type 45 | ev_link_dest_type_get_type 46 | ev_link_get_type 47 | ev_page_get_type 48 | ev_rectangle_get_type 49 | ev_render_context_get_type 50 | ev_selection_get_type 51 | ev_selection_style_get_type 52 | ev_transition_effect_alignment_get_type 53 | ev_transition_effect_direction_get_type 54 | ev_transition_effect_get_type 55 | ev_transition_effect_type_get_type 56 | -------------------------------------------------------------------------------- /help/reference/libdocument/meson.build: -------------------------------------------------------------------------------- 1 | version_conf = configuration_data() 2 | version_conf.set('VERSION', version) 3 | 4 | version_xml = configure_file( 5 | input: 'version.xml.in', 6 | output: 'version.xml', 7 | configuration: version_conf, 8 | ) 9 | 10 | libdoc_doc_deps = declare_dependency( 11 | include_directories: [libdoc_include, include_directories('.')], 12 | link_with: libdocument, 13 | dependencies: libdocument_deps, 14 | ) 15 | 16 | gnome.gtkdoc( 17 | 'libdocument', 18 | mode: 'xml', 19 | main_xml: 'libdocument-docs.xml', 20 | gobject_typesfile: files('libdocument.types'), 21 | src_dir: [ 22 | join_paths(meson.source_root(), 'libdocument'), 23 | ], 24 | ignore_headers: [libdocument_private_headers], 25 | dependencies: libdoc_doc_deps, 26 | mkdb_args: ['--xml-mode', '--output-format=xml', '--name-space=ev'], 27 | fixxref_args: fixref_args, 28 | install: true, 29 | install_dir: 'libocument-' + api_version, 30 | ) 31 | -------------------------------------------------------------------------------- /help/reference/libdocument/version.xml.in: -------------------------------------------------------------------------------- 1 | @VERSION@ -------------------------------------------------------------------------------- /help/reference/libview/libatrilview-overrides.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/reference/libview/libatrilview-overrides.txt -------------------------------------------------------------------------------- /help/reference/libview/libatrilview.types: -------------------------------------------------------------------------------- 1 | #include 2 | #include "ev-annotation-window.h" 3 | #include "ev-page-cache.h" 4 | #include "ev-view-presentation.h" 5 | 6 | ev_annotation_window_get_type 7 | ev_document_model_get_type 8 | ev_job_attachments_get_type 9 | ev_job_export_get_type 10 | ev_job_find_get_type 11 | ev_job_fonts_get_type 12 | ev_job_get_type 13 | ev_job_layers_get_type 14 | ev_job_links_get_type 15 | ev_job_load_get_type 16 | ev_job_page_data_flags_get_type 17 | ev_job_page_data_get_type 18 | ev_job_print_get_type 19 | ev_job_priority_get_type 20 | ev_job_render_get_type 21 | ev_job_run_mode_get_type 22 | ev_job_save_get_type 23 | ev_job_thumbnail_get_type 24 | ev_page_cache_get_type 25 | ev_print_operation_get_type 26 | ev_sizing_mode_get_type 27 | ev_view_get_type 28 | ev_view_presentation_get_type 29 | -------------------------------------------------------------------------------- /help/reference/libview/meson.build: -------------------------------------------------------------------------------- 1 | version_conf = configuration_data() 2 | version_conf.set('VERSION', version) 3 | 4 | version_xml = configure_file( 5 | input: 'version.xml.in', 6 | output: 'version.xml', 7 | configuration: version_conf, 8 | ) 9 | 10 | libview_doc_deps = declare_dependency( 11 | include_directories: [include_root, libdoc_include, libview_include, include_directories('.')], 12 | link_with: libview, 13 | dependencies: libdoc_deps, 14 | ) 15 | 16 | gnome.gtkdoc( 17 | 'libview', 18 | mode: 'xml', 19 | main_xml: 'libview-docs.xml', 20 | gobject_typesfile: files('libview.types'), 21 | src_dir: [ 22 | join_paths(meson.source_root(), 'libview'), 23 | ], 24 | ignore_headers: [libview_private_headers], 25 | dependencies: libview_doc_deps, 26 | mkdb_args: ['--xml-mode', '--output-format=xml', '--name-space=ev'], 27 | cflags: '-DATRIL_COMPILATION', 28 | fixxref_args: fixref_args, 29 | install: true, 30 | install_dir: 'libview-' + api_version, 31 | ) 32 | -------------------------------------------------------------------------------- /help/reference/libview/version.xml.in: -------------------------------------------------------------------------------- 1 | @VERSION@ -------------------------------------------------------------------------------- /help/reference/shell/atril-overrides.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/reference/shell/atril-overrides.txt -------------------------------------------------------------------------------- /help/reference/shell/atril.types: -------------------------------------------------------------------------------- 1 | egg_find_bar_get_type 2 | ev_application_get_type 3 | ev_file_monitor_get_type 4 | ev_history_get_type 5 | ev_media_player_keys_get_type 6 | ev_message_area_get_type 7 | ev_metadata_get_type 8 | ev_navigation_action_get_type 9 | ev_navigation_action_widget_get_type 10 | ev_open_recent_action_get_type 11 | ev_page_action_get_type 12 | ev_page_action_widget_get_type 13 | ev_password_view_get_type 14 | ev_progress_message_area_get_type 15 | ev_properties_dialog_get_type 16 | ev_properties_fonts_get_type 17 | ev_properties_license_get_type 18 | ev_sidebar_attachments_get_type 19 | ev_sidebar_get_type 20 | ev_sidebar_layers_get_type 21 | ev_sidebar_links_get_type 22 | ev_sidebar_page_get_type 23 | ev_sidebar_thumbnails_get_type 24 | ev_window_get_type 25 | -------------------------------------------------------------------------------- /help/reference/shell/meson.build: -------------------------------------------------------------------------------- 1 | version_conf = configuration_data() 2 | version_conf.set('VERSION', version) 3 | 4 | version_xml = configure_file( 5 | input: 'version.xml.in', 6 | output: 'version.xml', 7 | configuration: version_conf, 8 | ) 9 | 10 | atril_doc_deps = declare_dependency( 11 | include_directories: [include_root, libdoc_include, libview_include, include_directories('.')], 12 | link_with: [libdocument, libview], 13 | dependencies: atril_deps, 14 | ) 15 | 16 | gnome.gtkdoc( 17 | meson.project_name(), 18 | mode: 'xml', 19 | main_xml: 'atril-docs.xml', 20 | gobject_typesfile: files('atril.types'), 21 | src_dir: [ 22 | join_paths(meson.project_source_root(), 'libview'), 23 | ], 24 | ignore_headers: [libview_private_headers], 25 | dependencies: atril_doc_deps, 26 | mkdb_args: ['--xml-mode', '--output-format=xml', '--name-space=ev'], 27 | cflags: '-DATRIL_COMPILATION', 28 | fixxref_args: fixref_args, 29 | install: true, 30 | install_dir: meson.project_name(), 31 | ) 32 | -------------------------------------------------------------------------------- /help/reference/shell/version.xml.in: -------------------------------------------------------------------------------- 1 | @VERSION@ -------------------------------------------------------------------------------- /help/sv/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/sv/figures/atril_start_window.png -------------------------------------------------------------------------------- /help/uk/figures/atril_start_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/help/uk/figures/atril_start_window.png -------------------------------------------------------------------------------- /install-scripts/meson.build: -------------------------------------------------------------------------------- 1 | # These scripts run as post-installation scripts. 2 | 3 | # They're designed to do nothing if DESTDIR is set, which happens 4 | # during debian builds for instance - there's a fake install target 5 | # so running these would be pointless. 6 | 7 | # When using deb packaging, these aren't needed, as these operations 8 | # are run automatically by the package manager. 9 | 10 | # They're really only necessary in straight builds where 'ninja install' 11 | # will be run directly, to install the program onto the system. 12 | 13 | 14 | # Re-compile gsettings 15 | meson.add_install_script('meson_install_schemas.py') 16 | 17 | # Update mime info 18 | meson.add_install_script('meson_update_mime_database.py') 19 | 20 | # Update the Gtk icon cache 21 | meson.add_install_script('meson_update_icon_cache.py') 22 | -------------------------------------------------------------------------------- /install-scripts/meson_install_schemas.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import subprocess 5 | 6 | schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas') 7 | 8 | if not os.environ.get('DESTDIR'): 9 | print('Compiling gsettings schemas...') 10 | subprocess.call(['glib-compile-schemas', schemadir]) 11 | -------------------------------------------------------------------------------- /install-scripts/meson_update_icon_cache.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import subprocess 5 | 6 | themedir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'icons', 'hicolor') 7 | 8 | if not os.environ.get('DESTDIR'): 9 | print('Updating gtk icon cache... %s' % themedir) 10 | subprocess.call(['gtk-update-icon-cache', '-f', '-t', themedir]) 11 | -------------------------------------------------------------------------------- /install-scripts/meson_update_mime_database.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import subprocess 5 | 6 | mimedir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'mime') 7 | 8 | if not os.environ.get('DESTDIR'): 9 | print('Updating mime database...') 10 | subprocess.call(['update-mime-database', mimedir]) 11 | -------------------------------------------------------------------------------- /libdocument/ev-document-factory.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ 2 | /* 3 | * Copyright (C) 2005, Red Hat, Inc. 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #if !defined (__EV_ATRIL_DOCUMENT_H_INSIDE__) && !defined (ATRIL_COMPILATION) 22 | #error "Only can be included directly." 23 | #endif 24 | 25 | #ifndef EV_DOCUMENT_FACTORY_H 26 | #define EV_DOCUMENT_FACTORY_H 27 | 28 | #include 29 | 30 | #include "ev-document.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | EvDocument* ev_document_factory_get_document (const char *uri, GError **error); 35 | void ev_document_factory_add_filters (GtkWidget *chooser, EvDocument *document); 36 | 37 | G_END_DECLS 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /libdocument/ev-document-images.c: -------------------------------------------------------------------------------- 1 | /* ev-document-images.c 2 | * this file is part of atril, a mate document_links viewer 3 | * 4 | * Copyright (C) 2006 Carlos Garcia Campos 5 | * 6 | * Atril is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Atril is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include 22 | #include "ev-document-images.h" 23 | 24 | G_DEFINE_INTERFACE (EvDocumentImages, ev_document_images, 0) 25 | 26 | static void 27 | ev_document_images_default_init (EvDocumentImagesInterface *klass) 28 | { 29 | } 30 | 31 | EvMappingList * 32 | ev_document_images_get_image_mapping (EvDocumentImages *document_images, 33 | EvPage *page) 34 | { 35 | EvDocumentImagesInterface *iface = EV_DOCUMENT_IMAGES_GET_IFACE (document_images); 36 | 37 | return iface->get_image_mapping (document_images, page); 38 | } 39 | 40 | /** 41 | * ev_document_images_get_image: 42 | * @document_images: an #EvDocumentImages 43 | * @image: an #EvImage 44 | * 45 | * Returns: (transfer full): a #GdkPixbuf 46 | */ 47 | GdkPixbuf * 48 | ev_document_images_get_image (EvDocumentImages *document_images, 49 | EvImage *image) 50 | { 51 | EvDocumentImagesInterface *iface = EV_DOCUMENT_IMAGES_GET_IFACE (document_images); 52 | 53 | return iface->get_image (document_images, image); 54 | } 55 | -------------------------------------------------------------------------------- /libdocument/ev-document-print.c: -------------------------------------------------------------------------------- 1 | /* ev-document-print.c 2 | * this file is part of atril, a mate document_links viewer 3 | * 4 | * Copyright (C) 2009 Carlos Garcia Campos 5 | * 6 | * Atril is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Atril is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include "config.h" 22 | 23 | #include "ev-document.h" 24 | #include "ev-document-print.h" 25 | 26 | G_DEFINE_INTERFACE (EvDocumentPrint, ev_document_print, 0) 27 | 28 | static void 29 | ev_document_print_default_init (EvDocumentPrintInterface *klass) 30 | { 31 | } 32 | 33 | void 34 | ev_document_print_print_page (EvDocumentPrint *document_print, 35 | EvPage *page, 36 | cairo_t *cr) 37 | { 38 | EvDocumentPrintInterface *iface = EV_DOCUMENT_PRINT_GET_IFACE (document_print); 39 | 40 | iface->print_page (document_print, page, cr); 41 | } 42 | -------------------------------------------------------------------------------- /libdocument/ev-document-security.c: -------------------------------------------------------------------------------- 1 | /* ev-document-links.h 2 | * this file is part of atril, a mate document_links viewer 3 | * 4 | * Copyright (C) 2004 Red Hat, Inc. 5 | * 6 | * Author: 7 | * Jonathan Blandford 8 | * 9 | * Atril is free software; you can redistribute it and/or modify it 10 | * under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Atril is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | #include "config.h" 25 | 26 | #include "ev-document-security.h" 27 | 28 | G_DEFINE_INTERFACE (EvDocumentSecurity, ev_document_security, 0) 29 | 30 | static void 31 | ev_document_security_default_init (EvDocumentSecurityInterface *klass) 32 | { 33 | } 34 | 35 | gboolean 36 | ev_document_security_has_document_security (EvDocumentSecurity *document_security) 37 | { 38 | EvDocumentSecurityInterface *iface = EV_DOCUMENT_SECURITY_GET_IFACE (document_security); 39 | return iface->has_document_security (document_security); 40 | } 41 | 42 | void 43 | ev_document_security_set_password (EvDocumentSecurity *document_security, 44 | const char *password) 45 | { 46 | EvDocumentSecurityInterface *iface = EV_DOCUMENT_SECURITY_GET_IFACE (document_security); 47 | iface->set_password (document_security, password); 48 | } 49 | -------------------------------------------------------------------------------- /libdocument/ev-document-type-builtins.c.template: -------------------------------------------------------------------------------- 1 | /*** BEGIN file-header ***/ 2 | #include 3 | 4 | #include "ev-document-type-builtins.h" 5 | 6 | /*** END file-header ***/ 7 | 8 | /*** BEGIN file-production ***/ 9 | /* enumerations from "@filename@" */ 10 | #include "@filename@" 11 | /*** END file-production ***/ 12 | 13 | 14 | /*** BEGIN value-header ***/ 15 | GType 16 | @enum_name@_get_type (void) 17 | { 18 | static volatile gsize g_define_type_id__volatile = 0; 19 | 20 | if (g_once_init_enter (&g_define_type_id__volatile)) { 21 | static const G@Type@Value values[] = { 22 | /*** END value-header ***/ 23 | 24 | /*** BEGIN value-production ***/ 25 | { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, 26 | /*** END value-production ***/ 27 | 28 | /*** BEGIN value-tail ***/ 29 | { 0, NULL, NULL } 30 | }; 31 | GType g_define_type_id = \ 32 | g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); 33 | 34 | g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); 35 | } 36 | 37 | return g_define_type_id__volatile; 38 | } 39 | 40 | /*** END value-tail ***/ 41 | 42 | /*** BEGIN file-tail ***/ 43 | 44 | /*** END file-tail ***/ 45 | -------------------------------------------------------------------------------- /libdocument/ev-document-type-builtins.h.template: -------------------------------------------------------------------------------- 1 | /*** BEGIN file-header ***/ 2 | 3 | #if !defined (__EV_ATRIL_DOCUMENT_H_INSIDE__) && !defined (ATRIL_COMPILATION) 4 | #error "Only can be included directly." 5 | #endif 6 | 7 | #ifndef EV_DOCUMENT_TYPE_BUILTINS_H 8 | #define EV_DOCUMENT_TYPE_BUILTINS_H 9 | 10 | #include 11 | 12 | G_BEGIN_DECLS 13 | /*** END file-header ***/ 14 | 15 | /*** BEGIN file-production ***/ 16 | 17 | /* enumerations from "@filename@" */ 18 | /*** END file-production ***/ 19 | 20 | /*** BEGIN value-header ***/ 21 | GType @enum_name@_get_type (void) G_GNUC_CONST; 22 | #define EV_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) 23 | /*** END value-header ***/ 24 | 25 | /*** BEGIN file-tail ***/ 26 | G_END_DECLS 27 | 28 | #endif /* !EV_DOCUMENT_TYPE_BUILTINS_H */ 29 | /*** END file-tail ***/ 30 | -------------------------------------------------------------------------------- /libdocument/ev-init.h: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright © 2009 Christian Persch 4 | * 5 | * Atril is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU Lesser General Public License as published by 7 | * the Free Software Foundation; either version 2.1 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Atril is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #if !defined (__EV_ATRIL_DOCUMENT_H_INSIDE__) && !defined (ATRIL_COMPILATION) 21 | #error "Only can be included directly." 22 | #endif 23 | 24 | #ifndef EV_INIT_H 25 | #define EV_INIT_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | const gchar* ev_get_locale_dir (void); 32 | 33 | gboolean ev_init (void); 34 | 35 | void ev_shutdown (void); 36 | 37 | gboolean _ev_is_initialized (void); 38 | 39 | G_END_DECLS 40 | 41 | #endif /* EV_INIT_H */ 42 | -------------------------------------------------------------------------------- /libdocument/ev-layer.c: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright (C) 2008 Carlos Garcia Campos 4 | * 5 | * Atril is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Atril is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include 21 | 22 | #include "ev-layer.h" 23 | 24 | struct _EvLayerPrivate { 25 | gboolean is_parent; 26 | gint rb_group; 27 | }; 28 | 29 | G_DEFINE_TYPE_WITH_PRIVATE (EvLayer, ev_layer, G_TYPE_OBJECT) 30 | 31 | static void 32 | ev_layer_class_init (EvLayerClass *klass) 33 | { 34 | } 35 | 36 | static void 37 | ev_layer_init (EvLayer *layer) 38 | { 39 | layer->priv = ev_layer_get_instance_private (layer); 40 | } 41 | 42 | EvLayer * 43 | ev_layer_new (gboolean is_parent, 44 | gint rb_group) 45 | { 46 | EvLayer *layer; 47 | 48 | layer = EV_LAYER (g_object_new (EV_TYPE_LAYER, NULL)); 49 | layer->priv->is_parent = is_parent; 50 | layer->priv->rb_group = rb_group; 51 | 52 | return layer; 53 | } 54 | 55 | gboolean 56 | ev_layer_is_parent (EvLayer *layer) 57 | { 58 | g_return_val_if_fail (EV_IS_LAYER (layer), FALSE); 59 | 60 | return layer->priv->is_parent; 61 | } 62 | 63 | gint 64 | ev_layer_get_rb_group (EvLayer *layer) 65 | { 66 | g_return_val_if_fail (EV_IS_LAYER (layer), 0); 67 | 68 | return layer->priv->rb_group; 69 | } 70 | -------------------------------------------------------------------------------- /libdocument/ev-macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012 Christian Persch 3 | * 4 | * This library is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU Lesser General Public License as published by the 6 | * Free Software Foundation; either version 2.1 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef EV_MACROS_H 20 | #define EV_MACROS_H 21 | 22 | #if defined(EV_DISABLE_DEPRECATION_WARNINGS) || defined(EVINCE_COMPILATION) 23 | #define EV_DEPRECATED 24 | #define EV_DEPRECATED_FOR(f) 25 | #define EV_UNAVAILABLE(maj,min) 26 | #else 27 | #define EV_DEPRECATED G_DEPRECATED 28 | #define EV_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) 29 | #define EV_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) 30 | #endif 31 | 32 | #endif /* #ifndef EV_MACROS_H */ 33 | -------------------------------------------------------------------------------- /libdocument/ev-page.c: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright (C) 2008 Carlos Garcia Campos 4 | * 5 | * Atril is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Atril is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include 21 | 22 | #include "ev-page.h" 23 | 24 | G_DEFINE_TYPE (EvPage, ev_page, G_TYPE_OBJECT) 25 | 26 | static void 27 | ev_page_init (EvPage *page) 28 | { 29 | } 30 | 31 | static void 32 | ev_page_finalize (GObject *object) 33 | { 34 | EvPage *page = EV_PAGE (object); 35 | 36 | if (page->backend_destroy_func) { 37 | page->backend_destroy_func (page->backend_page); 38 | page->backend_destroy_func = NULL; 39 | } 40 | page->backend_page = NULL; 41 | 42 | (* G_OBJECT_CLASS (ev_page_parent_class)->finalize) (object); 43 | } 44 | 45 | static void 46 | ev_page_class_init (EvPageClass *klass) 47 | { 48 | GObjectClass *object_class = G_OBJECT_CLASS (klass); 49 | 50 | object_class->finalize = ev_page_finalize; 51 | } 52 | 53 | EvPage * 54 | ev_page_new (gint index) 55 | { 56 | EvPage *page; 57 | 58 | page = EV_PAGE (g_object_new (EV_TYPE_PAGE, NULL)); 59 | page->index = index; 60 | 61 | return page; 62 | } 63 | -------------------------------------------------------------------------------- /libmisc/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libevmisc.la 2 | 3 | libevmisc_la_SOURCES = \ 4 | ev-page-action.c \ 5 | ev-page-action.h \ 6 | ev-page-action-widget.c \ 7 | ev-page-action-widget.h 8 | 9 | libevmisc_la_CFLAGS = \ 10 | -DATRILDATADIR=\"$(pkgdatadir)\" \ 11 | -I$(top_srcdir) \ 12 | -I$(top_srcdir)/libdocument \ 13 | -I$(top_srcdir)/libview \ 14 | $(SHELL_CORE_CFLAGS) \ 15 | $(WARNING_CFLAGS) \ 16 | $(DISABLE_DEPRECATED) 17 | 18 | libevmisc_la_LIBADD = \ 19 | $(top_builddir)/libdocument/libatrildocument.la \ 20 | $(top_builddir)/libview/libatrilview.la 21 | 22 | -include $(top_srcdir)/git.mk 23 | -------------------------------------------------------------------------------- /libmisc/ev-page-action-widget.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003, 2004 Marco Pesenti Gritti 3 | * Copyright (C) 2003, 2004 Christian Persch 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #include 22 | 23 | #include 24 | 25 | #define EV_TYPE_PAGE_ACTION_WIDGET (ev_page_action_widget_get_type ()) 26 | #define EV_PAGE_ACTION_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_PAGE_ACTION_WIDGET, EvPageActionWidget)) 27 | 28 | typedef struct _EvPageActionWidget EvPageActionWidget; 29 | typedef struct _EvPageActionWidgetClass EvPageActionWidgetClass; 30 | 31 | struct _EvPageActionWidgetClass 32 | { 33 | GtkToolItemClass parent_class; 34 | 35 | void (* activate_link) (EvPageActionWidget *page_action, 36 | EvLink *link); 37 | }; 38 | 39 | GType ev_page_action_widget_get_type (void) G_GNUC_CONST; 40 | 41 | void ev_page_action_widget_update_links_model (EvPageActionWidget *proxy, 42 | GtkTreeModel *model); 43 | 44 | void ev_page_action_widget_set_model (EvPageActionWidget *action_widget, 45 | EvDocumentModel *doc_model); 46 | void ev_page_action_widget_grab_focus (EvPageActionWidget *proxy); 47 | -------------------------------------------------------------------------------- /libmisc/meson.build: -------------------------------------------------------------------------------- 1 | libmisc_sources = [ 2 | 'ev-page-action.c', 3 | 'ev-page-action.h', 4 | 'ev-page-action-widget.c', 5 | 'ev-page-action-widget.h', 6 | libdoc_enums, 7 | libview_enums, 8 | ] 9 | 10 | libmisc_deps = [ 11 | libdocument_dep, 12 | glib, 13 | gtk, 14 | ] 15 | 16 | libmisc = static_library( 17 | 'misc', 18 | libmisc_sources, 19 | link_with: libview, 20 | include_directories: include_dirs, 21 | dependencies: libmisc_deps, 22 | ) 23 | 24 | libmisc_dep = declare_dependency( 25 | link_with: libmisc, 26 | include_directories: include_dirs, 27 | dependencies: libmisc_deps, 28 | ) 29 | -------------------------------------------------------------------------------- /libview/ev-view-cursor.c: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright (C) 2004 Red Hat, Inc 4 | * 5 | * Atril is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Atril is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include "ev-view-cursor.h" 21 | 22 | GdkCursor * 23 | ev_view_cursor_new (GdkDisplay *display, 24 | EvViewCursor new_cursor) 25 | { 26 | GdkCursor *cursor = NULL; 27 | 28 | switch (new_cursor) { 29 | case EV_VIEW_CURSOR_NORMAL: 30 | break; 31 | case EV_VIEW_CURSOR_IBEAM: 32 | cursor = gdk_cursor_new_for_display (display, GDK_XTERM); 33 | break; 34 | case EV_VIEW_CURSOR_LINK: 35 | cursor = gdk_cursor_new_for_display (display, GDK_HAND2); 36 | break; 37 | case EV_VIEW_CURSOR_WAIT: 38 | cursor = gdk_cursor_new_for_display (display, GDK_WATCH); 39 | break; 40 | case EV_VIEW_CURSOR_HIDDEN: 41 | cursor = gdk_cursor_new_for_display (display, GDK_BLANK_CURSOR); 42 | break; 43 | case EV_VIEW_CURSOR_DRAG: 44 | cursor = gdk_cursor_new_for_display (display, GDK_FLEUR); 45 | break; 46 | case EV_VIEW_CURSOR_AUTOSCROLL: 47 | cursor = gdk_cursor_new_for_display (display, GDK_DOUBLE_ARROW); 48 | break; 49 | case EV_VIEW_CURSOR_ADD: 50 | cursor = gdk_cursor_new_for_display (display, GDK_PLUS); 51 | break; 52 | } 53 | 54 | return cursor; 55 | } 56 | -------------------------------------------------------------------------------- /libview/ev-view-cursor.h: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright (C) 2004 Red Hat, Inc 4 | * 5 | * Atril is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Atril is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #if !defined (__EV_ATRIL_VIEW_H_INSIDE__) && !defined (ATRIL_COMPILATION) 21 | #error "Only can be included directly." 22 | #endif 23 | 24 | #ifndef __EV_VIEW_CURSOR_H__ 25 | #define __EV_VIEW_CURSOR_H__ 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | typedef enum { 32 | EV_VIEW_CURSOR_NORMAL, 33 | EV_VIEW_CURSOR_IBEAM, 34 | EV_VIEW_CURSOR_LINK, 35 | EV_VIEW_CURSOR_WAIT, 36 | EV_VIEW_CURSOR_HIDDEN, 37 | EV_VIEW_CURSOR_DRAG, 38 | EV_VIEW_CURSOR_AUTOSCROLL, 39 | EV_VIEW_CURSOR_ADD 40 | } EvViewCursor; 41 | 42 | GdkCursor *ev_view_cursor_new (GdkDisplay *display, 43 | EvViewCursor cursor); 44 | 45 | G_END_DECLS 46 | 47 | #endif /* __EV_VIEW_CURSOR_H__ */ 48 | -------------------------------------------------------------------------------- /libview/ev-view-marshal.list: -------------------------------------------------------------------------------- 1 | VOID:ENUM,ENUM 2 | VOID:INT,INT 3 | BOOLEAN:ENUM,INT,BOOLEAN 4 | -------------------------------------------------------------------------------- /libview/ev-view-type-builtins.c.template: -------------------------------------------------------------------------------- 1 | /*** BEGIN file-header ***/ 2 | #include 3 | 4 | #include "ev-view-type-builtins.h" 5 | 6 | /*** END file-header ***/ 7 | 8 | /*** BEGIN file-production ***/ 9 | /* enumerations from "@filename@" */ 10 | #include "@filename@" 11 | /*** END file-production ***/ 12 | 13 | 14 | /*** BEGIN value-header ***/ 15 | GType 16 | @enum_name@_get_type (void) 17 | { 18 | static volatile gsize g_define_type_id__volatile = 0; 19 | 20 | if (g_once_init_enter (&g_define_type_id__volatile)) { 21 | static const G@Type@Value values[] = { 22 | /*** END value-header ***/ 23 | 24 | /*** BEGIN value-production ***/ 25 | { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, 26 | /*** END value-production ***/ 27 | 28 | /*** BEGIN value-tail ***/ 29 | { 0, NULL, NULL } 30 | }; 31 | GType g_define_type_id = \ 32 | g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); 33 | 34 | g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); 35 | } 36 | 37 | return g_define_type_id__volatile; 38 | } 39 | 40 | /*** END value-tail ***/ 41 | 42 | /*** BEGIN file-tail ***/ 43 | 44 | /*** END file-tail ***/ 45 | -------------------------------------------------------------------------------- /libview/ev-view-type-builtins.h.template: -------------------------------------------------------------------------------- 1 | /*** BEGIN file-header ***/ 2 | 3 | #if !defined (__EV_ATRIL_VIEW_H_INSIDE__) && !defined (ATRIL_COMPILATION) 4 | #error "Only can be included directly." 5 | #endif 6 | 7 | #ifndef EV_VIEW_TYPE_BUILTINS_H 8 | #define EV_VIEW_TYPE_BUILTINS_H 9 | 10 | #include 11 | 12 | G_BEGIN_DECLS 13 | /*** END file-header ***/ 14 | 15 | /*** BEGIN file-production ***/ 16 | 17 | /* enumerations from "@filename@" */ 18 | /*** END file-production ***/ 19 | 20 | /*** BEGIN value-header ***/ 21 | GType @enum_name@_get_type (void) G_GNUC_CONST; 22 | #define EV_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) 23 | /*** END value-header ***/ 24 | 25 | /*** BEGIN file-tail ***/ 26 | G_END_DECLS 27 | 28 | #endif /* !EV_VIEW_TYPE_BUILTINS_H */ 29 | /*** END file-tail ***/ 30 | -------------------------------------------------------------------------------- /makepot: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | PACKAGE=atril; 4 | 5 | # normal translations 6 | make -C po $PACKAGE.pot && mv po/$PACKAGE.pot . 7 | sed -i "/#, fuzzy/d" $PACKAGE.pot 8 | 9 | # translations for user-quide 10 | rm -f help/$PACKAGE.pot && 11 | make -C help $PACKAGE.pot 12 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | af 3 | am 4 | ar 5 | as 6 | ast 7 | az 8 | be 9 | bg 10 | bn 11 | bn_IN 12 | br 13 | bs 14 | ca 15 | ca@valencia 16 | cmn 17 | crh 18 | cs 19 | cy 20 | da 21 | de 22 | de_CH 23 | dz 24 | el 25 | en_AU 26 | en_CA 27 | en_GB 28 | eo 29 | es 30 | es_AR 31 | es_CL 32 | es_CO 33 | es_CR 34 | es_DO 35 | es_EC 36 | es_ES 37 | es_MX 38 | es_NI 39 | es_PA 40 | es_PE 41 | es_PR 42 | es_SV 43 | es_UY 44 | es_VE 45 | et 46 | eu 47 | fa 48 | fi 49 | fr 50 | fr_CA 51 | frp 52 | fur 53 | fy 54 | ga 55 | gl 56 | gu 57 | ha 58 | he 59 | hi 60 | hr 61 | hu 62 | hy 63 | ia 64 | id 65 | ie 66 | ig 67 | is 68 | it 69 | ja 70 | jv 71 | ka 72 | kab 73 | kk 74 | kn 75 | ko 76 | ks 77 | ku 78 | ku_IQ 79 | ky 80 | li 81 | lt 82 | lv 83 | mai 84 | mg 85 | mi 86 | mk 87 | ml 88 | mn 89 | mr 90 | ms 91 | nb 92 | nds 93 | ne 94 | nl 95 | nn 96 | nqo 97 | nso 98 | oc 99 | or 100 | pa 101 | pl 102 | pms 103 | ps 104 | pt 105 | pt_BR 106 | ro 107 | ru 108 | rw 109 | sc 110 | si 111 | sk 112 | sl 113 | sq 114 | sr 115 | sr@latin 116 | sv 117 | ta 118 | te 119 | th 120 | tk 121 | tr 122 | tt 123 | ug 124 | uk 125 | ur 126 | ur_PK 127 | uz 128 | vi 129 | wa 130 | xh 131 | yi 132 | yo 133 | zh_CN 134 | zh_HK 135 | zh_TW 136 | zu 137 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | data/atril.desktop.in 2 | backend/dvi/mdvi-lib/dviread.c 3 | backend/dvi/mdvi-lib/font.c 4 | backend/dvi/mdvi-lib/fontmap.c 5 | backend/dvi/mdvi-lib/gf.c 6 | backend/dvi/mdvi-lib/pagesel.c 7 | backend/dvi/mdvi-lib/paper.c 8 | backend/dvi/mdvi-lib/pk.c 9 | backend/dvi/mdvi-lib/sp-epsf.c 10 | backend/dvi/mdvi-lib/special.c 11 | backend/dvi/mdvi-lib/t1.c 12 | backend/dvi/mdvi-lib/tfm.c 13 | backend/dvi/mdvi-lib/tfmfile.c 14 | backend/dvi/mdvi-lib/tt.c 15 | backend/dvi/mdvi-lib/util.c 16 | backend/dvi/mdvi-lib/vf.c 17 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n.gettext(meson.project_name(), 2 | preset: 'glib' 3 | ) 4 | -------------------------------------------------------------------------------- /previewer/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | bin_PROGRAMS = atril-previewer 3 | 4 | man_MANS = atril-previewer.1 5 | 6 | atril_previewer_SOURCES = \ 7 | ev-previewer.c \ 8 | ev-previewer-resources.c \ 9 | ev-previewer-window.h \ 10 | ev-previewer-window.c \ 11 | $(NULL) 12 | 13 | atril_previewer_CPPFLAGS = \ 14 | -I$(top_srcdir) \ 15 | -I$(top_builddir) \ 16 | -I$(top_srcdir)/libdocument \ 17 | -I$(top_srcdir)/libview \ 18 | -I$(top_srcdir)/libmisc \ 19 | $(AM_CPPFLAGS) 20 | 21 | atril_previewer_CFLAGS = \ 22 | $(PREVIEWER_CFLAGS) \ 23 | $(WARN_CFLAGS) \ 24 | $(DISABLE_DEPRECATED) \ 25 | $(AM_CFLAGS) \ 26 | $(WEBKIT_CFLAGS) 27 | 28 | atril_previewer_LDFLAGS = $(AM_LDFLAGS) 29 | 30 | atril_previewer_LDADD = \ 31 | $(top_builddir)/libdocument/libatrildocument.la \ 32 | $(top_builddir)/libview/libatrilview.la \ 33 | $(top_builddir)/libmisc/libevmisc.la \ 34 | $(PREVIEWER_LIBS) \ 35 | $(WEBKIT_LIBS) 36 | 37 | ev-previewer-resources.c: previewer.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/previewer.gresource.xml) 38 | $(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate-source --c-name ev_previewer $< 39 | 40 | EXTRA_DIST = \ 41 | previewer.gresource.xml \ 42 | previewer-ui.xml \ 43 | $(man_MANS) \ 44 | $(NULL) 45 | 46 | CLEANFILES = \ 47 | ev-previewer-resources.c \ 48 | $(NULL) 49 | 50 | -include $(top_srcdir)/git.mk 51 | -------------------------------------------------------------------------------- /previewer/atril-previewer.1: -------------------------------------------------------------------------------- 1 | .TH atril\-previewer 1 2007\-01\-15 2 | .SH NAME 3 | atril\-previewer \- show print preview for a document 4 | .SH SYNOPSIS 5 | \fBatril\-previewer\fR \fB[file]\fR 6 | .SH DESCRIPTION 7 | atril\-previewer is a MATE program to 8 | show print preview dialog for files supported by atril. 9 | .SH OPTIONS 10 | atril\-previewer obeys all normal GTK+ 11 | command line options. 12 | .SH "SEE ALSO" 13 | \fBatril\fR(1), 14 | \fBgtk\-options\fR(7). 15 | .PP 16 | https://mate-desktop.org/ 17 | -------------------------------------------------------------------------------- /previewer/meson.build: -------------------------------------------------------------------------------- 1 | previewer_sources = [ 2 | 'ev-previewer.c', 3 | 'ev-previewer-window.h', 4 | 'ev-previewer-window.c', 5 | libdoc_enums, 6 | libview_enums, 7 | ] 8 | 9 | previewer_sources += gnome.compile_resources( 10 | 'previewer-resources', 'previewer.gresource.xml', 11 | source_dir: ['.', join_paths(meson.project_source_root(), 'data')], 12 | c_name: 'ev_previewer' 13 | ) 14 | 15 | previewer_deps = [ 16 | libdocument_dep, 17 | gio, 18 | gtk, 19 | gtk_unix_print 20 | ] 21 | 22 | executable( 23 | 'atril-previewer', 24 | previewer_sources, 25 | dependencies: previewer_deps, 26 | link_with: [libview, libmisc], 27 | include_directories: include_dirs, 28 | install: true, 29 | ) 30 | 31 | install_data( 32 | 'atril-previewer.1', 33 | install_dir : join_paths(prefix, get_option('mandir'), 'man1') 34 | ) 35 | -------------------------------------------------------------------------------- /previewer/previewer-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /previewer/previewer.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | previewer-ui.xml 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /properties/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS= \ 2 | -DATRILDATADIR=\"$(pkgdatadir)\" \ 3 | -DMATELOCALEDIR=\"$(datadir)/locale\" \ 4 | -I$(top_srcdir) \ 5 | -I$(top_builddir) \ 6 | $(FRONTEND_CFLAGS) \ 7 | $(CAJA_CFLAGS) \ 8 | $(DISABLE_DEPRECATED) \ 9 | $(WARN_CFLAGS) 10 | 11 | noinst_LTLIBRARIES = libevproperties.la 12 | 13 | libevproperties_la_SOURCES= \ 14 | ev-properties-view.c \ 15 | ev-properties-view.h 16 | 17 | if ENABLE_CAJA 18 | 19 | cajaextension_LTLIBRARIES = libatril-properties-page.la 20 | 21 | libatril_properties_page_la_CFLAGS = -I$(top_srcdir) 22 | libatril_properties_page_la_SOURCES = \ 23 | ev-properties-main.c 24 | 25 | libatril_properties_page_la_LIBADD = \ 26 | libevproperties.la \ 27 | $(top_builddir)/libdocument/libatrildocument.la \ 28 | $(FRONTEND_LIBS) \ 29 | $(CAJA_LIBS) 30 | 31 | libatril_properties_page_la_LDFLAGS = -module -avoid-version -no-undefined 32 | 33 | extensiondir = $(datadir)/caja/extensions 34 | extension_in_in_files = libatril-properties-page.caja-extension.desktop.in.in 35 | extension_in_files = $(extension_in_in_files:.caja-extension.desktop.in.in=.caja-extension.desktop.in) 36 | extension_DATA = $(extension_in_files:.caja-extension.desktop.in=.caja-extension) 37 | $(extension_DATA): $(extension_in_files) 38 | if USE_NLS 39 | $(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Copyright --keyword=Name --keyword=Description --template $< -d $(top_srcdir)/po -o $@ 40 | else 41 | $(AM_V_GEN) cp -f $< $@ 42 | endif 43 | 44 | EXTRA_DIST = $(extension_in_in_files) 45 | 46 | DISTCLEANFILES = $(extension_in_files) 47 | CLEANFILES = $(extension_DATA) 48 | 49 | endif # ENABLE_CAJA 50 | 51 | -include $(top_srcdir)/git.mk 52 | -------------------------------------------------------------------------------- /properties/libatril-properties-page.caja-extension.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Caja Extension] 2 | # Translators: Do NOT translate or transliterate this text (this is an icon file name)! 3 | Icon=atril 4 | Name=Atril properties 5 | Description=Shows details for Atril documents 6 | Version=@VERSION@ 7 | Author=Andrew Sobala ;Bastien Nocera 8 | Website=@PACKAGE_URL@ 9 | Copyright=Copyright (C) 2000, 2001 Eazel Inc.\nCopyright (C) 2003 Andrew Sobala \nCopyright (C) 2005 Bastien Nocera \nCopyright (C) 2005 Red Hat, Inc\nCopyright (C) 2012–2021 The MATE developers 10 | -------------------------------------------------------------------------------- /properties/meson.build: -------------------------------------------------------------------------------- 1 | glib_dep = dependency('glib-2.0') 2 | properties_inc = include_directories('.', '..') 3 | 4 | libevproperties_sources = [ 5 | 'ev-properties-view.c', 6 | 'ev-properties-view.h', 7 | ] 8 | 9 | libevproperties = static_library( 10 | 'evproperties', 11 | libevproperties_sources, 12 | include_directories: properties_inc, 13 | dependencies: [glib_dep, gtk] 14 | ) 15 | 16 | libevproperties_dep = declare_dependency( 17 | link_with: libevproperties, 18 | include_directories: properties_inc, 19 | dependencies: [glib_dep, gtk] 20 | ) 21 | -------------------------------------------------------------------------------- /shell/atril-toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /shell/atril.css: -------------------------------------------------------------------------------- 1 | #ev-fullscreen-toolbar { 2 | 3 | } 4 | 5 | #ev-loading-message { 6 | background-color: @theme_selected_bg_color; 7 | color: @theme_selected_fg_color; 8 | border-radius: 3px; 9 | padding: 8px; 10 | } 11 | 12 | evview.document-page { 13 | background-color: white; 14 | border-color: black; 15 | border-style: solid; 16 | border-width: 1px; 17 | border-radius: 0px; 18 | border-image: none; 19 | padding: 0; 20 | } 21 | 22 | evview.document-page:active { 23 | background-color: white; 24 | border-color: @theme_selected_bg_color; 25 | border-style: solid; 26 | border-width: 1px; 27 | border-radius: 0px; 28 | border-image: none; 29 | padding: 0; 30 | } 31 | 32 | evview.document-page.inverted { 33 | background-color: black; 34 | } 35 | 36 | evpresentationview { 37 | background-color: black; 38 | } 39 | 40 | evpresentationview.white-mode { 41 | background-color: white; 42 | } 43 | 44 | -------------------------------------------------------------------------------- /shell/atril.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | atril-ui.xml 21 | atril-toolbar.xml 22 | atril.css 23 | atril.about 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /shell/ev-bookmark-action.h: -------------------------------------------------------------------------------- 1 | /* ev-bookmark-action.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2010 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #ifndef EV_BOOKMARK_ACTION_H 22 | #define EV_BOOKMARK_ACTION_H 23 | 24 | #include 25 | #include 26 | 27 | #include "ev-bookmarks.h" 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define EV_TYPE_BOOKMARK_ACTION (ev_bookmark_action_get_type()) 32 | #define EV_BOOKMARK_ACTION(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_BOOKMARK_ACTION, EvBookmarkAction)) 33 | #define EV_BOOKMARK_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_BOOKMARK_ACTION, EvBookmarkActionClass)) 34 | #define EV_IS_BOOKMARK_ACTION(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_BOOKMARK_ACTION)) 35 | 36 | typedef struct _EvBookmarkAction EvBookmarkAction; 37 | typedef struct _EvBookmarkActionClass EvBookmarkActionClass; 38 | 39 | GType ev_bookmark_action_get_type (void) G_GNUC_CONST; 40 | GtkAction *ev_bookmark_action_new (EvBookmark *bookmark); 41 | guint ev_bookmark_action_get_page (EvBookmarkAction *action); 42 | 43 | G_END_DECLS 44 | 45 | #endif /* EV_BOOKMARK_ACTION_H */ 46 | -------------------------------------------------------------------------------- /shell/ev-daemon-gdbus.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /shell/ev-gdbus.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /shell/ev-keyring.h: -------------------------------------------------------------------------------- 1 | /* ev-keyring.h 2 | * this file is part of atril, a mate document viewer 3 | * 4 | * Copyright (C) 2008 Carlos Garcia Campos 5 | * 6 | * Atril is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Atril is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #ifndef __EV_KEYRING_H__ 22 | #define __EV_KEYRING_H__ 23 | 24 | #include 25 | #include 26 | 27 | G_BEGIN_DECLS 28 | 29 | gboolean ev_keyring_is_available (void); 30 | gchar *ev_keyring_lookup_password (const gchar *uri); 31 | gboolean ev_keyring_save_password (const gchar *uri, 32 | const gchar *password, 33 | GPasswordSave flags); 34 | 35 | G_END_DECLS 36 | 37 | #endif /* __EV_KEYRING_H__ */ 38 | -------------------------------------------------------------------------------- /shell/ev-navigation-action-widget.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003, 2004 Marco Pesenti Gritti 3 | * Copyright (C) 2003, 2004 Christian Persch 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #include 22 | 23 | #define EV_TYPE_NAVIGATION_ACTION_WIDGET (ev_navigation_action_widget_get_type ()) 24 | #define EV_NAVIGATION_ACTION_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_NAVIGATION_ACTION_WIDGET, EvNavigationActionWidget)) 25 | 26 | typedef struct _EvNavigationActionWidget EvNavigationActionWidget; 27 | typedef struct _EvNavigationActionWidgetClass EvNavigationActionWidgetClass; 28 | 29 | struct _EvNavigationActionWidget 30 | { 31 | GtkToggleToolButton parent; 32 | 33 | GtkMenu *menu; 34 | }; 35 | 36 | struct _EvNavigationActionWidgetClass 37 | { 38 | GtkToggleToolButtonClass parent_class; 39 | 40 | void (*show_menu) (EvNavigationActionWidget *widget); 41 | }; 42 | 43 | GType ev_navigation_action_widget_get_type (void); 44 | 45 | void 46 | ev_navigation_action_widget_set_menu(EvNavigationActionWidget *widget, GtkWidget *menu); 47 | -------------------------------------------------------------------------------- /shell/ev-utils.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ 2 | /* 3 | * Copyright (C) 2004 Anders Carlsson 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #ifndef __EV_UTILS_H__ 22 | #define __EV_UTILS_H__ 23 | 24 | #include 25 | #include 26 | 27 | G_BEGIN_DECLS 28 | 29 | void file_chooser_dialog_add_writable_pixbuf_formats (GtkFileChooser *chooser); 30 | GdkPixbufFormat* get_gdk_pixbuf_format_by_extension (gchar *uri); 31 | 32 | G_END_DECLS 33 | 34 | #endif /* __EV_VIEW_H__ */ 35 | -------------------------------------------------------------------------------- /shell/ev-window-title.h: -------------------------------------------------------------------------------- 1 | /* this file is part of atril, a mate document viewer 2 | * 3 | * Copyright (C) 2005 Red Hat, Inc 4 | * 5 | * Atril is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Atril is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #ifndef __EV_WINDOW_TITLE_H__ 21 | #define __EV_WINDOW_TITLE_H__ 22 | 23 | #include "ev-window.h" 24 | #include "ev-document.h" 25 | 26 | G_BEGIN_DECLS 27 | 28 | typedef struct _EvWindowTitle EvWindowTitle; 29 | 30 | typedef enum 31 | { 32 | EV_WINDOW_TITLE_DOCUMENT, 33 | EV_WINDOW_TITLE_PASSWORD 34 | } EvWindowTitleType; 35 | 36 | EvWindowTitle *ev_window_title_new (EvWindow *window); 37 | void ev_window_title_set_type (EvWindowTitle *window_title, 38 | EvWindowTitleType type); 39 | void ev_window_title_set_document (EvWindowTitle *window_title, 40 | EvDocument *document); 41 | void ev_window_title_set_uri (EvWindowTitle *window_title, 42 | const char *uri); 43 | void ev_window_title_free (EvWindowTitle *window_title); 44 | 45 | G_END_DECLS 46 | 47 | #endif /* __EV_WINDOW_TITLE_H__ */ 48 | -------------------------------------------------------------------------------- /subprojects/mate-submodules.wrap: -------------------------------------------------------------------------------- 1 | [wrap-git] 2 | directory =mate-submodules 3 | url=https://github.com/mate-desktop/mate-submodules.git 4 | push-url=ssh://git@github.com:mate-desktop/mate-submodules.git 5 | revision=master 6 | depth=1 7 | 8 | [provide] 9 | libegg = libegg_dep 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | dist_check_SCRIPTS = \ 3 | test1.py \ 4 | test2.py \ 5 | test3.py \ 6 | test4.py \ 7 | test5.py 8 | 9 | TESTS = $(dist_check_SCRIPTS) 10 | 11 | EXTRA_DIST = \ 12 | test-encrypt.pdf \ 13 | test-links.pdf \ 14 | test-mime.bin \ 15 | test-page-labels.pdf \ 16 | test6.py \ 17 | test7.py 18 | 19 | -include $(top_srcdir)/git.mk 20 | -------------------------------------------------------------------------------- /test/meson.build: -------------------------------------------------------------------------------- 1 | test_cases = [ 2 | 'testFileMenu.py', 3 | 'testEditMenu.py', 4 | 'testHelpMenu.py', 5 | 'testZoom.py', 6 | 'testGoMenu.py', 7 | 'testBookmarksMenu.py', 8 | 'testEncryptedFile.py', 9 | 'testFileReloading.py', 10 | 'testWrongFileExtension.py' 11 | ] 12 | 13 | foreach case : test_cases 14 | test_script = find_program(case) 15 | 16 | test( 17 | case, 18 | test_script, 19 | args: [atril.full_path()], 20 | is_parallel: false, 21 | depends: atril, 22 | workdir: join_paths(prefix, bindir), 23 | timeout: 120, 24 | ) 25 | endforeach 26 | -------------------------------------------------------------------------------- /test/test-encrypt.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/test/test-encrypt.pdf -------------------------------------------------------------------------------- /test/test-links.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/test/test-links.pdf -------------------------------------------------------------------------------- /test/test-mime.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/test/test-mime.bin -------------------------------------------------------------------------------- /test/test-page-labels.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mate-desktop/atril/1fcc7d19a4847528b18b3d7a408136136b377043/test/test-page-labels.pdf -------------------------------------------------------------------------------- /test/test1.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens the interface and just clicks around a bit. 4 | 5 | import os 6 | import dogtail.config 7 | dogtail.config.config.logDebugToStdOut = True 8 | dogtail.config.config.logDebugToFile = False 9 | 10 | from dogtail.procedural import * 11 | 12 | os.environ['LANG']='C' 13 | run('atril') 14 | 15 | # Test file->open 16 | focus.application('atril') 17 | click('File', roleName='menu') 18 | click('Open…', roleName='menu item') 19 | click('Cancel', roleName='push button') 20 | 21 | # Toolbar editor 22 | focus.application('atril') 23 | click('Edit', roleName='menu') 24 | click('Toolbar', roleName='menu item') 25 | click('Close', roleName='push button') 26 | 27 | # About dialog 28 | focus.application('atril') 29 | click('Help', roleName='menu') 30 | click('About', roleName='menu item') 31 | click('Credits', roleName='toggle button') 32 | click('Credits', roleName='toggle button') 33 | click('Close', roleName='push button') 34 | 35 | # Close atril 36 | focus.application('atril') 37 | click.menu('File') 38 | click('Close', roleName='menu item') 39 | -------------------------------------------------------------------------------- /test/test2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens a password encrypted file and tries to unlock it. 4 | 5 | import os 6 | os.environ['LANG']='C' 7 | srcdir = os.environ['srcdir'] 8 | 9 | from dogtail.procedural import * 10 | 11 | run('atril', arguments=' '+srcdir+'/test-encrypt.pdf') 12 | 13 | # Try an incorrect password first 14 | focus.application('atril') 15 | type('wrong password') 16 | click('Unlock Document', roleName='push button') 17 | focus.dialog('Enter password') 18 | click('Cancel', roleName='push button') 19 | 20 | # Try again with the correct password 21 | focus.frame('test-encrypt.pdf — Password Required') 22 | click('Unlock Document', roleName='push button') 23 | focus.dialog('Enter password') 24 | type('Foo') 25 | click('Unlock Document', roleName='push button') 26 | 27 | # Close atril 28 | focus.application('atril') 29 | click('File', roleName='menu') 30 | click('Close', roleName='menu item') 31 | -------------------------------------------------------------------------------- /test/test3.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens a file with wrong extenstion. 4 | 5 | import os 6 | os.environ['LANG']='C' 7 | srcdir = os.environ['srcdir'] 8 | 9 | from dogtail.procedural import * 10 | 11 | run('atril', arguments=' '+srcdir+'/test-mime.bin') 12 | 13 | # Close atril 14 | focus.application('atril') 15 | click('File', roleName='menu') 16 | click('Close', roleName='menu item') 17 | -------------------------------------------------------------------------------- /test/test4.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test tries document reload action. 4 | 5 | import os 6 | os.environ['LANG']='C' 7 | srcdir = os.environ['srcdir'] 8 | 9 | from dogtail.procedural import * 10 | 11 | run('atril', arguments=' '+srcdir+'/test-links.pdf') 12 | 13 | # Reload document a few times 14 | for i in range(1,6): 15 | focus.application('atril') 16 | click('View', roleName='menu') 17 | click('Reload', roleName='menu item') 18 | 19 | # Close atril 20 | focus.application('atril') 21 | click('File', roleName='menu') 22 | click('Close', roleName='menu item') 23 | -------------------------------------------------------------------------------- /test/test5.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test tries document reload action. 4 | 5 | import os 6 | os.environ['LANG']='C' 7 | srcdir = os.environ['srcdir'] 8 | 9 | from dogtail.procedural import * 10 | 11 | run('atril', arguments=' '+srcdir+'/test-page-labels.pdf') 12 | 13 | focus.application('atril') 14 | focus.widget('page-label-entry') 15 | focus.widget.text = "iii" 16 | activate() 17 | 18 | if focus.widget.text != "III": 19 | focus.application('atril') 20 | click('File', roleName='menu') 21 | click('Close', roleName='menu item') 22 | exit (1) 23 | 24 | # Close atril 25 | focus.application('atril') 26 | click('File', roleName='menu') 27 | click('Close', roleName='menu item') 28 | -------------------------------------------------------------------------------- /test/test6.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Test printing 4 | 5 | import os 6 | import dogtail.config 7 | dogtail.config.config.logDebugToStdOut = True 8 | dogtail.config.config.logDebugToFile = False 9 | 10 | os.environ['LANG']='C' 11 | srcdir = os.environ['srcdir'] 12 | 13 | from dogtail.procedural import * 14 | 15 | recent_used = os.path.expanduser('~/.local/share/recently-used.xbel') 16 | recent_used_orig = recent_used + '.orig' 17 | 18 | ps_file = os.path.expanduser('~/output.ps') 19 | 20 | if os.path.isfile(recent_used): 21 | os.rename(recent_used, recent_used_orig) 22 | 23 | if os.path.exists(ps_file): 24 | os.unlink(ps_file) 25 | 26 | run('atril', arguments=' '+srcdir+'/test-page-labels.pdf') 27 | 28 | focus.application('atril') 29 | click('File', roleName='menu') 30 | click('Print…', roleName='menu item') 31 | 32 | click('Print to File', roleName='table cell', raw=True) 33 | click('Postscript', roleName='radio button', raw=True) 34 | click('Print', roleName='push button') 35 | 36 | statinfo = os.stat (ps_file) 37 | if statinfo.st_size > 100000: 38 | exit(1) 39 | os.unlink (ps_file) 40 | 41 | # Close atril 42 | focus.application('atril') 43 | click('File', roleName='menu') 44 | click('Close', roleName='menu item') 45 | 46 | if os.path.isfile(recent_used_orig): 47 | os.rename(recent_used_orig, recent_used) 48 | -------------------------------------------------------------------------------- /test/test7.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Test printing 4 | 5 | import os 6 | import dogtail.config 7 | import time 8 | dogtail.config.config.logDebugToStdOut = True 9 | dogtail.config.config.logDebugToFile = False 10 | 11 | os.environ['LANG']='C' 12 | srcdir = os.environ['srcdir'] 13 | 14 | from dogtail.procedural import * 15 | 16 | run('atril', arguments=' '+srcdir+'/test-page-labels.pdf') 17 | 18 | focus.application('atril') 19 | focus.frame('test-page-labels.pdf') 20 | click('File', roleName='menu') 21 | click('Print…', roleName='menu item') 22 | focus.dialog('Print') 23 | click('Pages:', roleName='radio button') 24 | focus.text('Pages') 25 | type('1') 26 | focus.dialog('Print') 27 | click('Page Setup', roleName='page tab', raw=True) 28 | click('All sheets') 29 | click('Odd sheets', roleName='menu item') 30 | click('Preview', roleName='push button') 31 | keyCombo('') 32 | 33 | # Close atril 34 | focus.application('atril') 35 | click('File', roleName='menu') 36 | click('Close', roleName='menu item') 37 | -------------------------------------------------------------------------------- /test/testBookmarksMenu.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens the Bookmarks menu. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | run_app(file='test-links.pdf') 11 | 12 | focus.frame('test-links.pdf') 13 | click('Bookmarks', roleName='menu') 14 | click('Add Bookmark', roleName='menu item') 15 | 16 | click('Bookmarks', roleName='menu') 17 | click('Page 1', roleName='menu item') 18 | 19 | # Close 20 | click('File', roleName='menu') 21 | click('Close', roleName='menu item') 22 | 23 | except: 24 | bail() 25 | -------------------------------------------------------------------------------- /test/testCommon.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import sys 5 | import signal 6 | 7 | os.environ['LANG'] = 'C' 8 | 9 | from dogtail.config import config 10 | config.logDebugToStdOut = True 11 | config.logDebugToFile = False 12 | 13 | import dogtail.procedural as dt 14 | 15 | def run_app(file=None): 16 | global pid 17 | 18 | if file is not None: 19 | arguments = os.path.join(os.path.dirname(__file__), file) 20 | else: 21 | arguments = '' 22 | pid = dt.run(sys.argv[1], arguments=arguments, appName='xreader') 23 | 24 | def bail(): 25 | os.kill(pid, signal.SIGTERM) 26 | sys.exit(1) 27 | -------------------------------------------------------------------------------- /test/testEditMenu.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens the Edit menu and runs through the menu items. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | run_app(file='test-links.pdf') 11 | 12 | # Begin to run through Edit options 13 | focus.frame('test-links.pdf') 14 | click('Edit', roleName='menu') 15 | 16 | click('Select All', roleName='menu item') 17 | 18 | click('Edit', roleName='menu') 19 | click('Find…', roleName='menu item') 20 | 21 | focus.frame('test-links.pdf') 22 | type('link') 23 | click('Find Previous', roleName='push button') 24 | 25 | click('Edit', roleName='menu') 26 | click('Find Next', roleName='menu item') 27 | 28 | click('Edit', roleName='menu') 29 | click('Find Previous', roleName='menu item') 30 | 31 | click('Edit', roleName='menu') 32 | click('Rotate Left', roleName='menu item') 33 | 34 | click('Edit', roleName='menu') 35 | click('Rotate Right', roleName='menu item') 36 | 37 | click('Edit', roleName='menu') 38 | click('Save Current Settings as Default', roleName='menu item') 39 | 40 | click('Edit', roleName='menu') 41 | click('Preferences', roleName='menu item') 42 | 43 | focus.frame('Preferences') 44 | click('Close', roleName='push button') 45 | 46 | focus.frame('test-links.pdf') 47 | click('File', roleName='menu') 48 | click('Close', roleName='menu item') 49 | 50 | except: 51 | bail() 52 | -------------------------------------------------------------------------------- /test/testEncryptedFile.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Test opening a password encrypted file and unlocking it. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | 11 | run_app(file='test-encrypt.pdf') 12 | 13 | # Try an incorrect password first 14 | focus.dialog('Enter password') 15 | type('wrong password') 16 | click('Unlock Document', roleName='push button') 17 | focus.dialog('Enter password') 18 | click('Cancel', roleName='push button') 19 | 20 | # Try again with the correct password 21 | focus.frame('test-encrypt.pdf — Password Required') 22 | click('Unlock Document', roleName='push button') 23 | type('Foo') 24 | focus.dialog('Enter password') 25 | click('Unlock Document', roleName='push button') 26 | 27 | # Close xreader 28 | focus.frame('test-encrypt.pdf — Dokument1') 29 | click('File', roleName='menu') 30 | click('Close', roleName='menu item') 31 | 32 | except: 33 | bail() 34 | -------------------------------------------------------------------------------- /test/testFileMenu.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Test that the File menu and menu items work correctly. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | run_app(file='test-links.pdf') 11 | 12 | # Open a file 13 | click('File', roleName='menu') 14 | click('Open…', roleName='menu item') 15 | click('Cancel', roleName='push button') 16 | 17 | # Save a Copy 18 | focus.frame('test-links.pdf') 19 | click('File', roleName='menu') 20 | click('Save a Copy…', roleName='menu item') 21 | click('Cancel', roleName='push button') 22 | 23 | # Print 24 | focus.frame('test-links.pdf') 25 | click('File', roleName='menu') 26 | click('Print…', roleName='menu item') 27 | focus.dialog('Print') 28 | click('Cancel', roleName='push button') 29 | 30 | # Properties 31 | focus.frame('test-links.pdf') 32 | click('File', roleName='menu') 33 | click('Properties', roleName='menu item') 34 | click('Fonts', roleName='page tab') 35 | click('General', roleName='page tab') 36 | focus.dialog('Properties') 37 | click('Close', roleName='push button') 38 | 39 | # Close All Windows 40 | focus.frame('test-links.pdf') 41 | click('File', roleName='menu') 42 | click('Close All Windows', roleName='menu item') 43 | 44 | except: 45 | bail() 46 | -------------------------------------------------------------------------------- /test/testFileReloading.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Test reloading a document. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | 11 | run_app(file='test-page-labels.pdf') 12 | 13 | focus.widget('page-label-entry') 14 | focus.widget.text = "iii" 15 | activate() 16 | 17 | if focus.widget.text != "III": 18 | click('File', roleName='menu') 19 | click('Close', roleName='menu item') 20 | exit (1) 21 | 22 | # Close xreader 23 | click('File', roleName='menu') 24 | click('Close', roleName='menu item') 25 | 26 | except: 27 | bail() 28 | -------------------------------------------------------------------------------- /test/testGoMenu.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens the Go menu and test menu items. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | run_app(file='test-links.pdf') 11 | 12 | focus.frame('test-links.pdf') 13 | click('Go', roleName='menu') 14 | click('Next Page', roleName='menu item') 15 | 16 | click('Go', roleName='menu') 17 | click('Previous Page', roleName='menu item') 18 | 19 | click('Go', roleName='menu') 20 | click('Last Page', roleName='menu item') 21 | 22 | click('Go', roleName='menu') 23 | click('First Page', roleName='menu item') 24 | 25 | # Close 26 | click('File', roleName='menu') 27 | click('Close', roleName='menu item') 28 | 29 | except: 30 | bail() 31 | -------------------------------------------------------------------------------- /test/testHelpMenu.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens the Help menu and runs through the menu items. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | run_app() 11 | 12 | click('Help', roleName='menu') 13 | click('About', roleName='menu item') 14 | focus.dialog('About Xreader') 15 | click('License', roleName='toggle button') 16 | click('Close', roleName='push button') 17 | 18 | focus.frame('Recent Documents') 19 | click('Help', roleName='menu') 20 | click('Contents', roleName='menu item') 21 | 22 | keyCombo('w') 23 | 24 | focus.frame('Recent Documents') 25 | click('File', roleName='menu') 26 | click('Close', roleName='menu item') 27 | except: 28 | bail() 29 | -------------------------------------------------------------------------------- /test/testWrongFileExtension.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Test opening a file with wrong extenstion. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | 11 | run_app(file='test-mime.bin') 12 | 13 | # Close xreader 14 | click('File', roleName='menu') 15 | click('Close', roleName='menu item') 16 | 17 | except: 18 | bail() 19 | -------------------------------------------------------------------------------- /test/testZoom.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # This test opens the View menu and test zoom features. 4 | 5 | from testCommon import run_app, bail 6 | 7 | from dogtail.procedural import * 8 | 9 | try: 10 | run_app(file='test-links.pdf') 11 | 12 | # Zoom In 13 | focus.frame('test-links.pdf') 14 | click('View', roleName='menu') 15 | click('Zoom In', roleName='menu item') 16 | 17 | # Zoom Out 18 | click('View', roleName='menu') 19 | click('Zoom Out', roleName='menu item') 20 | 21 | # Close 22 | click('File', roleName='menu') 23 | click('Close', roleName='menu item') 24 | 25 | except: 26 | bail() 27 | -------------------------------------------------------------------------------- /thumbnailer/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = atril-thumbnailer 2 | 3 | man_MANS = atril-thumbnailer.1 4 | 5 | atril_thumbnailer_SOURCES = \ 6 | atril-thumbnailer.c 7 | 8 | atril_thumbnailer_CPPFLAGS = \ 9 | -I$(top_srcdir) \ 10 | -I$(top_builddir) \ 11 | $(AM_CPPFLAGS) 12 | 13 | atril_thumbnailer_CFLAGS = \ 14 | $(FRONTEND_CFLAGS) \ 15 | $(DISABLE_DEPRECATED) \ 16 | $(WARN_CFLAGS) \ 17 | $(AM_CFLAGS) 18 | 19 | atril_thumbnailer_LDFLAGS = $(AM_LDFLAGS) 20 | 21 | atril_thumbnailer_LDADD = \ 22 | $(top_builddir)/libdocument/libatrildocument.la \ 23 | $(FRONTEND_LIBS) 24 | 25 | thumbnailerdir = $(datadir)/thumbnailers 26 | thumbnailer_in_files = atril.thumbnailer.in 27 | thumbnailer_DATA = $(thumbnailer_in_files:.thumbnailer.in=.thumbnailer) 28 | 29 | 30 | atril.thumbnailer: $(thumbnailer_in_files) 31 | $(AM_V_GEN)sed \ 32 | -e "s|\@ATRIL_MIME_TYPES\@|$(ATRIL_MIME_TYPES)|" \ 33 | -e "s|application/epub+zip;||" \ 34 | $< > $@ 35 | 36 | EXTRA_DIST = \ 37 | $(thumbnailer_in_files) \ 38 | $(man_MANS) 39 | 40 | DISTCLEANFILES = \ 41 | $(thumbnailer_DATA) 42 | 43 | -include $(top_srcdir)/git.mk 44 | -------------------------------------------------------------------------------- /thumbnailer/atril-thumbnailer.1: -------------------------------------------------------------------------------- 1 | .TH atril\-thumbnailer 1 2007\-01\-15 2 | .SH NAME 3 | atril\-thumbnailer \- create png thumbnails from atril supported documents 4 | .SH SYNOPSIS 5 | \fBatril\-thumbnailer\fR [\-s \fBsize\fR] \fBinput\fR \fBoutput\fR 6 | .SH DESCRIPTION 7 | atril\-thumbnailer is a MATE program to 8 | create thumbnails from files supported by atril. 9 | .SH OPTIONS 10 | atril\-thumbnailer obeys all normal GTK+ 11 | command line options. The only option \-s \fIsize 12 | \fRmakes it possible to choose the vertical size 13 | of the created thumbnail. 14 | .SH "SEE ALSO" 15 | \fBatril\fR(1), 16 | \fBgtk\-options\fR(7). 17 | .PP 18 | https://mate-desktop.org// 19 | -------------------------------------------------------------------------------- /thumbnailer/atril.thumbnailer.in: -------------------------------------------------------------------------------- 1 | [Thumbnailer Entry] 2 | TryExec=atril-thumbnailer 3 | Exec=atril-thumbnailer -s %s %u %o 4 | MimeType=@ATRIL_MIME_TYPES@ 5 | 6 | 7 | -------------------------------------------------------------------------------- /thumbnailer/meson.build: -------------------------------------------------------------------------------- 1 | thumbnailer_sources = [ 2 | 'atril-thumbnailer.c', 3 | ] 4 | 5 | thumbnailer_deps = [ 6 | libdocument_dep, 7 | glib, 8 | gtk, 9 | ] 10 | 11 | executable( 12 | 'atril-thumbnailer', 13 | thumbnailer_sources, 14 | include_directories: include_dirs, 15 | dependencies: thumbnailer_deps, 16 | install: true, 17 | ) 18 | 19 | install_data( 20 | 'atril-thumbnailer.1', 21 | install_dir : join_paths(prefix, get_option('mandir'), 'man1') 22 | ) 23 | 24 | mime_conf = configuration_data() 25 | mime_conf.set('THUMBNAILER_MIME_TYPES', thumbnailer_mime_types) 26 | mime_conf.set('ATRIL_MIME_TYPES', atril_mime_types) 27 | 28 | mime_file = configure_file( 29 | input: 'atril.thumbnailer.in', 30 | output: 'atril.thumbnailer', 31 | configuration: mime_conf, 32 | install_dir: join_paths(datadir, 'thumbnailers') 33 | ) 34 | --------------------------------------------------------------------------------