From 5188deba377cea1bf9d7d79fe8e8634c44c25bc5 Mon Sep 17 00:00:00 2001 From: Daniel Stock Date: Tue, 10 May 2022 14:10:50 +0200 Subject: [PATCH] update kiosk browser --- kiosk-browser/package/DEBIAN/control | 8 +- kiosk-browser/package/assets/data/index.html | 50 +++++++------ .../assets/presentation/reset-kiosk.sh | 9 +-- .../installed_app/controller.py | 75 ------------------- .../installed_app/settings.html | 43 ----------- 5 files changed, 34 insertions(+), 151 deletions(-) delete mode 100644 kiosk-browser/package/opt/tooloop/settings-server/installed_app/controller.py delete mode 100644 kiosk-browser/package/opt/tooloop/settings-server/installed_app/settings.html diff --git a/kiosk-browser/package/DEBIAN/control b/kiosk-browser/package/DEBIAN/control index 03903c1..6b51771 100644 --- a/kiosk-browser/package/DEBIAN/control +++ b/kiosk-browser/package/DEBIAN/control @@ -1,8 +1,8 @@ Package: tooloop-kiosk-browser -Version: 0.1.0 -Maintainer: vollstock -Homepage: https://www.vollstock.de -Bugs: https://github.com/vollstock/Tooloop-Examples +Version: 1.0.0 +Maintainer: Tooloop Multimedia +Homepage: https://www.tooloop.de +Bugs: https://github.com/Tooloop/Tooloop-Packages Section: tooloop/presentation Architecture: amd64 Depends: chromium-browser diff --git a/kiosk-browser/package/assets/data/index.html b/kiosk-browser/package/assets/data/index.html index 6d33d74..fc2a69a 100644 --- a/kiosk-browser/package/assets/data/index.html +++ b/kiosk-browser/package/assets/data/index.html @@ -2,23 +2,21 @@ + Simple Kiosk @@ -85,17 +91,17 @@

Simple Kiosk

This is a simple browser for your show room or trade fair booth.

It has very few features but works for simple things.

-

By default it loads /assets/data/index.html but you can choose any page you like.

+

By default it loads /assets/data/index.html but you can choose + any page you like.

Simple Kiosk comes with a plugin for the Tooloop Settings Server so you can configure it in there.

particles.js by Vincent Garreau
- + \ No newline at end of file diff --git a/kiosk-browser/package/assets/presentation/reset-kiosk.sh b/kiosk-browser/package/assets/presentation/reset-kiosk.sh index 57e61c1..e6d524b 100644 --- a/kiosk-browser/package/assets/presentation/reset-kiosk.sh +++ b/kiosk-browser/package/assets/presentation/reset-kiosk.sh @@ -1,6 +1,6 @@ #!/bin/bash -URL="file:///assets/data/index.html" +URL="/media/assets/data/index.html" # List of Chromium Command Line Switches # https://peter.sh/experiments/chromium-command-line-switches/ @@ -20,13 +20,12 @@ COMMAND="chromium-browser \ --class=TooloopKiosk \ $URL" +killall chrome +sleep 0.1 + if [ $EUID == 0 ]; then - pkill chromium - sleep 0.1 su tooloop -c "$COMMAND" & else - pkill chromium - sleep 0.1 $COMMAND & fi diff --git a/kiosk-browser/package/opt/tooloop/settings-server/installed_app/controller.py b/kiosk-browser/package/opt/tooloop/settings-server/installed_app/controller.py deleted file mode 100644 index e475bfe..0000000 --- a/kiosk-browser/package/opt/tooloop/settings-server/installed_app/controller.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- coding: utf-8 -*- -from flask import Flask, jsonify, request, abort -from os import chown -from pwd import getpwnam -from grp import getgrnam - -class InstalledApp(object): - - def __init__(self, flask): - super(InstalledApp, self).__init__() - - # default homepage - self.homepage = 'file:///assets/data/index.html'; - - # connect flask routes to tooloop api calls - self.add_routes(flask) - - - - def add_routes(self, flask): - - @flask.route('/simple-kiosk/change-homepage', methods=['POST']) - def change_homepage(): - if not request.form or not 'homepage' in request.form: - abort(400) - - try: - self.homepage = request.form['homepage']; - - file = open('/assets/presentation/reset-kiosk.sh','w') - - file.write('#!/bin/bash\n') - file.write('\n') - file.write('URL="'+self.homepage+'"\n') - file.write('\n') - file.write('# List of Chromium Command Line Switches\n') - file.write('# https://peter.sh/experiments/chromium-command-line-switches/\n') - file.write('COMMAND="chromium-browser \\\n') - file.write('--kiosk \\\n') - file.write('--bwsi \\\n') - file.write('--overscroll-history-navigation=1 \\\n') - file.write('--incognito \\\n') - file.write('--disable-infobars \\\n') - file.write('--disable-translate \\\n') - file.write('--no-default-browser-check \\\n') - file.write('--no-first-run \\\n') - file.write('--disable-translate-new-ux \\\n') - file.write('--num-raster-threads=4 \\\n') - file.write('--enable-zero-copy \\\n') - file.write('--noerrdialogs \\\n') - file.write('--class=TooloopKiosk \\\n') - file.write('$URL"\n') - file.write('\n') - file.write('if [ $EUID == 0 ]; then\n') - file.write(' pkill chromium\n') - file.write(' sleep 0.1\n') - file.write(' su tooloop -c "$COMMAND" &\n') - file.write('else\n') - file.write(' pkill chromium\n') - file.write(' sleep 0.1\n') - file.write(' $COMMAND &\n') - file.write('fi\n') - file.write('\n') - file.write('exit 0\n') - - file.close() - - uid = getpwnam('tooloop').pw_uid - gid = getgrnam('tooloop').gr_gid - chown('/assets/presentation/reset-kiosk.sh', uid, gid) - - return jsonify({'message':'homepage changed'}) - - except Exception as e: - abort(500) diff --git a/kiosk-browser/package/opt/tooloop/settings-server/installed_app/settings.html b/kiosk-browser/package/opt/tooloop/settings-server/installed_app/settings.html deleted file mode 100644 index 8d2a874..0000000 --- a/kiosk-browser/package/opt/tooloop/settings-server/installed_app/settings.html +++ /dev/null @@ -1,43 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - - - - - - - - -

{{installed_app.name}}

Homepage -
- - -
-
-{% endblock %} - - -{% block page_footer_scripts %} - -{% endblock %}