Tray application and Dolphin/Plasma integration for Syncthing
See the codeSyncthing Tray provides a tray icon and further platform integrations for Syncthing. Check out the website for an overview and screenshots.
The following integrations are provided:
This document is the main documentation of Syncthing Tray. It is available on the Syncthing Tray website and on GitHub. If you are not already familiar with Syncthing itself, you should also have a look at the Syncthing documentation as this document only covers Syncthing Tray.
Check out the official forum thread for discussions and announcements of new features.
Issues can be created on GitHub but please check the documentation on known bugs and workarounds before.
Syncthing Tray works with Syncthing v2. It also very likely still works with Syncthing v1 (and even v0) but this is not regularly tested anymore. Syncthing Tray is maintained, and updates will be made to support future Syncthing versions as needed.
Official binaries are provided for Windows (for i686, x86_64 and aarch64), GNU/Linux (for x86_64) and Android (for x86_64 and aarch64). They can be downloaded from the website and the release section on GitHub. However, this is only a fraction of the available downloads. I also provide further repositories for some GNU/Linux distributions. There are also binaries/repositories provided by other distributors. For a list of links, check out the "Download" section of this document.
Syncthing Tray is known to work under:
This does not mean Syncthing Tray is actively tested on all of these platforms or desktop environments.
For Plasma 5 and 6, in addition to the Qt Widgets based version, there is also a "native" Plasmoid. Note that the latest version of the Plasmoid generally also requires the latest version of Plasma 5 or 6 as no testing on earlier versions is done. Use the Qt Widgets version on other Plasma versions. Check out the "Configuring Plasmoid" section for further details.
On GTK-centered desktops, have a look at the Arch Wiki for how to achieve a more native look and feel. Under GNOME, one needs to install an extension for tray icon support (unless your distribution already provides such an extension by default).
Limitations of your system tray might affect Syncthing Tray. For instance, when using the mentioned GNOME extension the Syncthing Tray UI shown in the screenshots is only accessible by double-clicking the icon. If your system tray, like on COSMIC, is unable to show the Syncthing Tray UI, you can still use Syncthing Tray for the tray icon and basic functionality accessible via the menu.
Note that under Wayland-based desktops there will be positioning issues. However, the Plasmoid is not affected by this.
The documentation on known bugs and workarounds contains further information and workarounds for certain platform-specific issues, such as the positioning issues under Wayland.
This section lists the most important features. Most features are optional and configurable. Some features are platform-dependent.
syncthingctl complementing the official CLI of Syncthing
Syncthing Tray does not launch Syncthing itself by default. There should be no interference with your existing Syncthing installation. You might consider different configurations:
Note that the app for mobile devices behaves differently: It sets a custom config/data directory for Syncthing so the Syncthing instance launched by it will not interfere with existing setups.
Check out the website for obtaining the executable or package. This documentation also lists more options and instructions for building from sources.
If you are using a package manager, you should follow its usual workflow.
Otherwise, you have to extract the archive and launch the contained executable. Especially on Windows, please read the notes on the website before filing any issues. To uninstall, delete the executable again.
Notifications about updates can be enabled in the settings which also allow upgrading to a new version if available. This simply replaces the executable at its location, which needs to be writable. The old executable is renamed/preserved as a backup and you can simply rename it back if you need to go back to the previous version.
For further cleanup, you may want to ensure that autostart is disabled (to avoid a dangling autostart entry). You may also delete the configuration files (see "Location of the configuration file" section below).
You need to configure how Syncthing Tray should connect to Syncthing itself. The previous section, "Does this launch or bundle Syncthing itself…", describes available options. Additionally, a wizard is shown on the first launch, which can guide you through the configuration for common setups. If you have dismissed the wizard, you can still open it at any time via a button on the top-right corner of the settings dialog.
It may be worthwhile to browse through the pages of the configuration dialog to tweak Syncthing Tray to your needs, e.g., to turn off notifications you may find annoying.
The configuration file is usually located under ~/.config/syncthingtray.ini on GNU/Linux and
under %appdata%\syncthingtray.ini on Windows. For other platforms and further details,
check out the
Qt documentation
(Syncthing Tray uses the "IniFormat"). For portable installations, it is also possible to create
an empty file called syncthingtray.ini directly next to the executable.
You can remove the configuration file from the mentioned location to start from scratch.
Note that this only applies to Syncthing Tray. For Syncthing itself, check out its own documentation.
The Plasmoid uses the same configuration file but also uses Plasma's configuration management for settings specific to a concrete instance of the Plasmoid.
The UI tailored for mobile devices uses a distinct configuration which is located under
/storage/emulated/0/Android/data/io.github.martchus.syncthingtray on Android and
~/.config/Martchus/Syncthing Tray on GNU/Linux and %appdata%\Martchus\Syncthing Tray on
Windows. The configuration and database of Syncthing itself are also located within this
directory when Syncthing is launched via the mobile UI.
It is possible to enable a more modern UI. This UI is a result of porting Syncthing Tray to Android and brings back the modern design and many features of the mobile UI to Syncthing Tray on the desktop. For instance, it allows editing folders and devices. It also comes with a dashboard that looks similar to the official web-based UI which can be enabled as alternative in the web view settings.
The modern UI is new and there is still room for improvement. Hence it needs to be enabled
manually. Additionally, Syncthing Tray needs to be built with -DQUICK_GUI=ON and Qt 6.10 or
newer is required. This is the case for official Qt 6 based Syncthing Tray builds but might not
be the case for downstream builds. The modern UI also requires Vulkan under GNU/Linux.
With these conditions met, you can enable the modern UI under the appearance settings. The change requires a restart of Syncthing Tray to take effect. In the settings for showing the web-based UI of Syncthing you can also select showing the UI provided by Syncthing Tray instead.
Changing the style of the modern UI via
the environment variable QT_QUICK_CONTROLS_STYLE or the CLI option --qqc2-style only works
if Syncthing Tray was built with -DQUICK_GUI_CONTROLS_STYLE=dynamic as it is done by my
GNU/Linux packaging. Other builds don't support this to reduce the size of the executable.
If the modern UI does not work, check out the section "Broken modern UI".
In case you prefer the classic UI you can continue using it. It will not be deleted anytime soon. However, new UI features will mainly focus on the new UI now.
The Plasmoid still has its distinct UI. However, it also allows accessing the new features of the modern UI, such as the ability to edit folders and devices.
When using a Unix domain socket as the Syncthing GUI address (e.g., by starting Syncthing with
parameters such as --gui-address=unix://%t/syncthing.socket --no-port-probing), you need to
specify the path to the socket as "Local path" in the advanced connection settings. This
setting requires Qt 6.8 or higher. You still need to provide the "Syncthing URL" using the
unix+http as scheme (e.g. unix+http://127.0.0.1:8080 where the host and port are not
actually used). However, the web view will not work with this.
This section does not apply to the Android app, the Plasmoid and the Dolphin integration.
Syncthing Tray is a single-instance application. So, if you try to start a second instance, the second process will only pass arguments to the process that is already running and then exit. This is useful as it prevents one from accidentally launching two Syncthing instances at the same time via the built-in Syncthing launcher. It also allows triggering certain actions via launch options, see "Configuring hotkeys" for details.
There are a few other notable launch options:
--connection [config name] …:
Shows tray icons for the specified connection configurations (instead of a single tray
icon for the primary connection configuration). Syncthing Tray will still behave as a
single-instance application, so a single process will handle all those tray icons and the
built-in Syncthing launcher will launch Syncthing only once.--replace:
Changes the single-instance behavior so that the already running process is exited and
the second process continues to run. This is useful to restart Syncthing Tray after
an update.--new-instance:
Disables the single-instance behavior. This can be useful to run two instances of
Syncthing via the built-in launcher. This only makes sense if these
two Syncthing instances use a different configuration/database which can be achieved with
a portable configuration.--single-instance:
Prevents the creation of a second tray icon if Syncthing Tray is already running. (Without
this option, Syncthing Tray will still show another tray icon regardless of its single-instance
behavior.)--help:
Prints all launch options.Those were the options of the tray application. Check out "Using the command-line interface" for an overview of available tooling for the command-line.
The Plasmoid requires Syncthing Tray to be installed via distribution-specific packaging. It is not available via the generic GNU/Linux download or the Flatpak. Check out the relevant notes on the downloads page for available options and details on package names. For further information about supported versions of Plasma, check out the "Supported platforms" section.
The built-in Syncthing launcher is not available in the Plasmoid because it is recommended to rely on the systemd integration instead.
Once installed, Plasma might need to be restarted for the Plasmoid to be available.
The Plasmoid can be added/shown in two different ways:
This allows you to add multiple instances of the Plasmoid, but it is recommended to choose only one place. For that, it also makes most sense to ensure the autostart of the stand-alone tray application is disabled. Otherwise you would end up having two icons at the same time (one of the Plasmoid and one of the stand-alone application).
The Plasmoid cannot be closed via its context menu, unlike the stand-alone application. Instead, you have to disable it in the settings of the system tray Plasmoid as explained before. If you have added the Plasmoid to a panel or the desktop you can delete it like any other Plasmoid.
If the Plasmoid won't show up, check out the "Troubleshooting KDE integrations" section below for further help.
The Dolphin integration can be enabled/disabled in Dolphin's context-menu settings. It will read Syncthing's API key automatically from its configuration file. If your Syncthing configuration file is not in the default location, you need to select it via the corresponding menu action.
The next section explains what it is for and how to use it. If it doesn't work on your system, please read the subsequent sections as well before filing an issue.
With the system configured correctly and systemd support enabled at build-time, the following features are available:
However, these features are optional. To use them, they must be enabled in the settings dialog first.
It is recommended to enable "Consider unit status …". Note that Syncthing might not be immediately ready to serve API requests when the systemd unit becomes active. Therefore, it is still required to configure a re-connect interval. The re-connect interval will only be in effect while the systemd unit is active. So despite the re-connect interval, there will be no connection attempts while the systemd unit is inactive. That is all the systemd integration can optimize in that regard.
By default, Syncthing Tray assumes that the systemd unit is a
user unit. If you are using
a regular system-wide unit (including ones ending with …@username), you need to enable the
"System unit" checkbox in the settings. Note that starting and stopping the system-wide Syncthing
unit requires authorization (systemd can request it through PolicyKit).
The communication between Syncthing Tray and systemd is done via systemd's D-Bus service.
That means systemd's D-Bus service (which is called org.freedesktop.systemd1) must be running on
your D-Bus. For user units, the session D-Bus is
used, and for regular units (including ones ending with …@username), the system D-Bus is used.
Systemd's D-Bus service is only available when D-Bus itself is started via systemd. That
is the default under Arch Linux and openSUSE and likely most other modern distributions, where
it is usually started via "socket activation" (e.g. /usr/lib/systemd/user/dbus.socket for the session
D-Bus).
All of this applies to both the session D-Bus and for the system D-Bus, although the startup of the session
D-Bus can be particularly easy to disrupt. One easy way to disrupt it is to start a second instance of
the session D-Bus manually, e.g. via dbus-run-session. When starting the session D-Bus this way, the
systemd integration will not work, and you will likely end up with two session D-Bus processes. It is
also worth noting that you do not need to set the DBUS_SESSION_BUS_ADDRESS variable manually
because the systemd file dbus.socket should take care of this.
Note that the Plasma Wayland session had issues as described. This has been fixed with Only spawn dbus-run-session if there isn't a session already; however, this change might not be available on older distributions.
The built-in launcher can be accessed and configured in the settings dialog. It is not available in the Plasmoid. It allows you to launch Syncthing
syncthing serve.It is recommended to enable "Consider process status …". Note that Syncthing might not be immediately ready to serve API requests when started. Therefore, it is still required to configure a re-connect interval. The re-connect interval will only be active while the Syncthing process is running. So despite the re-connect interval, there will be no connection attempts while the Syncthing process is not running.
Use the same approach as for launching an application via a hotkey in your graphical environment. Have it invoke
syncthingtray --trigger to show the Qt Widgets based tray menu.syncthingtray --webui to show the web UI.syncthingctl [...] to trigger a particular action. See syncthingctl -h for details.The Plasmoid can also be shown via a hotkey by configuring one in the Plasmoid settings.
Check out syncthingctl --help and syncthingtray --help for available options. More details
can be found in the CLI documentation.
Check out the download section on the website for an overview. Keep reading here for a more detailed list.
See the release section on GitHub.
zypper rm libsyncthingconnector1_1_20 libsyncthingmodel1_1_20 libsyncthingwidgets1_1_20.syncthingtray/syncthingtray-qt6: Qt-widgets based GUIsyncthingplasmoid/syncthingplasmoid-qt6: applet/plasmoid for Plasma desktopsyncthingfileitemaction/syncthingfileitemaction-qt6: Dolphin/KIO integrationsyncthingctl/syncthingctl-qt6: command-line interfacesudo apt install syncthingtray for the generic tray applicationsudo apt install syncthingtray-kde-plasma for the Plasmoid and other KDE integrations, which is recommended when
using KDE Plasmasyncthingtray: GUI and command-line interfacesyncthingtray-plasma: applet/plasmoid for Plasma desktopsyncthingtray-dolphin: Dolphin/KIO integrationlibglx0, libopengl0 and libegl1 are installed on Debian/Ubuntu)QT_QPA_PLATFORM=xcb to disable
native Wayland support if it does not work on your system)OPENSSL_CONF=.B9E36A7275FC61B464B67907E06FE8F53CDC6A4C for manual verification.stsigtool or OpenSSL.B9E36A7275FC61B464B67907E06FE8F53CDC6A4C for manual verification.stsigtool or OpenSSL.winget install Martchus.syncthingtray in a Command Prompt window.scoop bucket add extras & scoop install extras/syncthingtray.choco install syncthingtray.There is separate documentation on these topics.
Copyright © 2016-2026 Marius Kittler
All code - unless stated otherwise in a comment on top of the file - is licensed under GPL-2-or-later. This does not apply to code contained in Git repositories included as Git submodule (which contain their own README and licensing information).
Syncthing Tray contains icons from various sources:
None of these icons have been (intentionally) modified so no copyright for modifications is asserted.
Some of the code is based on code from other open source projects:
syncthingwidgets/quick/quickicon.cpp and the corresponding header file originates from
Kirigami. The comments at the beginning of those files state the original
authors/contributors.tray/android/src/io/github/martchus/syncthingtray/Util.java are based on
Catfriend1/com.nutomic.syncthingandroid.util,
researchxxl/com.nutomic.syncthingandroid.util and
Catfriend1/com.nutomic.syncthingandroid.service.ic_stat_notify* under tray/android/res and tray/resources are taken from
syncthing-android.tray/android/src/io/github/martchus/syncthingtray/DocumentsProvider.java is based on
TermuxDocumentsProvider.java from Termux.uncamel function used in the Qt Quick GUI is taken from Syncthing.The original code has been modified. Copyright as mentioned in the previous section applies to modifications.
(top 24 of 29)
796 followers · starred Nov 2025
57 followers · starred Jan 2022
100 followers · starred Nov 2023
24 followers · starred Mar 2024
Tray application and Dolphin/Plasma integration for Syncthing
See the codeSyncthing Tray provides a tray icon and further platform integrations for Syncthing. Check out the website for an overview and screenshots.
The following integrations are provided:
This document is the main documentation of Syncthing Tray. It is available on the Syncthing Tray website and on GitHub. If you are not already familiar with Syncthing itself, you should also have a look at the Syncthing documentation as this document only covers Syncthing Tray.
Check out the official forum thread for discussions and announcements of new features.
Issues can be created on GitHub but please check the documentation on known bugs and workarounds before.
Syncthing Tray works with Syncthing v2. It also very likely still works with Syncthing v1 (and even v0) but this is not regularly tested anymore. Syncthing Tray is maintained, and updates will be made to support future Syncthing versions as needed.
Official binaries are provided for Windows (for i686, x86_64 and aarch64), GNU/Linux (for x86_64) and Android (for x86_64 and aarch64). They can be downloaded from the website and the release section on GitHub. However, this is only a fraction of the available downloads. I also provide further repositories for some GNU/Linux distributions. There are also binaries/repositories provided by other distributors. For a list of links, check out the "Download" section of this document.
Syncthing Tray is known to work under:
This does not mean Syncthing Tray is actively tested on all of these platforms or desktop environments.
For Plasma 5 and 6, in addition to the Qt Widgets based version, there is also a "native" Plasmoid. Note that the latest version of the Plasmoid generally also requires the latest version of Plasma 5 or 6 as no testing on earlier versions is done. Use the Qt Widgets version on other Plasma versions. Check out the "Configuring Plasmoid" section for further details.
On GTK-centered desktops, have a look at the Arch Wiki for how to achieve a more native look and feel. Under GNOME, one needs to install an extension for tray icon support (unless your distribution already provides such an extension by default).
Limitations of your system tray might affect Syncthing Tray. For instance, when using the mentioned GNOME extension the Syncthing Tray UI shown in the screenshots is only accessible by double-clicking the icon. If your system tray, like on COSMIC, is unable to show the Syncthing Tray UI, you can still use Syncthing Tray for the tray icon and basic functionality accessible via the menu.
Note that under Wayland-based desktops there will be positioning issues. However, the Plasmoid is not affected by this.
The documentation on known bugs and workarounds contains further information and workarounds for certain platform-specific issues, such as the positioning issues under Wayland.
This section lists the most important features. Most features are optional and configurable. Some features are platform-dependent.
syncthingctl complementing the official CLI of Syncthing
Syncthing Tray does not launch Syncthing itself by default. There should be no interference with your existing Syncthing installation. You might consider different configurations:
Note that the app for mobile devices behaves differently: It sets a custom config/data directory for Syncthing so the Syncthing instance launched by it will not interfere with existing setups.
Check out the website for obtaining the executable or package. This documentation also lists more options and instructions for building from sources.
If you are using a package manager, you should follow its usual workflow.
Otherwise, you have to extract the archive and launch the contained executable. Especially on Windows, please read the notes on the website before filing any issues. To uninstall, delete the executable again.
Notifications about updates can be enabled in the settings which also allow upgrading to a new version if available. This simply replaces the executable at its location, which needs to be writable. The old executable is renamed/preserved as a backup and you can simply rename it back if you need to go back to the previous version.
For further cleanup, you may want to ensure that autostart is disabled (to avoid a dangling autostart entry). You may also delete the configuration files (see "Location of the configuration file" section below).
You need to configure how Syncthing Tray should connect to Syncthing itself. The previous section, "Does this launch or bundle Syncthing itself…", describes available options. Additionally, a wizard is shown on the first launch, which can guide you through the configuration for common setups. If you have dismissed the wizard, you can still open it at any time via a button on the top-right corner of the settings dialog.
It may be worthwhile to browse through the pages of the configuration dialog to tweak Syncthing Tray to your needs, e.g., to turn off notifications you may find annoying.
The configuration file is usually located under ~/.config/syncthingtray.ini on GNU/Linux and
under %appdata%\syncthingtray.ini on Windows. For other platforms and further details,
check out the
Qt documentation
(Syncthing Tray uses the "IniFormat"). For portable installations, it is also possible to create
an empty file called syncthingtray.ini directly next to the executable.
You can remove the configuration file from the mentioned location to start from scratch.
Note that this only applies to Syncthing Tray. For Syncthing itself, check out its own documentation.
The Plasmoid uses the same configuration file but also uses Plasma's configuration management for settings specific to a concrete instance of the Plasmoid.
The UI tailored for mobile devices uses a distinct configuration which is located under
/storage/emulated/0/Android/data/io.github.martchus.syncthingtray on Android and
~/.config/Martchus/Syncthing Tray on GNU/Linux and %appdata%\Martchus\Syncthing Tray on
Windows. The configuration and database of Syncthing itself are also located within this
directory when Syncthing is launched via the mobile UI.
It is possible to enable a more modern UI. This UI is a result of porting Syncthing Tray to Android and brings back the modern design and many features of the mobile UI to Syncthing Tray on the desktop. For instance, it allows editing folders and devices. It also comes with a dashboard that looks similar to the official web-based UI which can be enabled as alternative in the web view settings.
The modern UI is new and there is still room for improvement. Hence it needs to be enabled
manually. Additionally, Syncthing Tray needs to be built with -DQUICK_GUI=ON and Qt 6.10 or
newer is required. This is the case for official Qt 6 based Syncthing Tray builds but might not
be the case for downstream builds. The modern UI also requires Vulkan under GNU/Linux.
With these conditions met, you can enable the modern UI under the appearance settings. The change requires a restart of Syncthing Tray to take effect. In the settings for showing the web-based UI of Syncthing you can also select showing the UI provided by Syncthing Tray instead.
Changing the style of the modern UI via
the environment variable QT_QUICK_CONTROLS_STYLE or the CLI option --qqc2-style only works
if Syncthing Tray was built with -DQUICK_GUI_CONTROLS_STYLE=dynamic as it is done by my
GNU/Linux packaging. Other builds don't support this to reduce the size of the executable.
If the modern UI does not work, check out the section "Broken modern UI".
In case you prefer the classic UI you can continue using it. It will not be deleted anytime soon. However, new UI features will mainly focus on the new UI now.
The Plasmoid still has its distinct UI. However, it also allows accessing the new features of the modern UI, such as the ability to edit folders and devices.
When using a Unix domain socket as the Syncthing GUI address (e.g., by starting Syncthing with
parameters such as --gui-address=unix://%t/syncthing.socket --no-port-probing), you need to
specify the path to the socket as "Local path" in the advanced connection settings. This
setting requires Qt 6.8 or higher. You still need to provide the "Syncthing URL" using the
unix+http as scheme (e.g. unix+http://127.0.0.1:8080 where the host and port are not
actually used). However, the web view will not work with this.
This section does not apply to the Android app, the Plasmoid and the Dolphin integration.
Syncthing Tray is a single-instance application. So, if you try to start a second instance, the second process will only pass arguments to the process that is already running and then exit. This is useful as it prevents one from accidentally launching two Syncthing instances at the same time via the built-in Syncthing launcher. It also allows triggering certain actions via launch options, see "Configuring hotkeys" for details.
There are a few other notable launch options:
--connection [config name] …:
Shows tray icons for the specified connection configurations (instead of a single tray
icon for the primary connection configuration). Syncthing Tray will still behave as a
single-instance application, so a single process will handle all those tray icons and the
built-in Syncthing launcher will launch Syncthing only once.--replace:
Changes the single-instance behavior so that the already running process is exited and
the second process continues to run. This is useful to restart Syncthing Tray after
an update.--new-instance:
Disables the single-instance behavior. This can be useful to run two instances of
Syncthing via the built-in launcher. This only makes sense if these
two Syncthing instances use a different configuration/database which can be achieved with
a portable configuration.--single-instance:
Prevents the creation of a second tray icon if Syncthing Tray is already running. (Without
this option, Syncthing Tray will still show another tray icon regardless of its single-instance
behavior.)--help:
Prints all launch options.Those were the options of the tray application. Check out "Using the command-line interface" for an overview of available tooling for the command-line.
The Plasmoid requires Syncthing Tray to be installed via distribution-specific packaging. It is not available via the generic GNU/Linux download or the Flatpak. Check out the relevant notes on the downloads page for available options and details on package names. For further information about supported versions of Plasma, check out the "Supported platforms" section.
The built-in Syncthing launcher is not available in the Plasmoid because it is recommended to rely on the systemd integration instead.
Once installed, Plasma might need to be restarted for the Plasmoid to be available.
The Plasmoid can be added/shown in two different ways:
This allows you to add multiple instances of the Plasmoid, but it is recommended to choose only one place. For that, it also makes most sense to ensure the autostart of the stand-alone tray application is disabled. Otherwise you would end up having two icons at the same time (one of the Plasmoid and one of the stand-alone application).
The Plasmoid cannot be closed via its context menu, unlike the stand-alone application. Instead, you have to disable it in the settings of the system tray Plasmoid as explained before. If you have added the Plasmoid to a panel or the desktop you can delete it like any other Plasmoid.
If the Plasmoid won't show up, check out the "Troubleshooting KDE integrations" section below for further help.
The Dolphin integration can be enabled/disabled in Dolphin's context-menu settings. It will read Syncthing's API key automatically from its configuration file. If your Syncthing configuration file is not in the default location, you need to select it via the corresponding menu action.
The next section explains what it is for and how to use it. If it doesn't work on your system, please read the subsequent sections as well before filing an issue.
With the system configured correctly and systemd support enabled at build-time, the following features are available:
However, these features are optional. To use them, they must be enabled in the settings dialog first.
It is recommended to enable "Consider unit status …". Note that Syncthing might not be immediately ready to serve API requests when the systemd unit becomes active. Therefore, it is still required to configure a re-connect interval. The re-connect interval will only be in effect while the systemd unit is active. So despite the re-connect interval, there will be no connection attempts while the systemd unit is inactive. That is all the systemd integration can optimize in that regard.
By default, Syncthing Tray assumes that the systemd unit is a
user unit. If you are using
a regular system-wide unit (including ones ending with …@username), you need to enable the
"System unit" checkbox in the settings. Note that starting and stopping the system-wide Syncthing
unit requires authorization (systemd can request it through PolicyKit).
The communication between Syncthing Tray and systemd is done via systemd's D-Bus service.
That means systemd's D-Bus service (which is called org.freedesktop.systemd1) must be running on
your D-Bus. For user units, the session D-Bus is
used, and for regular units (including ones ending with …@username), the system D-Bus is used.
Systemd's D-Bus service is only available when D-Bus itself is started via systemd. That
is the default under Arch Linux and openSUSE and likely most other modern distributions, where
it is usually started via "socket activation" (e.g. /usr/lib/systemd/user/dbus.socket for the session
D-Bus).
All of this applies to both the session D-Bus and for the system D-Bus, although the startup of the session
D-Bus can be particularly easy to disrupt. One easy way to disrupt it is to start a second instance of
the session D-Bus manually, e.g. via dbus-run-session. When starting the session D-Bus this way, the
systemd integration will not work, and you will likely end up with two session D-Bus processes. It is
also worth noting that you do not need to set the DBUS_SESSION_BUS_ADDRESS variable manually
because the systemd file dbus.socket should take care of this.
Note that the Plasma Wayland session had issues as described. This has been fixed with Only spawn dbus-run-session if there isn't a session already; however, this change might not be available on older distributions.
The built-in launcher can be accessed and configured in the settings dialog. It is not available in the Plasmoid. It allows you to launch Syncthing
syncthing serve.It is recommended to enable "Consider process status …". Note that Syncthing might not be immediately ready to serve API requests when started. Therefore, it is still required to configure a re-connect interval. The re-connect interval will only be active while the Syncthing process is running. So despite the re-connect interval, there will be no connection attempts while the Syncthing process is not running.
Use the same approach as for launching an application via a hotkey in your graphical environment. Have it invoke
syncthingtray --trigger to show the Qt Widgets based tray menu.syncthingtray --webui to show the web UI.syncthingctl [...] to trigger a particular action. See syncthingctl -h for details.The Plasmoid can also be shown via a hotkey by configuring one in the Plasmoid settings.
Check out syncthingctl --help and syncthingtray --help for available options. More details
can be found in the CLI documentation.
Check out the download section on the website for an overview. Keep reading here for a more detailed list.
See the release section on GitHub.
zypper rm libsyncthingconnector1_1_20 libsyncthingmodel1_1_20 libsyncthingwidgets1_1_20.syncthingtray/syncthingtray-qt6: Qt-widgets based GUIsyncthingplasmoid/syncthingplasmoid-qt6: applet/plasmoid for Plasma desktopsyncthingfileitemaction/syncthingfileitemaction-qt6: Dolphin/KIO integrationsyncthingctl/syncthingctl-qt6: command-line interfacesudo apt install syncthingtray for the generic tray applicationsudo apt install syncthingtray-kde-plasma for the Plasmoid and other KDE integrations, which is recommended when
using KDE Plasmasyncthingtray: GUI and command-line interfacesyncthingtray-plasma: applet/plasmoid for Plasma desktopsyncthingtray-dolphin: Dolphin/KIO integrationlibglx0, libopengl0 and libegl1 are installed on Debian/Ubuntu)QT_QPA_PLATFORM=xcb to disable
native Wayland support if it does not work on your system)OPENSSL_CONF=.B9E36A7275FC61B464B67907E06FE8F53CDC6A4C for manual verification.stsigtool or OpenSSL.B9E36A7275FC61B464B67907E06FE8F53CDC6A4C for manual verification.stsigtool or OpenSSL.winget install Martchus.syncthingtray in a Command Prompt window.scoop bucket add extras & scoop install extras/syncthingtray.choco install syncthingtray.There is separate documentation on these topics.
Copyright © 2016-2026 Marius Kittler
All code - unless stated otherwise in a comment on top of the file - is licensed under GPL-2-or-later. This does not apply to code contained in Git repositories included as Git submodule (which contain their own README and licensing information).
Syncthing Tray contains icons from various sources:
None of these icons have been (intentionally) modified so no copyright for modifications is asserted.
Some of the code is based on code from other open source projects:
syncthingwidgets/quick/quickicon.cpp and the corresponding header file originates from
Kirigami. The comments at the beginning of those files state the original
authors/contributors.tray/android/src/io/github/martchus/syncthingtray/Util.java are based on
Catfriend1/com.nutomic.syncthingandroid.util,
researchxxl/com.nutomic.syncthingandroid.util and
Catfriend1/com.nutomic.syncthingandroid.service.ic_stat_notify* under tray/android/res and tray/resources are taken from
syncthing-android.tray/android/src/io/github/martchus/syncthingtray/DocumentsProvider.java is based on
TermuxDocumentsProvider.java from Termux.uncamel function used in the Qt Quick GUI is taken from Syncthing.The original code has been modified. Copyright as mentioned in the previous section applies to modifications.
(top 24 of 29)
796 followers · starred Nov 2025
57 followers · starred Jan 2022
100 followers · starred Nov 2023
24 followers · starred Mar 2024