Provided by: pympress_1.5.1+dfsg-3build1_all bug

NAME

       pympress - pympress documentation

CONTENTS

       #                                    ![Pympress                                    logo](‐
       https://raw.githubusercontent.com/Cimbali/pympress/master/pympress/share/pixmaps/pympress-32.png)
       What is Pympress?

       Pympress is a little PDF reader written in Python using Poppler for PDF rendering and GTK+
       for the GUI.

       It is designed to be a dual-screen reader used for presentations and  public  talks,  with
       two  displays:  the  Content  window  for  a  projector, and the Presenter window for your
       laptop. It is portable and has been tested on various Mac, Windows and Linux systems.

       It comes with many great features ([more below](#functionalities)):  -  supports  embedded
       gifs  and  videos - text annotations displayed in the presenter window - natively supports
       beamer's notes on second screen!

       Pympress is a free software, distributed under the terms of the GPL license (version 2 or,
       at your option, any later version).

       Pympress was originally created and maintained by [Schnouki](https://github.com/Schnouki),
       on [his repo](https://github.com/Schnouki/pympress).

       Here is what the 2 screen setup looks like, with a big notes slide next to 2 small  slides
       (current  and  next)  on  the  presenter  side: ![A screenshot with Pympress’ 2 screens](‐
       https://repository-images.githubusercontent.com/42637225/925da680-886b-11e9-9a12-28b48debbf19)

       # Installing

       • Linux,  macOS: pip install pympress − requires [python, gtk+3, poppler, and their python
         bindings](#dependencies).

       • Windows: choco install pympress with [Chocolatey](https://chocolatey.org/)  or  download
         the        installer        from        the        [latest       Github       release](‐
         https://github.com/Cimbali/pympress/releases/latest).

       ### Notes - To support playing embedded videos in the PDFs,  your  system  must  have  VLC
       installed  (with  the same bitness as pympress). VLC is not distributed with pympress, but
       it is certainly available in your  system’s  package  manager  and  [on  their  website](‐
       https://www.videolan.org/vlc/).   -  On  Linux  and  macOS,  make  sure  you have all [the
       dependencies](#dependencies), as they do not come via pip. (On Windows, they are  included
       in the binary package.)  - Using pip, you may want to use python3 -m pip as the command if
       pip points to the python 2.x pip. You may also want to install with the --user option,  or
       install  from github or downloaded sources. See [the python documentation on installing](‐
       https://docs.python.org/3.7/installing/index.html) for more details.

       ### Troubleshooting - If your python environment lacks the Gobject Introspections  module,
       try

          1. checking you have all [the dependencies](#dependencies),

          2. using        --system-site-packages        for        [virtual       environments](‐
             https://docs.python.org/3.7/library/venv.html),

          3. installing pygobject from pip (pip install pygobject,  which  requires  the  correct
             development/header  packages.  See  [the PyPI installation instructions of PyGObject
             for your system](https://pygobject.readthedocs.io/en/latest/getting_started.html)).

       • For manually downloaded installers, if you get an  error  message  along  the  lines  of
         "MSVCP100.dll is missing", get the Visual C++ 2010 redistributables from Microsoft ([x86
         (32  bit)](https://www.microsoft.com/en-in/download/details.aspx?id=5555)  or  [x64  (64
         bits)](https://www.microsoft.com/en-us/download/details.aspx?id=14632)). Those libraries
         really should already be installed on your system.

       # Usage

       ## Opening a file Simply start Pympress and it will ask you what file you  want  to  open.
       You  can  also  start pympress from the command line with a file to open like so: pympress
       slides.pdf or python3 -m pympress slides.pdf

       ## Functionalities

       All functionalities are available from the menus of the window with slide previews.  Don't
       be afraid to experiment with them!

       Keyboard  shortcuts  are  also  listed in these menus. Some more usual shortcuts are often
       available, for example Ctrl`+`L, and F11 also toggle fullscreen, though the main  shortcut
       is just F.

       A  few  of  the fancier functionalities are listed here: - Two-screen display: See on your
       laptop or tablet display the current slide, the next slide, the talk time  and  wall-clock
       time,  and  annotations  (either  PDF  annotations,  or beamer notes on second slide). The
       position of the beamer notes in the slide is detected automatically and can be  overridden
       via a menu option.  - Media support: supports playing video, audio, and gif files embedded
       in (or linked from) the PDF file.  - Highlight mode: Allows one to draw  freehand  on  the
       slide  currently  on  screen.  - Go To Slide: To jump to a selected slide without flashing
       through the whole presentation on the projector, press G or  click  the  "current   slide"
       box.
          Using  J or clicking the slide label will allow you to navigate slide labels instead of
          page numbers, useful e.g. for multi-page slides from beamer pause.

          A spin box will appear, and you will be able to navigate through  your  slides  in  the
          presenter window only by scrolling your mouse, with the Home/Up/Down/End keys, with the
          + and - buttons of the spin box, or simply by typing in the number of the slide.  Press
          Enter to validate going to the new slide or Esc to cancel.

       • Software  pointer: Clicking on the slide (in either window) while holding ctrl down will
         display a software laser pointer on the slide. Or press L to permanently switch  on  the
         laser pointer.

       • Talk  time breakdown: The Presentation > Timing Breakdown menu item displays a breakdown
         of  how  much  time  was  spent  on  each  slide,  with  a  hierarchical  breakdown  per
         chapters/sections/etc. if available in the PDF.

       • Automatic file reloading: If the file is modified, pympress will reload it (and preserve
         the current slide, current time, etc.)

       • Big button mode: Add big buttons (duh) for touch displays.

       • Swap screens: If Pympress mixed up which screen is the projector and which is not, press
         SEstimated  talk  time: Click the Time estimation box and set your planned talk duration.
         The color will allow you to see at a glance how much time you have left.

       • Adjust screen centering: If your slides' form factor doesn't fit the projectors' and you
         don't  want  the  slide  centered  in  the window, use the "Screen Center" option in the
         "Presentation" menu.

       • Resize Current/Next slide: You can drag the bar between both  slides  on  the  Presenter
         window to adjust their relative sizes to your liking.

       • Preferences:   Some   of   your   choices   are   saved  in  a  configuration  file,  in
         ~/.config/pympress or ~/.pympress on linux, and in %APPDATA%/pympress.ini on windows.

       • Caching: For efficiency, Pympress caches rendered pages (up to 200 by default). If  this
         is too memory consuming for you, you can change this number in the configuration file.

       ## Command line arguments

       • -h, --help: Shows a list of all command line arguments.

       • -t  mm[:ss],  --talk-time=mm[:ss]:  The  estimated  (intended)  talk time in minutes and
         optionally seconds.

       • -n position, --notes=position: Set the position of notes on the pdf  page  (none,  left,
         right, top, or bottom). Overrides the detection from the file.

       • --log=level: Set level of verbosity in log file (DEBUG, INFO, WARNING, ERROR).

       # Dependencies

       Pympress  relies  on:  *  Python (version 3.x strongly recommended though 2.7 should still
       work fine).  * [Poppler](http://poppler.freedesktop.org/), the PDF rendering  library.   *
       [Gtk+  3](http://www.gtk.org/), a toolkit for creating graphical user interfaces, and [its
       dependencies](https://www.gtk.org/overview.php), specifically:

          • [Cairo](https://www.cairographics.org/) (and python bindings for cairo), the graphics
            library which is used to pre-render and draw over PDF pages.

          • Gdk, a lower-level graphics library to handle icons.

       • [PyGi,  the  python bindings for Gtk+3](https://wiki.gnome.org/Projects/PyGObject). PyGi
         is also known as pygobject3, just pygobject or python3-gi.  * Introspection bindings for
         poppler    may    be    shipped    separately,   ensure   you   have   those   as   well
         (typelib-1_0-Poppler-0_18 on OpenSUSE, gir1.2-poppler-0.18 on Ubuntu)

       • optionally [VLC](https://www.videolan.org/vlc/), to play videos (with the  same  bitness
         as Python)

       ###  On  linux  platforms  The  dependencies  are  often  installed  by default, or easily
       available through your package or software manager.  For example, on ubuntu, you  can  run
       the  following  as  root  to  make  sure  you  have all the prerequisites assuming you use
       python3:
          apt-get install python3 python3-pip libgtk-3-0  libpoppler-glib8  libcairo2  python3-gi
          python3-cairo      python3-gi-cairo     gobject-introspection     libgirepository-1.0-1
          libgirepository1.0-dev gir1.2-gtk-3.0 gir1.2-poppler-0.18

       Different distributions might have different package naming conventions, for  example  the
       equivalent on OpenSUSE would be:
          zypper  in  python3  python3-pip  libgtk-3-0 libpoppler-glib8 libcairo2 python3-gobject
          python3-gobject-Gdk   python3-cairo   python3-gobject-cairo   typelib-1_0-GdkPixbuf-2_0
          typelib-1_0-Gtk-3_0 typelib-1_0-Poppler-0_18

       ### On macOS

       Dependencies can be installed using [Homebrew](https://brew.sh/):
          brew install gtk+3 poppler gobject-introspection pygobject3

       ### On windows The [binary installer for windows](#installing) comes with pympress and all
       its dependencies packaged.

       Alternately, in order to install from pypi or from source on windows, there are  two  ways
       to get the dependencies:

       1. using MSYS2 (replace x86_64 with i686 if you're using a 32 bit machine).

          Warning: this can take a substantial amount of disk size as it requires a full software
          distribution and building platform.
                 pacman     -S     --needed     mingw-w64-x86_64-gtk3      mingw-w64-x86_64-cairo
                 mingw-w64-x86_64-poppler      mingw-w64-x86_64-python3      mingw-w64-x86_64-vlc
                 python3-pip    mingw-w64-x86_64-python3-pip     mingw-w64-x86_64-python3-gobject
                 mingw-w64-x86_64-python3-cairo

             This   is   also   the   strategy   used   to   automate   [builds   on  appveyor](‐
             https://github.com/Cimbali/pympress/tree/master/scripts/build_msi_mingw.sh).

       2. Using PyGobjectWin32. Be sure to check the supported Python versions (up to 3.4 at  the
          time of writing), they appear in the FEATURES list in the linked page.

          • Install native [python for windows](https://www.python.org/downloads/windows/)

          • Get  GTK+3,  Poppler  and  their  python bindings by executing [the PyGi installer](‐
            https://sourceforge.net/projects/pygobjectwin32/).  Be sure to tick all the necessary
            dependencies in the installer (Poppler, Cairo, Gdk-Pixbuf).

       Alternately, you can build your Gtk+3 stack from source using MSVC, see [the Gnome wiki](‐
       https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack)  and  [this   python
       script  that  compiles  the whole Gtk+3 stack](https://github.com/wingtk/gvsbuild/).  This
       strategy has not been used successfully yet, due to problems  building  Poppler  with  its
       introspection        bidings        (i.e.        typelib)       −       see       [#109](‐
       https://github.com/Cimbali/pympress/issues/109).

       # Contributing

       Feel free to clone this repo and use it,  modify  it,  redistribute  it,  etc,  under  the
       GPLv2+.      Pympress     has    inline    sphinx    documentation    ([Google    style](‐
       http://www.sphinx-doc.org/en/latest/ext/example_google.html), contains  rst  syntax),  and
       the   [docs  folder](https://github.com/Cimbali/pympress/tree/master/docs/)  contains  the
       documentation  generated  from  it,  hosted  on  [the  github  pages   of   this   repo](‐
       https://cimbali.github.io/pympress/pympress.html).

       ## Translations

       If  you  want  to add a translation, check if pympress/share/locale/<language>/pympress.po
       already      exists.      If       not,       take       [the       template       file](‐
       https://github.com/Cimbali/pympress/tree/master/pympress/share/locale/pympress.pot)     as
       input   and   translate   all   the   strings,   then   add   it   to    the    repo    in
       pympress/share/locale/<language>/pympress.po.   Finally  pass  this .po file to msgfmt and
       add the output to the repo at pympress/share/locale/<language>/LC_MESSAGES/pympress.mo.

       ## Packages

       Official releases are made  to  [PyPI](https://pypi.org/)  and  with  [github  releases](‐
       https://github.com/Cimbali/pympress/releases).  The  community maintains a number of other
       packages or recipes to  install  pympress  (and  more  can  be  added  to  this  list):  -
       [@Jose1711](https://github.com/jose1711)     made    the    [AUR    pympress    package](‐
       https://aur.archlinux.org/packages/python-pympress/)            -            [@ComFreek](‐
       https://github.com/ComFreek)     maintains    the    [Chocolatey    pympress    package](‐
       https://chocolatey.org/packages/pympress) # Pympress package

       This page contains the inline documentation, generated from the code using sphinx.

       The   code   is   documented    in    the    source    using    the    [Google    style](‐
       https://google.github.io/styleguide/pyguide.html)  for  docstrings.  Sphinx has gathered a
       [set   of   examples](http://www.sphinx-doc.org/en/latest/ext/example_google.html)   which
       serves as a better crash course than the full style reference.

       Retructured text (rst) can be used inside the comments and docstrings.

       ## Modules

       ``

       `
       eval_rst .. automodule:: pympress.__main__

          members

          undoc-members

          show-inheritance

   pympress.util -- various utility functions
       pympress.util.fileopen(f)
              Call the right function to open files, based on the platform.

              Parameters
                     f (str) -- path to the file to open

       pympress.util.get_default_config()
              Returns the path to the configuration file containing the defaults.

              Returns
                     The path to the portable configuration file.

              Return type
                     str

       pympress.util.get_icon_path(name)
              Load an image from pympress' resources in a Gdk Pixbuf.

              Parameters
                     name (str) -- The name of the icon to load

              Returns
                     The loaded icon

              Return type
                     Pixbuf

       pympress.util.get_locale_dir()
              Returns the path to the locale directory

              Returns
                     The path to the locale directory

              Return type
                     str

       pympress.util.get_log_path()
              Returns the appropriate path to the log file in the user app dirs.

              Returns
                     path to the log file.

              Return type
                     str

       pympress.util.get_portable_config()
              Returns  the  path  to  the  configuration file for a portable install (i.e. in the
              install root).

              Returns
                     The path to the portable configuration file.

              Return type
                     str

       pympress.util.get_pympress_meta()
              Get metadata (version, etc) from pympress' __init__.py

       pympress.util.get_ui_resource_file(name)
              Load an UI definition file from pympress' resources.

              Parameters
                     name (str) -- The name of the UI to load

              Returns
                     The full path to the glade file

              Return type
                     str

       pympress.util.get_user_config()
              Returns the path to the configuration file in the user config directory.

              Returns
                     path to the user configuration file.

              Return type
                     str

       pympress.util.list_icons()
              List the icons from pympress' resources.

              Returns
                     The paths to the icons in the pixmaps directory

              Return type
                     list of str

       pympress.util.load_style_provider(style_provider)
              Load the css and in a style provider.

              Parameters
                     style_provider (CssProvider) -- The style provider in which to load CSS

              Returns
                     The style provider with CSS loaded

              Return type
                     CssProvider

       pympress.util.set_screensaver(must_disable, window)
              Enable or disable the screensaver.

              Parametersmust_disable (bool) -- if True, indicates that  the  screensaver  must  be
                       disabled; otherwise it will be enabled

                     • window (Window) -- The window on the screen where the screensaver is to be
                       suspended.

       ``

       `

INDICES AND TABLES

       • genindex

       • modindex

AUTHOR

       Thomas Jost, Cimbali

COPYRIGHT

       2009-2020, Thomas Jost; 2015-2017 Cimbali