Yet another Syncthing Tray

Hi,

Here is another tray application for Syncthing: https://github.com/Martchus/syncthingtray

  • Uses Qt 5 so it should work under most GNU/Linux desktop environments and Windows. Tested under: Plasma 5, Openbox/qt5ct/Tint2, Cinnamon, Windows 10
  • Also features a small command line application (syncthingctl).
  • I’m aware of QSyncthingTray but this application is a little bit more advanced.
  • There is still room for improvement, but it already features common tasks such as showing status, pausing, re-triggering scans and opening dirs in file browser.
  • It is still in development, so expect bugs. Especially the Windows version lacks testing.
  • For a full list of features, sources and binaries checkout GitHub repository mentioned above.

13 Likes

Looks cool! I’m a qsyncthingtray user on Plasma 5. Any chance of this appearing in the AUR?

It is already there: https://aur.archlinux.org/packages/syncthingtray/

Does this work under Linux Mint/Ubuntu?

Short answer: Don’t know, but very likely.

In theory, all operating systems meeting the basic requirements and providing Qt 5 are supported. I’d wonder if recent versions of Mint/Ubuntu wouldn’t meet that criteria.

Of course the system tray of your desktop environment must be supported by Qt 5 and it must be correctly configured.

For the platforms (desktop environments/OS) I successfully tested checkout the README. Feel free to extend the list if you can confirm it runs under a specific platform.

BTW: This might even work under MacOS, but I have never tested and also have no knowledge about that platform.

Tagged a new release with minor bug fixes and improvements: https://github.com/Martchus/syncthingtray/compare/v0.0.3...v0.1.0

New release 0.3.0 is available with a lot of bug fixes and minor improvements. I also added new features for GNU/Linux version:

  • notifications via org.freedesktop.Notifications D-Bus service (independently of QPA plugin)
  • starting/stopping Syncthing when started via systemd user service and monitoring current unit status
  • improved positioning under environments which do not expose available desktop geometry like Awesome window manager
1 Like

New release 0.4.1 is available since a while now. I did some minor improvements and also added German locale. Here is the full list of changes: https://github.com/Martchus/syncthingtray/compare/v0.3.0...v0.4.1

If you like to translate the application into your own language, there are instructions how to add further localizations in the README.

Bug reports and ideas for further features are welcome.

Possible to compile it for Android?

There is no tray in android. What would be the point?

All dependencies are available under Android so I guess yes. The build system might need some adjustments and some Android specific configuration is likely required (I assume there must be a file for permissions and some other meta-data).

But what’s the point? As wweich already pointed out, there is no tray. Also I doubt the frontend itself will be fun to use under Android.

However, it would make sense to use the backend library to create a QML-GUI for Android. I actually separated the backend to a library for the purpose to create a Plasmoid for the Plasma-Desktop.

New release 0.5.0 is available. Most important feature is support for pausing/resuming directories via tray and CLI. There is also an experimental integration for the Dolphin file manager:

Here is the full list of changes: https://github.com/Martchus/syncthingtray/compare/v0.4.1...v0.5.0

1 Like

New release 0.6.0 is available.

Most of the improvements are under the hood. Here is a full list of changes since 0.5.0: https://github.com/Martchus/syncthingtray/compare/v0.5.0...v0.6.0

New release 0.6.2 is available with some fixes and small improvements.

Full list of changes: https://github.com/Martchus/syncthingtray/compare/v0.6.0...v0.6.2

1 Like

Just wanted to say this utility is great and much appreciated.

2 Likes

Hi Guys, this looks really nice, anyone know how I might get it working on a Mac…?

Good question. @calmh actually tried to build it today for Mac but the build failed: https://gist.github.com/calmh/5ba12fdf06da21edac0d72f76f97081c

I know CMake, C++ and Qt but I have no experience with Mac. Maybe someone with CMake, C++/Qt and Mac experience could help.

I can only suspect that linking the shared library c++utilities against the static library iconv is the problem. Maybe because the static lib does not contain relocatable code which might be required when building the shared lib. So I can just give the recommendation to link statically against all dependencies (tested under Windows) or link everything dynamically (tested under Linux and Windows).

It was also required to disable install targets due to the error install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable. Not sure how this is usually handled under Mac.

Also, the Dolphin integration must be disabled explicitly and the directory cpp-utilities must be renamed to c++utilities when using the ‘building this straight’ approach. I will fix those issues.

I succeeded in cross compiling a version for MacOSX. I should run under MacOSX 10.5 and above. I hope all required dependencies are available by default (lots of “frameworks”, iconv, zlib, …). Qt 5.9.1 is linked statically.

About supported architectures: I was only able to cross compile Qt for x86_64, so i386 is not available yet. I also noticed that there is x86_64h, but I don’t think it is worth it.

Note that this is still very minimal (no translations, and icons) and absolutely not tested (because I have no MacOSX). Maybe it doesn’t even run.

You can test it on your own risk: https://martchus.no-ip.biz/repo/mac/syncthingtray-devel-eafc65e-static-x86_64-apple-darwin15.tar.xz

1 Like

BTW: If it works, and also if it doesn’t work, please provide some feedback because I can not test it myself. If it actually runs, you could also provide a screenshot - I’m interested how it looks like. (If it doesn’t look very well using the MacOSX style (default?), you could try to use Fusion.)

Note that this required to improve the build scripts of Syncthing Tray. So far it is not worth trying to compile it own your own. If all required fixes are committed, I will provide better build instructions for MacOSX so you can also try to build it yourself.

A Mac OS X build with translations (for German and correct plural in English) and Breeze icons is now available: https://martchus.no-ip.biz/repo/mac

More details about the build configuration and commands I’ve used: https://github.com/Martchus/cpp-utilities/issues/4#issuecomment-321914453