diff --git a/packages/addons/service/dispmanx_vnc/icon/icon.png b/packages/addons/service/dispmanx_vnc/icon/icon.png index 1d64bb4783..8838fdf0cf 100644 Binary files a/packages/addons/service/dispmanx_vnc/icon/icon.png and b/packages/addons/service/dispmanx_vnc/icon/icon.png differ diff --git a/packages/addons/service/dispmanx_vnc/package.mk b/packages/addons/service/dispmanx_vnc/package.mk index 38c5effadb..d5b2281930 100644 --- a/packages/addons/service/dispmanx_vnc/package.mk +++ b/packages/addons/service/dispmanx_vnc/package.mk @@ -17,27 +17,24 @@ ################################################################################ PKG_NAME="dispmanx_vnc" -PKG_ADDON_NAME="Raspberry Pi VNC" PKG_VERSION="78e6673" PKG_REV="100" PKG_ARCH="arm" +PKG_ADDON_PROJECTS="RPi RPi2" PKG_LICENSE="OSS" PKG_SITE="https://github.com/patrikolausson/dispmanx_vnc" PKG_URL="https://github.com/patrikolausson/dispmanx_vnc/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain libvncserver bcm2835-bootloader libconfig" PKG_PRIORITY="optional" PKG_SECTION="service/system" -PKG_SHORTDESC="VNC Server for Raspberry PI using dispmanx" -PKG_LONGDESC="VNC Server for Raspberry PI using dispmanx" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="xbmc.service" -PKG_ADDON_PROVIDES="" -PKG_ADDON_PROJECTS="RPi RPi2" -PKG_ADDON_REPOVERSION="8.0" - +PKG_SHORTDESC="VNC Server for Raspberry Pi" +PKG_LONGDESC="VNC Server for Raspberry Pi using dispmanx" PKG_AUTORECONF="no" +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="Raspberry Pi VNC" +PKG_ADDON_TYPE="xbmc.service" +PKG_ADDON_REPOVERSION="8.0" PKG_MAINTAINER="Anton Voyl (awiouy at gmail dot com)" pre_make_target() { @@ -51,7 +48,4 @@ makeinstall_target() { addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin cp -p $PKG_BUILD/dispmanx_vncserver $ADDON_BUILD/$PKG_ADDON_ID/bin - - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config - cp $PKG_DIR/source/config/dispmanx_vncserver.conf $ADDON_BUILD/$PKG_ADDON_ID/config/ } diff --git a/packages/addons/service/dispmanx_vnc/source/bin/dispmanx_vncserver-service b/packages/addons/service/dispmanx_vnc/source/bin/dispmanx_vncserver-service index aed9147e3d..4b0d232a34 100755 --- a/packages/addons/service/dispmanx_vnc/source/bin/dispmanx_vncserver-service +++ b/packages/addons/service/dispmanx_vnc/source/bin/dispmanx_vncserver-service @@ -19,9 +19,37 @@ . /etc/profile oe_setup_addon service.system.dispmanx_vnc -if [ ! -f "$ADDON_HOME/dispmanx_vncserver.conf" ]; then - cp $ADDON_DIR/config/dispmanx_vncserver.conf $ADDON_HOME/ +if [ -f "$ADDON_HOME/dispmanx_vncserver.conf" ]; then + rm "$ADDON_HOME/dispmanx_vncserver.conf" fi -/bin/sleep 10 -dispmanx_vncserver --config-file="$ADDON_HOME/dispmanx_vncserver.conf" +options="-p $vnc_port -s $vnc_screen -t $vnc_framerate" +if [ "$vnc_relative" == "true" ] +then + options="$options -r" +else + options="$options -a" +fi +if [ "$vnc_unsafe" == "true" ] +then + options="$options -u" +fi +if [ "$vnc_fullscreen" == "true" ] +then + options="$options -f" +fi +if [ "$vnc_multithreaded" == "true" ] +then + options="$options -m" +fi +if [ ! -z "$vnc_password" ] +then + options="$options -P $vnc_password" +fi +if [ "$vnc_downscale" == "true" ] +then + options="$options -d" +fi + +#/bin/sleep 10 +dispmanx_vncserver $options diff --git a/packages/addons/service/dispmanx_vnc/source/config/dispmanx_vncserver.conf b/packages/addons/service/dispmanx_vnc/source/config/dispmanx_vncserver.conf deleted file mode 100644 index 8d7d5b9cbf..0000000000 --- a/packages/addons/service/dispmanx_vnc/source/config/dispmanx_vncserver.conf +++ /dev/null @@ -1,9 +0,0 @@ -relative = false; -port = 5900; -screen = 0; -unsafe = false; -fullscreen = true; -multi-threaded = false; -password = ""; -frame-rate = 15; -downscale = false; diff --git a/packages/addons/service/dispmanx_vnc/source/default.py b/packages/addons/service/dispmanx_vnc/source/default.py index 1a91d91ede..0a5065ba27 100644 --- a/packages/addons/service/dispmanx_vnc/source/default.py +++ b/packages/addons/service/dispmanx_vnc/source/default.py @@ -15,3 +15,22 @@ # You should have received a copy of the GNU General Public License # along with LibreELEC. If not, see . ################################################################################ + +import subprocess +import xbmc +import xbmcaddon + + +class Monitor(xbmc.Monitor): + + def __init__(self, *args, **kwargs): + xbmc.Monitor.__init__(self) + self.id = xbmcaddon.Addon().getAddonInfo('id') + + def onSettingsChanged(self): + subprocess.call(['systemctl', 'restart', self.id]) + + +if __name__ == "__main__": + Monitor().waitForAbort() + diff --git a/packages/addons/service/dispmanx_vnc/source/resources/language/English/strings.po b/packages/addons/service/dispmanx_vnc/source/resources/language/English/strings.po new file mode 100644 index 0000000000..328e1a184f --- /dev/null +++ b/packages/addons/service/dispmanx_vnc/source/resources/language/English/strings.po @@ -0,0 +1,46 @@ +# Kodi Media Center language file +# Addon Name: dispmanx_vnc +# Addon id: service.system.dispmanx_vnc +# Addon Provider: awiouy at gmail dot com +msgid "" +msgstr "" + +msgctxt "#30000" +msgid "Configuration" +msgstr "" + +msgctxt "#30001" +msgid "relative" +msgstr "" + +msgctxt "#30002" +msgid "port" +msgstr "" + +msgctxt "#30003" +msgid "screen" +msgstr "" + +msgctxt "#30004" +msgid "unsafe" +msgstr "" + +msgctxt "#30005" +msgid "fullscreen" +msgstr "" + +msgctxt "#30006" +msgid "multi-threaded" +msgstr "" + +msgctxt "#30007" +msgid "password" +msgstr "" + +msgctxt "#30008" +msgid "frame-rate" +msgstr "" + +msgctxt "#30009" +msgid "downscale" +msgstr "" diff --git a/packages/addons/service/dispmanx_vnc/source/resources/settings.xml b/packages/addons/service/dispmanx_vnc/source/resources/settings.xml new file mode 100644 index 0000000000..9953e7bc72 --- /dev/null +++ b/packages/addons/service/dispmanx_vnc/source/resources/settings.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/packages/addons/service/dispmanx_vnc/source/settings-default.xml b/packages/addons/service/dispmanx_vnc/source/settings-default.xml new file mode 100644 index 0000000000..cb68e2b763 --- /dev/null +++ b/packages/addons/service/dispmanx_vnc/source/settings-default.xml @@ -0,0 +1,11 @@ + + + + + + + + + + +