Skip to content
Official repo for the LibreOffice Appliances GSoC project
JavaScript Python HTML CSS Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
libresign fixes ... Sep 1, 2019
WISHLIST fixes ... Sep 1, 2019

LibreOffice Appliances project's "LibreSign"


To install use pip (only Python 3 is supported)

pip install libresign


libresign [ --onlyweb ] [ --noinfo ] [ --nolibreoffice ] [ --sign ] [ --conference ] [ --noremote ] [ --libresign-home ]

--onlyweb: Run only the web server for the control panel (--nolibreoffice --noinfo)
--noinfo: Don't show the information screen.
--nolibreoffice: Don't start LibreOffice.
--sign: Run in digital signage mode.
--conference: Run in conference mode. (default)
--noremote: Don't run the Impress Remote web server.
--libresign-home: Specify the installation directory of libresign. (default: ~/.libresign)

The program has been tested on Debian Testing and Arch Linux ARM on the Raspberry Pi 3 B+.


For development, beyond the obvious tools, the following setup is recommended to run a local version of libresign (note that irpjs-client is currently placed inside impress-remote-js):

apt-get install virtualenv python3-xdo python3-tk
git clone
git clone
git clone
cd impress-remote-js
git clone

After that, use the supplied script to automatically set up and run the program after you've made your changes,

cd libresign

You can also create a package and install it manually

python sdist
pip install dist/libresign-x.x.x.tar.gz

The code is in the libresign directory, the Flask templates and other files are in templates and static. is the entry point which runs the Flask app (, the informational screen ( and LibreOffice (


This is one of four repositories - and the main one - created for the 2019 GSOC project "LibreOffice Appliances", intended to create a digital signage solution using LibreOffice Impress.

The other three repositories are JavaScript Impress Remote client, JavaScript Impress Remote server and JavaScript Impress Remote Protocol library.

The original project proposal can be found here.

In short, the aim was to create a program which would run on a single-board computer (a Raspberry Pi was used during development) connected to a TV screen displaying LibreOffice Impress presentations automatically. A "conference mode" was also added, where users can upload presentations, select them to be played and then control the presentation with the Impress Remote. For this the JavaScript/ browser version of the Impress Remote was created as part of the GSOC project.


Feel free to add anything here.


Rasmus P J Thorsten Behrens

You can’t perform that action at this time.