Hello community,

here is the log from the commit of package syncthing-gtk for openSUSE:Factory 
checked in at 2016-03-26 15:29:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/syncthing-gtk (Old)
 and      /work/SRC/openSUSE:Factory/.syncthing-gtk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "syncthing-gtk"

Changes:
--------
--- /work/SRC/openSUSE:Factory/syncthing-gtk/syncthing-gtk.changes      
2016-01-26 10:15:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.syncthing-gtk.new/syncthing-gtk.changes 
2016-03-26 18:15:20.000000000 +0100
@@ -1,0 +2,9 @@
+Fri Mar 25 15:09:10 UTC 2016 - [email protected]
+
+- Update to 0.8.3:
+  * Add "Advanced" tab into UI Settings with options to change
+    Syncthing daemon arguments and environment variables.
+  * Fix handling Syncthing restarting.
+  * Fix repository with space in ID not refreshing correctly.
+
+-------------------------------------------------------------------

Old:
----
  syncthing-gtk-0.8.2.tar.gz

New:
----
  syncthing-gtk-0.8.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ syncthing-gtk.spec ++++++
--- /var/tmp/diff_new_pack.9K6DAq/_old  2016-03-26 18:15:22.000000000 +0100
+++ /var/tmp/diff_new_pack.9K6DAq/_new  2016-03-26 18:15:22.000000000 +0100
@@ -19,7 +19,7 @@
 %global __requires_exclude typelib\\((Caja|Nautilus|Nemo)\\)
 %define _name   syncthing_gtk
 Name:           syncthing-gtk
-Version:        0.8.2
+Version:        0.8.3
 Release:        0
 Summary:        Syncthing Gtk-based graphical interface
 License:        GPL-2.0+

++++++ syncthing-gtk-0.8.2.tar.gz -> syncthing-gtk-0.8.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/README.md 
new/syncthing-gtk-0.8.3/README.md
--- old/syncthing-gtk-0.8.2/README.md   2016-01-18 09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/README.md   2016-03-06 07:45:44.000000000 +0100
@@ -20,6 +20,14 @@
 - Nautilus (a.k.a. Files), Nemo and Caja integration
 - Desktop notifications
 
+Packages:
+- Ubuntu (deb-based distros): in [Web Upd8 
PPA](https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/) (thanks!) or 
[DEBs](http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/s/syncthing-gtk/)
+- Arch Linux: In [[community] 
repository](https://www.archlinux.org/packages/community/any/syncthing-gtk/)
+- Fedora: [in decathorpe's copr 
repository](https://copr.fedoraproject.org/coprs/decathorpe/syncthing/)
+- SUSE (and other rpm-based distros): in [OpenSUSE Build 
Service](http://software.opensuse.org/download.html?project=home%3Akozec&package=syncthing-gtk).
+- Windows: Get [latest installer from 
here](https://github.com/kozec/syncthing-gui/releases/latest), or use [the 
Chocolatey package](https://chocolatey.org/packages/syncthing-gtk).
+- Or, in worst case scenario, download [latest 
tarball](https://github.com/kozec/syncthing-gui/releases/latest), extract it 
and run syncthing-gtk.py.
+
 Dependencies:
 - python 2.7, GTK 3.8 or newer and 
[PyGObject](https://live.gnome.org/PyGObject)
 - [python-gi-cairo](https://packages.debian.org/sid/python-gi-cairo) and 
[gir1.2-rsvg-2.0](https://packages.debian.org/sid/gir1.2-rsvg-2.0) on debian 
based distros (included in PyGObject elsewhere)
@@ -33,13 +41,14 @@
 - libnotify for desktop notifications.
 - nautilus-python, nemo-python or caja-python for filemanager integration
 
-Packages:
-- Ubuntu (deb-based distros): in [Web Upd8 
PPA](https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/) (thanks!) or 
[DEBs](http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/s/syncthing-gtk/)
-- Arch Linux: In [[community] 
repository](https://www.archlinux.org/packages/community/any/syncthing-gtk/)
-- Fedora: [in decathorpe's copr 
repository](https://copr.fedoraproject.org/coprs/decathorpe/syncthing/)
-- SUSE (and other rpm-based distros): in [OpenSUSE Build 
Service](http://software.opensuse.org/download.html?project=home%3Akozec&package=syncthing-gtk).
-- Windows: Get [latest installer from 
here](https://github.com/kozec/syncthing-gui/releases/latest), or use [the 
Chocolatey package](https://chocolatey.org/packages/syncthing-gtk).
-- Or, in worst case scenario, download [latest 
tarball](https://github.com/kozec/syncthing-gui/releases/latest), extract it 
and run syncthing-gtk.py.
+Windows Building Dependencies _(you don't need to install these just to 
**run** Syncthing-GTK)_
+- Python for Windows 2.7
+- [PyGObject for Windows](http://sourceforge.net/projects/pygobjectwin32/) 
with GTK3 enabled (tested with version 3.14.0)
+- [python-dateutil](http://labix.org/python-dateutil) (Python 2 version)
+- [Python for Windows Extensions](http://sourceforge.net/projects/pywin32/)
+- [WMI](http://timgolden.me.uk/python/wmi/index.html)
+- [syncthing-inotify](https://github.com/syncthing/syncthing-inotify) 
(optional)
+- [NSIS2](http://nsis.sourceforge.net/NSIS_2) with NSISdl, 
[ZipDLL](http://nsis.sourceforge.net/ZipDLL_plug-in) and 
[FindProcDLL](http://forums.winamp.com/showpost.php?p=2777729&postcount=8) 
plugins (optional, for building installer)
 
 Related links:
 - http://syncthing.net
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/build_windows.py 
new/syncthing-gtk-0.8.3/build_windows.py
--- old/syncthing-gtk-0.8.2/build_windows.py    2016-01-18 09:43:56.000000000 
+0100
+++ new/syncthing-gtk-0.8.3/build_windows.py    2016-03-06 07:45:44.000000000 
+0100
@@ -69,8 +69,10 @@
 include_files += [ (os.path.join(gnome_dll_path, x), x) for x in missing_dll ]
 
 # GTK locales
-include_files += [ (os.path.join(gnome_dll_path, "share/locale", x), 
"share/locale/" + x ) for x in enabled_gtk_locales ]
-enabled_gtk_locales
+include_files += [ (os.path.join(gnome_dll_path, "share/locale", x, 
"LC_MESSAGES", "glib20.mo"),
+               "share/locale/" + x + "/LC_MESSAGES/glib20.mo" ) for x in 
enabled_gtk_locales ]
+include_files += [ (os.path.join(gnome_dll_path, "share/locale", x, 
"LC_MESSAGES", "gtk30.mo"),
+               "share/locale/" + x + "/LC_MESSAGES/gtk30.mo" ) for x in 
enabled_gtk_locales ]
 
 # Data files
 include_files += [ x for x in os.listdir(".") if x.endswith(".glade") ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/find-daemon.glade 
new/syncthing-gtk-0.8.3/find-daemon.glade
--- old/syncthing-gtk-0.8.2/find-daemon.glade   2016-01-18 09:43:56.000000000 
+0100
+++ new/syncthing-gtk-0.8.3/find-daemon.glade   2016-03-06 07:45:44.000000000 
+0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.19.0 -->
 <interface>
   <requires lib="gtk+" version="3.8"/>
   <object class="GtkDialog" id="editor">
@@ -27,6 +27,21 @@
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
+              <object class="GtkButton" id="bt_ui_settings">
+                <property name="label">UI _Settings</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <signal name="clicked" handler="cb_bt_ui_settings_clicked" 
swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
               <object class="GtkButton" id="btQuit">
                 <property name="label">gtk-quit</property>
                 <property name="visible">True</property>
@@ -38,7 +53,7 @@
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="position">0</property>
+                <property name="position">1</property>
               </packing>
             </child>
             <child>
@@ -54,7 +69,7 @@
               <packing>
                 <property name="expand">True</property>
                 <property name="fill">True</property>
-                <property name="position">1</property>
+                <property name="position">3</property>
               </packing>
             </child>
           </object>
@@ -77,10 +92,10 @@
                 <property name="can_focus">False</property>
                 <property name="margin_bottom">10</property>
                 <property name="hexpand">True</property>
-                <property name="xalign">0</property>
                 <property name="label">... message goes here ...</property>
                 <property name="use_markup">True</property>
                 <property name="wrap">True</property>
+                <property name="xalign">0</property>
               </object>
               <packing>
                 <property name="expand">False</property>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/syncthing-gtk-0.8.2/locale/fr/LC_MESSAGES/syncthing-gtk.po 
new/syncthing-gtk-0.8.3/locale/fr/LC_MESSAGES/syncthing-gtk.po
--- old/syncthing-gtk-0.8.2/locale/fr/LC_MESSAGES/syncthing-gtk.po      
2016-01-18 09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/locale/fr/LC_MESSAGES/syncthing-gtk.po      
2016-03-06 07:45:44.000000000 +0100
@@ -3,15 +3,15 @@
 # This file is distributed under the same license as the Syncthing-GTK package.
 # 
 # Translators:
-# Gérald Maruccia <[email protected]>, 2015
+# Gérald Maruccia <[email protected]>, 2015-2016
 # kozec <[email protected]>, 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: syncthing-gtk\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-11-02 23:51+0100\n"
-"PO-Revision-Date: 2016-01-13 19:09+0000\n"
-"Last-Translator: kozec <[email protected]>\n"
+"PO-Revision-Date: 2016-01-31 13:48+0000\n"
+"Last-Translator: Gérald Maruccia <[email protected]>\n"
 "Language-Team: French (France) 
(http://www.transifex.com/syncthing-gtk/syncthing-gtk/language/fr_FR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -560,28 +560,28 @@
 #: syncthing_gtk/notifications.py:160
 #, python-format
 msgid "The file '%s' was updated on remote device."
-msgstr "Le fichier '%s' a été mis à jour sur l'appareil distant."
+msgstr "Le fichier '%s' a été mis à jour."
 
 #: syncthing_gtk/notifications.py:165
 #, python-format
 msgid "The file '%s' was deleted on remote device."
-msgstr "Le fichier '%s' a été supprimé sur l'appareil distant."
+msgstr "Le fichier '%s' a été supprimé."
 
 #: syncthing_gtk/notifications.py:168
 #, python-format
 msgid "%s files were updated on remote device."
-msgstr "%s fichiers ont été mis à jour sur l'appareil distant."
+msgstr "%s fichiers ont été mis à jour."
 
 #: syncthing_gtk/notifications.py:171
 #, python-format
 msgid "%s files were deleted on remote device."
-msgstr "%s ont été supprimés sur l'appareil distant."
+msgstr "%s fichiers ont été supprimés."
 
 #: syncthing_gtk/notifications.py:175
 #, python-format
 msgid ""
 "%(updated)s files were updated and %(deleted)s deleted on remote device."
-msgstr "%(updated)s ont été mis à jour et %(deleted)s ont été supprimés sur 
l'appareil distant."
+msgstr "%(updated)s fichiers ont été mis à jour et %(deleted)s ont été 
supprimés."
 
 #: syncthing_gtk/statusicon.py:48
 msgid "Syncthing"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing-gtk.nsis 
new/syncthing-gtk-0.8.3/syncthing-gtk.nsis
--- old/syncthing-gtk-0.8.2/syncthing-gtk.nsis  2016-01-18 09:43:56.000000000 
+0100
+++ new/syncthing-gtk-0.8.3/syncthing-gtk.nsis  2016-03-06 07:45:44.000000000 
+0100
@@ -3,7 +3,7 @@
 # Initial stuff
 !include MUI2.nsh
 !define APP_NAME SyncthingGTK
-!define LIBRARIES_FILE "syncthing-gtk-windows-libraries-0.7.2.zip"
+!define LIBRARIES_FILE "syncthing-gtk-windows-libraries-0.8.2.zip"
 !define LIBRARIES_URL "http://kozec.com/${LIBRARIES_FILE}";
 !define MUI_FINISHPAGE_RUN "$INSTDIR\syncthing-gtk.exe"
 !include "build\version.nsh"
@@ -50,7 +50,7 @@
        File /r build\exe.win32-2.7\icons
        # Check if random file that should be part of libraries zip exists
        # and download&extract zip if not
-       IfFileExists $INSTDIR\syncthing-inotify-v0.6.3.exe SkipDownload 
DoDownload
+       IfFileExists $INSTDIR\share\locale\vi\LC_MESSAGES\gtk30.mo SkipDownload 
DoDownload
 DoDownload:
        NSISdl::download ${LIBRARIES_URL} $TEMP\${LIBRARIES_FILE}
        ZipDLL::extractall $TEMP\${LIBRARIES_FILE} $INSTDIR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing_gtk/app.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/app.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/app.py        2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/app.py        2016-03-06 
07:45:44.000000000 +0100
@@ -11,7 +11,7 @@
 from syncthing_gtk.tools import *
 from syncthing_gtk.tools import _ # gettext function
 from datetime import datetime
-import os, webbrowser, sys, logging, shutil, re
+import os, webbrowser, sys, time, logging, shutil, re
 log = logging.getLogger("App")
 
 # Internal version used by updater (if enabled)
@@ -49,6 +49,9 @@
 REFRESH_INTERVAL_DEFAULT       = 1
 REFRESH_INTERVAL_TRAY          = 5
 
+# If daemon dies twice in this interval, broken settings are assumed
+RESTART_TOO_FREQUENT_INTERVAL = 5
+
 UPDATE_CHECK_INTERVAL = 12 * 60 * 60
 
 # Speed values in outcoming/incoming speed limit menus
@@ -77,6 +80,7 @@
                self.process = None
                self.hide_window = self.config["minimize_on_start"]
                self.exit_after_wizard = False
+               self.last_restart_time = 0.0
                # Can be changed by --force-update=vX.Y.Z argument
                self.force_update_version = None
                # Determine if header bar should be shown
@@ -315,7 +319,7 @@
                        if IS_XP:
                                # Wizard can't run on old Windows versions. 
Instead of
                                # it, 'Give me daemon executable' dialog is 
shown
-                               self.cb_daemon_startup_failed(None, "File not 
found")
+                               self.cb_daemon_startup_failed(None, "Syncthing 
is not configured or configuration file cannot be found.")
                                return False
                        self.hide()
                        self.show_wizard()
@@ -403,7 +407,11 @@
                Sets self.process, adds related handlers and starts daemon.
                Just so I don't have to write same code all over the place.
                """
-               self.process = DaemonProcess([self.config["syncthing_binary"], 
"-no-browser"], self.config["daemon_priority"], self.config["max_cpus"])
+               cmdline = [self.config["syncthing_binary"], "-no-browser"]
+               vars, preargs, args = 
parse_config_arguments(self.config["syncthing_arguments"])
+               cmdline = preargs + cmdline + args
+               
+               self.process = DaemonProcess(cmdline, 
self.config["daemon_priority"], self.config["max_cpus"], env=vars)
                self.process.connect('failed', self.cb_daemon_startup_failed)
                self.process.connect('exit', self.cb_daemon_exit)
                self.process.start()
@@ -1939,10 +1947,14 @@
                        self.quit()
        
        def cb_daemon_exit(self, proc, error_code):
-               print "cb_daemon_exit", proc, self.process
                if proc == self.process:
                        # Whatever happens, if daemon dies while it shouldn't,
-                       # restart it
+                       # restart it...
+                       if time.time() - self.last_restart_time < 
RESTART_TOO_FREQUENT_INTERVAL:
+                               # ... unless it keeps restarting
+                               self.cb_daemon_startup_failed(proc, "Daemon 
exits too fast")
+                               return
+                       self.last_restart_time = time.time()
                        if not StDownloader is None and 
self.config["st_autoupdate"] and os.path.exists(self.config["syncthing_binary"] 
+ ".new"):
                                # New daemon version is downloaded and ready to 
use.
                                # Switch to this version before restarting
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing_gtk/configuration.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/configuration.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/configuration.py      2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/configuration.py      2016-03-06 
07:45:44.000000000 +0100
@@ -31,6 +31,7 @@
                "daemon_priority"                       : (int, 0), # uses nice 
values
                "max_cpus"                                      : (int, 0), # 0 
for all cpus
                "syncthing_binary"                      : (str, 
"/usr/bin/syncthing"),
+               "syncthing_arguments"           : (str, ""),
                "minimize_on_start"                     : (bool, False),
                "folder_as_path"                        : (bool, True),
                "use_inotify"                           : (list, []),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing_gtk/daemon.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/daemon.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/daemon.py     2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/daemon.py     2016-03-06 
07:45:44.000000000 +0100
@@ -901,6 +901,7 @@
                        else:
                                if self._instance_id != data["startTime"]:
                                        log.warning("Daemon instance was 
replaced unexpedtedly. Disconnecting from daemon.")
+                                       self._my_id = None
                                        if self._connected:
                                                self._connected = False
                                                self.emit("disconnected", 
Daemon.UNEXPECTED, "Daemon instance replaced")
@@ -1205,7 +1206,8 @@
                                callback("\n".join(data["ignore"]).strip(" 
\t\n"), *a)
                        else:
                                callback("", *a)
-               self._rest_request("db/ignores?folder=%s" % (folder_id,), 
r_filter, error_callback, *calbackdata)
+               id_enc = urllib.quote(folder_id.encode('utf-8'))
+               self._rest_request("db/ignores?folder=%s" % (id_enc,), 
r_filter, error_callback, *calbackdata)
        
        def write_stignore(self, folder_id, text, callback, 
error_callback=None, *calbackdata):
                """
@@ -1213,7 +1215,8 @@
                with on success, error_callback(exception) on failure.
                """
                data = { 'ignore': text.split("\n") }
-               self._rest_post("db/ignores?folder=%s" % (folder_id,), data, 
callback, error_callback, *calbackdata)
+               id_enc = urllib.quote(folder_id.encode('utf-8'))
+               self._rest_post("db/ignores?folder=%s" % (id_enc,), data, 
callback, error_callback, *calbackdata)
        
        def restart(self):
                """
@@ -1295,14 +1298,16 @@
        def rescan(self, folder_id, path=None):
                """ Asks daemon to rescan entire folder or specified path """
                if path is None:
-                       self._rest_post("db/scan?folder=%s" % (folder_id,), {}, 
lambda *a: a, lambda *a: log.error(a), folder_id)
+                       id_enc = urllib.quote(folder_id.encode('utf-8'))
+                       self._rest_post("db/scan?folder=%s" % (id_enc,), {}, 
lambda *a: a, lambda *a: log.error(a), folder_id)
                else:
                        path_enc = urllib.quote(path.encode('utf-8'), 
''.encode('utf-8'))
                        self._rest_post("db/scan?folder=%s&sub=%s" % 
(folder_id, path_enc), {}, lambda *a: a, lambda *a: log.error(a), folder_id)
        
        def override(self, folder_id):
                """ Asks daemon to override changes made in specified folder """
-               self._rest_post("model/override?folder=%s" % (folder_id,), {}, 
lambda *a: a, lambda *a: log.error(a), folder_id)
+               id_enc = urllib.quote(folder_id.encode('utf-8'))
+               self._rest_post("model/override?folder=%s" % (id_enc,), {}, 
lambda *a: a, lambda *a: log.error(a), folder_id)
        
        def request_events(self):
                """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing_gtk/daemonprocess.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/daemonprocess.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/daemonprocess.py      2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/daemonprocess.py      2016-03-06 
07:45:44.000000000 +0100
@@ -39,19 +39,21 @@
        PRIORITY_HIGH           = -10
        PRIORITY_HIGHEST        = -20
        
-       def __init__(self, commandline, priority=PRIORITY_NORMAL, max_cpus=0):
-               """ commandline should be list of arguments """
+       def __init__(self, cmdline, priority=PRIORITY_NORMAL, max_cpus=0, 
env={}):
+               """ cmdline should be list of arguments """
                GObject.GObject.__init__(self)
-               self.commandline = commandline
+               self.cmdline = cmdline
                self.priority = priority
-               self.max_cpus = max_cpus
+               self.env = { x:env[x] for x in env }
+               self.env["STNORESTART"] = "1"   # see syncthing --help
+               self.env["STNOUPGRADE"] = "1"
+               if max_cpus > 0:
+                       self.env["GOMAXPROCS"] = str(max_cpus)
                self._proc = None
        
        def start(self):
-               os.environ["STNORESTART"] = "1" # see syncthing --help
-               os.environ["STNOUPGRADE"] = "1" # hopefully implemented later
-               if self.max_cpus > 0:
-                       os.environ["GOMAXPROCS"] = str(self.max_cpus)
+               for x in self.env:
+                       os.environ[x] = self.env[x]
                try:
                        self._cancel = Gio.Cancellable()
                        if IS_WINDOWS:
@@ -60,7 +62,7 @@
                                sinfo.dwFlags = STARTF_USESHOWWINDOW
                                sinfo.wShowWindow = 0
                                cflags = nice_to_priority_class(self.priority)
-                               self._proc = Popen(self.commandline,
+                               self._proc = Popen(self.cmdline,
                                                        stdin=PIPE, 
stdout=PIPE, stderr=PIPE,
                                                        startupinfo=sinfo, 
creationflags=cflags)
                                self._stdout = WinPopenReader(self._proc.stdout)
@@ -69,16 +71,16 @@
                                # New Gio
                                flags = Gio.SubprocessFlags.STDOUT_PIPE | 
Gio.SubprocessFlags.STDERR_MERGE
                                if self.priority == 0:
-                                       self._proc = 
Gio.Subprocess.new(self.commandline, flags)
+                                       self._proc = 
Gio.Subprocess.new(self.cmdline, flags)
                                else:
                                        # I just really do hope that there is 
no distro w/out nice command
-                                       self._proc = Gio.Subprocess.new([ 
"nice", "-n", "%s" % self.priority ] + self.commandline, flags)
+                                       self._proc = Gio.Subprocess.new([ 
"nice", "-n", "%s" % self.priority ] + self.cmdline, flags)
                                self._proc.wait_check_async(None, 
self._cb_finished)
                                self._stdout = self._proc.get_stdout_pipe()
                        else:
                                # Gio < 3.12 - Gio.Subprocess is missing :(
                                if self.priority == 0:
-                                       self._proc = Popen(self.commandline, 
stdout=PIPE)
+                                       self._proc = Popen(self.cmdline, 
stdout=PIPE)
                                else:
                                        # still hoping
                                        self._proc = Popen([ "nice", "-n", "%s" 
% self.priority ], stdout=PIPE)
@@ -188,4 +190,4 @@
        
        def get_commandline(self):
                """ Returns commandline used to start process """
-               return self.commandline
+               return self.cmdline
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/syncthing-gtk-0.8.2/syncthing_gtk/finddaemondialog.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/finddaemondialog.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/finddaemondialog.py   2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/finddaemondialog.py   2016-03-06 
07:45:44.000000000 +0100
@@ -11,7 +11,7 @@
 from syncthing_gtk import EditorDialog, StDownloader
 from syncthing_gtk.tools import get_config_dir, IS_WINDOWS, IS_XP
 from syncthing_gtk.tools import _ # gettext function
-from syncthing_gtk.uisettingsdialog import browse_for_binary
+from syncthing_gtk.uisettingsdialog import UISettingsDialog, browse_for_binary
 import os, platform
 
 VALUES = [ "vsyncthing_binary" ]
@@ -109,6 +109,16 @@
                """ Handler for 'Quit' button """
                self["editor"].response(FindDaemonDialog.RESPONSE_QUIT)
        
+       def cb_bt_ui_settings_clicked(self, *a):
+               """ Handler for 'UI Settings' button """
+               e = UISettingsDialog(self.app)
+               e.connect('close', self.cb_ui_settings_closed)
+               e.load()
+               e.show(self["window"])
+       
+       def cb_ui_settings_closed(self, *a):
+               self.load()
+       
        ### EditorDialog overrides
        
        #@Overrides
@@ -175,3 +185,4 @@
                self["lblDownloadProgress"].set_markup("<b>" + _("Download 
finished.") + "</b>")
                self["pbDownload"].set_visible(False)
                self["btSave"].set_sensitive(True)
+       
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing_gtk/tools.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/tools.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/tools.py      2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/tools.py      2016-03-06 
07:45:44.000000000 +0100
@@ -11,7 +11,7 @@
 from datetime import datetime, tzinfo, timedelta
 from subprocess import Popen
 from dateutil import parser
-import re, os, sys, platform, logging, gettext, __main__
+import re, os, sys, platform, logging, shlex, gettext, __main__
 log = logging.getLogger("tools.py")
 
 IS_WINDOWS     = sys.platform in ('win32', 'win64')
@@ -157,6 +157,27 @@
        except ValueError:
                raise ValueError("Failed to parse '%s' as time" % m)
 
+def parse_config_arguments(lst):
+       """
+       Parses list of arguments and variables set in configuration
+       Returns tuple of (variables_dict, prefix_arguments, arguments_list)
+       """
+       vars, preargs, args = {}, [], []
+       split = shlex.split(lst, False, False)
+       args_target = preargs if "!" in split else args
+       for i in split:
+               if "=" in i and not i.startswith("-"):
+                       # Environment variable
+                       k, v = i.split("=", 1)
+                       vars[k] = v
+                       continue
+               elif i == "!":
+                       args_target = args
+               elif len(i.strip()) > 0:
+                       # Argument
+                       args_target.append(i.strip())
+       return vars, preargs, args
+
 def delta_to_string(d):
        """
        Returns aproximate, human-readable and potentialy localized
@@ -338,7 +359,7 @@
        """
        if is_portable():
                return os.environ["XDG_CONFIG_HOME"]
-       if IS_WINDOWS:
+       if IS_WINDOWS and not IS_XP:
                try:
                        import windows
                        return windows.get_unicode_home()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/syncthing-gtk-0.8.2/syncthing_gtk/uisettingsdialog.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/uisettingsdialog.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/uisettingsdialog.py   2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/uisettingsdialog.py   2016-03-06 
07:45:44.000000000 +0100
@@ -20,7 +20,7 @@
                "vforce_dark_theme", "vdaemon_priority", "vfolder_as_path",
                "vnotification_for_update", "vnotification_for_folder",
                "vnotification_for_error", "vst_autoupdate", 
"vsyncthing_binary",
-               "vmax_cpus",
+               "vsyncthing_arguments", "vmax_cpus",
        ]
 
 # Values for filemanager integration. Key is ID of checkbox widget
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/syncthing_gtk/windows.py 
new/syncthing-gtk-0.8.3/syncthing_gtk/windows.py
--- old/syncthing-gtk-0.8.2/syncthing_gtk/windows.py    2016-01-18 
09:43:56.000000000 +0100
+++ new/syncthing-gtk-0.8.3/syncthing_gtk/windows.py    2016-03-06 
07:45:44.000000000 +0100
@@ -44,7 +44,8 @@
                loc = locale.getdefaultlocale()[0]
        except Exception, e:
                pass
-       os.environ['LANGUAGE'] = loc
+       if not 'LANGUAGE' in os.environ:
+               os.environ['LANGUAGE'] = loc
 
 def is_shutting_down():
        """ Returns True if Windows initiated shutdown process """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/syncthing-gtk-0.8.2/ui-settings.glade 
new/syncthing-gtk-0.8.3/ui-settings.glade
--- old/syncthing-gtk-0.8.2/ui-settings.glade   2016-01-18 09:43:56.000000000 
+0100
+++ new/syncthing-gtk-0.8.3/ui-settings.glade   2016-03-06 07:45:44.000000000 
+0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.19.0 -->
 <interface>
   <requires lib="gtk+" version="3.8"/>
   <object class="GtkAdjustment" id="adjKeepVersions">
@@ -116,14 +116,13 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_top">10</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes">When starting 
and Syncthing daemon is not running...</property>
+                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">10</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -141,7 +140,6 @@
                     <property name="left_attach">1</property>
                     <property name="top_attach">11</property>
                     <property name="width">2</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -158,8 +156,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">12</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -176,8 +172,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">13</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -185,14 +179,13 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_top">10</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes">When exiting 
after daemon was started in background...</property>
+                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">14</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -209,8 +202,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">15</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -227,8 +218,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">16</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -245,8 +234,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">17</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -264,7 +251,6 @@
                     <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -272,14 +258,13 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_top">10</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes">Display desktop 
notifications for...</property>
+                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">6</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -295,8 +280,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">7</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -312,8 +295,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">9</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -329,8 +310,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">8</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -347,7 +326,6 @@
                     <property name="left_attach">0</property>
                     <property name="top_attach">0</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -364,7 +342,6 @@
                     <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -381,7 +358,6 @@
                     <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -398,7 +374,6 @@
                     <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -415,7 +390,6 @@
                     <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
                     <property name="width">3</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -496,10 +470,10 @@
                   <object class="GtkLabel" id="label10">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes">Integrate 
Syncthing with filemanagers</property>
                     <property name="use_underline">True</property>
                     <property name="ellipsize">end</property>
+                    <property name="xalign">0</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                     </attributes>
@@ -507,8 +481,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -526,8 +498,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -544,8 +514,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -562,8 +530,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -572,10 +538,10 @@
                     <property name="sensitive">False</property>
                     <property name="can_focus">False</property>
                     <property name="margin_top">7</property>
-                    <property name="xalign">0</property>
                     <property name="label">Install blahblahblah to enable Nemo 
support
 Install blahblahblah to enable Nautilus support
 Install blahblahblah to enable Caja support</property>
+                    <property name="xalign">0</property>
                     <attributes>
                       <attribute name="style" value="italic"/>
                     </attributes>
@@ -583,8 +549,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">5</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -592,17 +556,15 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="margin_top">8</property>
-                    <property name="xalign">0</property>
                     <property name="xpad">3</property>
                     <property name="label" 
translatable="yes">&lt;b&gt;Note:&lt;/b&gt; You may need to restart your 
filemanager after toggling integration.</property>
                     <property name="use_markup">True</property>
                     <property name="wrap">True</property>
+                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">4</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
               </object>
@@ -623,42 +585,216 @@
               </packing>
             </child>
             <child>
-              <object class="GtkGrid" id="pageAdvanced">
+              <object class="GtkGrid" id="pageDaemon">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="margin_left">5</property>
                 <property name="margin_right">5</property>
                 <property name="margin_top">5</property>
+                <property name="margin_bottom">5</property>
                 <child>
-                  <object class="GtkLabel" id="label3">
+                  <object class="GtkCheckButton" id="vst_autoupdate">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="margin_top">10</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                    <child>
+                      <object class="GtkLabel" id="label7">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Keep 
Syncthing binary up-to-date</property>
+                        <property name="xalign">0</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">9</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="lblAutoupdate">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="no_show_all">True</property>
+                    <property name="margin_left">10</property>
+                    <property name="label" translatable="yes">If enabled, 
Syncthing-GTK will automatically check for new daemon releases and replace 
binary with latest version.</property>
+                    <property name="use_markup">True</property>
+                    <property name="wrap">True</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Syncthing binary 
location</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">10</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label12">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Daemon process 
priority</property>
                     <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                     </attributes>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
+                    <property name="top_attach">3</property>
                     <property name="width">2</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkEntry" id="vsyncthing_binary">
+                  <object class="GtkComboBox" id="vdaemon_priority">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">lststrPriority</property>
+                    <child>
+                      <object class="GtkCellRendererText" 
id="cellrenderertext1"/>
+                      <attributes>
+                        <attribute name="text">1</attribute>
+                      </attributes>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label13">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_bottom">10</property>
+                    <property name="label" translatable="yes">Priority will be 
used only if "&lt;i&gt;start daemon in background&lt;/i&gt;" option is checked 
on "&lt;i&gt;Interface&lt;/i&gt;" page.</property>
+                    <property name="use_markup">True</property>
+                    <property name="wrap">True</property>
+                    <property name="xalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label14">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Maximum number 
of CPU cores</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label15">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_bottom">10</property>
+                    <property name="label" translatable="yes">Sets the maximum 
number of CPU cores for daemon to use. This value will be used only if 
"&lt;i&gt;start daemon in background&lt;/i&gt;" option is checked on 
"&lt;i&gt;Interface&lt;/i&gt;" page.</property>
+                    <property name="use_markup">True</property>
+                    <property name="wrap">True</property>
+                    <property name="xalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="vmax_cpus">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="margin_right">5</property>
-                    <signal name="changed" handler="cb_check_value" 
swapped="no"/>
+                    <property name="margin_bottom">10</property>
+                    <property name="text">1</property>
+                    <property name="adjustment">adjMaxCPUs</property>
+                    <property name="value">1</property>
+                    <signal name="value-changed" 
handler="cb_vmax_cpus_value_changed" swapped="no"/>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_expand">True</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Daemon</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_expand">True</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkGrid" id="pageAdvanced">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="margin_left">5</property>
+                <property name="margin_right">5</property>
+                <property name="margin_top">5</property>
+                <property name="margin_bottom">5</property>
+                <child>
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_bottom">10</property>
+                    <property name="label" translatable="yes">This binary will 
be started when syncthing daemon is not running and "&lt;i&gt;start daemon in 
background&lt;/i&gt;" option is checked on "&lt;i&gt;Interface&lt;/i&gt;" 
page.</property>
+                    <property name="use_markup">True</property>
+                    <property name="wrap">True</property>
+                    <property name="xalign">0</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">2</property>
                   </packing>
                 </child>
                 <child>
@@ -667,216 +803,140 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="margin_left">5</property>
                     <property name="use_underline">True</property>
                     <property name="yalign">0.51999998092651367</property>
                     <signal name="clicked" handler="cb_btBrowse_clicked" 
swapped="no"/>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
+                    <property name="top_attach">3</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label6">
+                  <object class="GtkLabel" id="label3">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="margin_left">10</property>
-                    <property name="margin_bottom">10</property>
+                    <property name="label" translatable="yes">Syncthing binary 
location</property>
+                    <property name="use_underline">True</property>
                     <property name="xalign">0</property>
-                    <property name="label" translatable="yes">This binary will 
be started when syncthing daemon is not running and "&lt;i&gt;start daemon in 
background&lt;/i&gt;" option is checked on "&lt;i&gt;Interface&lt;/i&gt;" 
page.</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
                     <property name="width">2</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="vst_autoupdate">
+                  <object class="GtkEntry" id="vsyncthing_binary">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="no_show_all">True</property>
+                    <property name="hexpand">True</property>
+                    <signal name="changed" handler="cb_check_value" 
swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label16">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">Daemon arguments 
and variables</property>
+                    <property name="use_underline">True</property>
                     <property name="xalign">0</property>
-                    <property name="draw_indicator">True</property>
-                    <child>
-                      <object class="GtkLabel" id="label7">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_top">10</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Keep 
Syncthing binary up-to-date</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
-                    </child>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">4</property>
+                    <property name="top_attach">5</property>
                     <property name="width">2</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="lblAutoupdate">
+                  <object class="GtkEntry" id="vsyncthing_arguments">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hexpand">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label17">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="no_show_all">True</property>
-                    <property name="margin_left">10</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">If enabled, 
Syncthing-GTK will automatically check for new daemon releases and replace 
binary with latest version.</property>
+                    <property name="margin_bottom">10</property>
+                    <property name="label" translatable="yes">Space-separated 
list of arguments and environment variables passed when starting above binary
+
+Use &lt;i&gt;VARIABLE="value"&lt;/i&gt; to set variable and 
&lt;i&gt;-argument="value"&lt;/i&gt;  (with dash) for argument.
+
+If you need to pass commandline to different command (such as logger or 
ionice), separate prefixed arguments with exclamation mark "!"
+
+Example:
+  &lt;i&gt;STTRACE="all" logger -t /var/log/syncthing.log ! 
-logflags=10&lt;/i&gt;</property>
                     <property name="use_markup">True</property>
                     <property name="wrap">True</property>
+                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">5</property>
+                    <property name="top_attach">7</property>
                     <property name="width">2</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkGrid" id="grid1">
+                  <object class="GtkLabel" id="label18">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkLabel" id="label12">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Daemon 
process priority</property>
-                        <property name="use_underline">True</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="vdaemon_priority">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="hexpand">True</property>
-                        <property name="model">lststrPriority</property>
-                        <child>
-                          <object class="GtkCellRendererText" 
id="cellrenderertext1"/>
-                          <attributes>
-                            <attribute name="text">1</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label13">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_bottom">10</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Sets the 
maximum number of CPU cores for daemon to use. This value will be used only if 
"&lt;i&gt;start daemon in background&lt;/i&gt;" option is checked on 
"&lt;i&gt;Interface&lt;/i&gt;" page.</property>
-                        <property name="use_markup">True</property>
-                        <property name="wrap">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">5</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSpinButton" id="vmax_cpus">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="text">1</property>
-                        <property name="adjustment">adjMaxCPUs</property>
-                        <property name="value">1</property>
-                        <signal name="value-changed" 
handler="cb_vmax_cpus_value_changed" swapped="no"/>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">4</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label8">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Maximum 
number of CPU cores</property>
-                        <property name="use_underline">True</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label14">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_bottom">10</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Priority 
will be used only if "&lt;i&gt;start daemon in background&lt;/i&gt;" option is 
checked on "&lt;i&gt;Interface&lt;/i&gt;" page.</property>
-                        <property name="use_markup">True</property>
-                        <property name="wrap">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">2</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
+                    <property name="margin_left">5</property>
+                    <property name="margin_right">5</property>
+                    <property name="label" 
translatable="yes">&lt;b&gt;Warning:&lt;/b&gt; Changing settings on this page 
may prevent you from using Syncthing-GTK</property>
+                    <property name="use_markup">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparator" id="separator1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_left">5</property>
+                    <property name="margin_right">5</property>
+                    <property name="margin_top">5</property>
+                    <property name="margin_bottom">5</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
                     <property name="width">2</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="position">2</property>
-                <property name="tab_expand">True</property>
+                <property name="position">3</property>
               </packing>
             </child>
             <child type="tab">
-              <object class="GtkLabel" id="label2">
+              <object class="GtkLabel" id="label8">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="label" translatable="yes">_Advanced</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
-                <property name="position">2</property>
-                <property name="tab_expand">True</property>
+                <property name="position">3</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>


Reply via email to