All posts by Oliver Sauder

Long outstanding Diodon issues resolved

It is amazing how time flies. Since the first version of Diodon more than 10 years pasted already. Lately because of lack of time I haven’t shown Diodon too much love. I have kept using it on my machine all way long though and addressed all issues which bothered me on my setup. Those issues mainly affected packaging. I know though that there have been two very annoying bugs dating back to 2015 and 2016. Those have been fairly frustrating especially for new users. I finally got around to look into those in more detail. With this post I want to give you some background story and show you how you can install the new version 1.12.0 which hopefully fixes those long outstanding issues for you as well.

Menu pops up very rarely on hotkey press

In version 1.4.0 registering of a keybinding to open Diodon per shortcut has been moved to use the functionality available in the respective desktop environment (see previous post). This worked very well at the time for Gnome and Unity but unfortunately not always that well with other desktop environments. Through the years Unity basically disappeared and Gnome made changes which made using keybinding with Diodon unstable.

Basically the issue is that there is a race condition between Gtk and X11 events. So depending which one will be faster the clipboard history pops up or not. In the past I tried to overcome this with a sleep of the process as I assumed the X11 events are happening outside the Diodon process. This somewhat improved the situation but not always. So what I’ve now did is to use a timeout handler instead of a sleep which allows other events to be processed before the clipboard history opens. I have tested this and the hotkey press worked without any problems. I hope it will work for you as well. If you still have issues with clipboard history rarely poping up on hotkey press with version 1.12.0 or higher, let me know in below comments. Do not forget to mention what desktop environment you use.

No clipboard items shown on the very first run

I haven’t paid much attention to this issue because I thought there is an easy workaround. After the installation a simple restart of Diodon is enough and clipboard items will appear in the clipboard history from that point onward. When looking at the reviews in Gnome Software I noticed though that for new users this has been a very frustrating issue. It seemed Diodon did not work and they quickly uninstalled it.

This issue had been a complicated one to fix as well as the error was not in Diodon itself but in the library Zeitgeist which we use to store clipboard items. The issue occurred when Diodon started and the Zeitgeist database file at ~/.local/share/zeitgeist/activity.sqlite had not been initialized yet. In such a situation Zeitgeist Daemon did notify Diodon of new events but when Diodon wanted to read those new events (aka clipboard items) it would get none.

It turned out that libzeitgeist has a local database reader per default enabled. This means the Diodon process directly read from the sqlite database file. Because on the very first run the database schema had not been initialized yet by the Zeitgeist Daemon Diodon got an empty database and not notice the changes which came after it. Thankfully there is an environment variable ZEITGEIST_LOG_DIRECT_READ when set to 0 disables the local reader and the error disappears.

Diodon Version 1.12.0

To get the version with the above mentioned bug fixes applied you can either download the new release per tarball or install it through the ppa with the following commands:

sudo apt-add-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon
# and for all Unity users there is also a scope
sudo apt-get install unity-scope-diodon

As always any feedback is very welcome. And if you feel like you would like to help maintain Diodon please contact me by leaving a comment below. Any help is very appreciated.

Diodon 1.10.0 making primary selection support usable

There is another release of Diodon out the door tagged 1.10.0. This times it comes with a fix to an old issue that when using the primary selection feature it uses a lot of CPU respectively battery. If you are a user of primary selection support check this release out and let us know what you think. To be noted though is that Diodon now fully relies on GTK+ to detect primary selection, so it might be that some selection are not detected as before. However those are hopefully edge cases and are outwayed by the decreased battery usage.

Additionally in this release we switched to Ayatana AppIndicator. This package is available in more distributions then the former used AppIndicator and therefore should make packaging easier.

To get started beside installing newest version from git you can either download new release as tarball or install it through the ppa with the following commands:

sudo apt-add-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon
# and for all Unity users there is also a scope
sudo apt-get install unity-scope-diodon

Diodon 1.9.0, storing clipboard items in memory and more

After a longer time of silence the new Diodon release 1.9.0 has just been released. This release is a maintenance release which allows Diodon to be build in 2020 and beyond.

Besides support for Valac 0.46+ and updated translations, the build system has been changed to meson which is also commonly used in the Gnome community. This change should make the work easier for package maintainers and new contributors alike.

To get started beside installing newest version from git you can either download new release as tarball or install it through the ppa with the following commands:

sudo apt-add-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon
# and for all Unity users there is also a scope
sudo apt-get install unity-scope-diodon

To note is that with this release Xenial is not supported anymore, but older versions of Diodon will still work of course.

Storing clipoard items in memory

This is not a new feature but a very commonly asked question which I wanted to address. Diodon uses Zeitgeist to store clipboard items. Per default Zeitgeist persists all events in a database. This means clipboard items are also persisted and available across reboots. Some concerns have been raised that copied passwords are also stored on the filesystem.

As explained in this blog post it is possible to exclude certain application copy events like the once from password managers to be added to the clipboard history. However this might not always be sufficient for you. So what you can do instead is to make Zeitgeist store all events in memory. This means once you reboot your machine the clipboard history will be empty again.

To enable this memory storage I recommend you first clear your clipboard history and then execute the following command in a terminal:

echo "ZEITGEIST_DATABASE_PATH=:memory:" >> ~/.pam_environment

After a reboot the memory storage should be activated.

Comments

Previously on esite.ch the Disqus comment system had been used. As the plugin constantly broke the theme and Disqus started adding ads I have decided to switch back to the common WordPress comment system. Unfortunately Disqus only allowed to import comments from the last year so this means there won’t be any older comment visible anymore. However I want to encourage you to continue writing comments as your feedback is very valuable.

Developer focused Diodon Release 1.8.0

The new Diodon release 1.8.0 is out the door – a special release focusing on developers.

Due to removing Vala specific libgee (Thanks to RedHatter) it is now possible to more easily write plugins/services in gjs and python. Look for example at the work happing on the Gnome Diodon Indicator.

This release now also supports new Vala version 0.40 so it can be more easily packaged.

What might interest you most though is that we have moved our code base to GitHub. We hope this helps you to more easily contribute to Diodon by opening pull requests.
Issues are still on Launchpad where you may have a look where you could contribute to. Or if you wanna write a plugin there is a Blueprint with lots of ideas.

To get started beside installing newest version from git you can either download new release as tarball or install it through the ppa with the following commands:

sudo apt-add-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon
# and for all Unity users there is also a scope
sudo apt-get install unity-scope-diodon

Looking forward to many more contributions to Diodon ;).

Initial Wayland support with Diodon 1.7.0

Beside other minor changes Diodon release 1.7.0 adds initial Wayland support. In comparison to X Wayland introduces several security measures. One of them seems that only application with focus are allowed to access clipboard. As you could imagine this causes issues with clipboard managers.

To workaround this Diodon 1.7.0 forces itself to run on a X11 backend – meaning on Wayland it will run in backwards compatibility mode (see XWayland for more information).

This fixes issues of previous Diodon versions not running at all on Wayland. Some limitations remain though like:

  • Instant paste not working on native Wayland apps
  • Not be able to blacklist native Wayland apps

You can either download new release as tarball or install it through the ppa with the following commands:

sudo apt-add-repository ppa:diodon-team/stable
sudo apt-get update
sudo apt-get install diodon
# and for all Unity users there is also a scope
sudo apt-get install unity-scope-diodon

Finally, this release should get you up and running with Diodon on Wayland. There might still be other issues – if you find any please report them here.