It’s time for a new Diodon release 1.4.0 which comes with a major change how keybindings are handled as described in a previous post(please read before updating!) but also fixing some annoying issues such as Diodon blocking to logout.

Once this is done and you have registered your keybinding with your DE you are good to go to continue using new Diodon version. In case you are interested in two new advanced features continue reading to figure out how you can filter clipboard items by regex or adding customized application paste keybinding.

Filter clipboard items by regex pattern

I have come across the request that whitespace clipboard items should be filtered out – which made total sense to me. While implementing I kind of thought though wouldn’t it be great to have the ability to filter out any unwanted clipboard items by a regex? I am sure you have a use case for this. So from Diodon version 1.4.0 onward there is now a setting you can change with the following:

gsettings set net.launchpad.Diodon.clipboard filter-pattern "^\s$"

“^\s$” is the default pattern which filters out all whitespace items. You can change it though to anything you want it to be. To note is that all items are filtered out which match configured regex. For more details how you can create your customized regex best have a read on this article.
If you have any use cases where this feature comes in handy, please share your regex in the comment section so others can profit as well.

Configure customized application paste keystroke

Per default for Diodon to be able to automatically paste clipboard content into the active application it simulates a Ctrl+V keystroke. This works in most applications as this is the default way to paste clipboard content. However there are some exceptions for example GNOME Terminal where not Ctrl+V is used to paste but Ctrl+Shift+v. So in such application automatically pasting content doesn’t work.
To overcome this there is now a list of applications where a different keybinding needs to be used for pasting. For now only GNOME Terminal is added but if you have any other application with the same issue you can add more application with the following command:

Now replace /path/to/app with the path of the application you need a different paste keybinding, separate it with a pipe character | and assign afterwards the desired keybinding e.g. <Shift><Ctrl>V. You can of course add as many keybinding to this array as you need to.

In case you have an application where this workaround is needed to make automatically pasting possible please let us us know so we can add it for future releases.

As always please let us know if you have any feedback or issues. Thanks for your support. Cheers!

A hotkey feature to open the clipboard history has been available in Diodon since its very first version and is a major part of its usability. Unfortunately this hotkey has not always worked as expected, causing issues on certain desktop environments or stopped working altogether caused by regressions of updated libraries. Furthermore did customization of the hotkey not always work like when using Symbols or sometimes even the order how the keys were pressed mattered. All in all has this feature not been very stable. The main underlying problem for this is that there is no standard across desktop environments to register global hotkeys.

Looking at all those issues it is kind of obvious that handling of a hotkey should not be the responsibility of Diodon but be handled by the desktop environment itself. Therefore the decision has been made to drop the internal Diodon hotkey feature altogether as per version 1.4.0. Instead does a custom shortcut need to be registered through the settings offered by whatever desktop environment you use.

For GNOME/Unity this can be done by opening Keyboard app through the Dash/Activities overview. There you go to Shortcuts -> Custom Shortcuts and add a new one with the name “Diodon” and command “/usr/bin/diodon”. Afterwards assign your preferred hotkey and you are done.

If you are experiencing a hotkey issue with the current Diodon version you use you can already do this.

Unfortunately for Diodon at this point it is not possible to register this Custom Shortcut during package installation. So as of version 1.4.0 registration of a hotkey needs to be done manually. Additionally will also the special keybinding to browse through the history not work anymore as Diodon doesn’t know anymore what keybinding was used. (Of course you can still use the up and down keys to cycle through the history.)
We believe though the additional stability in the hotkey feature it makes up for this one-time manual step. Also we are working together with upstream of the different DEs so hopefully in future versions of Diodon this custom shortcut registration can also be done automatically during package installation again.

If you have any questions or concerns about this change leave a comment – feedback is always appreciated. And if you actually know a way how an application could register a custom shortcut during installation best have a look at this question.

I herewith also specifically wanted to take the opportunity to say thanks to you all reporting bugs. All those reports are really helpful and essential to make Diodon better. Also if in the future Diodon doesn’t behave as you expect it to, please do not hesitate to report it.

This said happy copying and there are certainly more Diodon versions coming up in the future.

This question has been asked a couple of times also on AskUbuntu so I thought it is worth a blog post to elaborate on why in certain circumstances Diodon doesn’t save anything to the clipboard history and what you can do about it.

Since version 1.1.0 the way how Diodon stores its clipboard storage has changed – it used to be that the history was simply stored in the storage.xml file located in ~/.local/share/diodon/. This was fairly simple but had the limitation that the clipboard history was limited to a certain number of entries. If we wanted to increase this number but still using the single xml file Diodon would consume way too much memory and would have become too slow as well. To overcome this limitation have we moved away from this xml file and integrated a library called Zeitgeist.

Quick quote what Zeitgeist actually is:

Zeitgeist is a service which logs the users’ activities and events, anywhere from files opened to websites visited and conversations had.

As Diodon pretty much records users’ copy events is using Zeitgeist service a really good match. Besides recording Zeitgeist also provides a simple way to search certain activities and managing history which gives Diodon beside an infinitive clipboard history many more opportunities read more about it here.

But let’s get back to our initial question on why Diodon does not save anything to the clipboard history. For this we have to know that Zeitgeist has a privacy feature so it is possible to disable recording of any users’ events. This option is to be found in your “System Settings” -> “Security & Privacy” -> “Files & Applications” where it says “Record file and application usage”. When you turn this option off no users’ events will be recorded including copy events by Diodon. This means you can still access previous copy events recorded before disabling this option but no new items will be added. You properly ask yourself now how you can simply allow Diodon to save copy events but disable other applications from recording anything?

This is possible but at this stage not as apparent as it could be. In the same Security & Privacy dialog from above there is the possibility to enable recording but only including certain activities. Unfortunately is there no entry to simply include Clipboard. This is something we would really like to see in the future and are working on it – you can follow progress in this bug report. For now as a workaround to still allow Diodon to save copy events is to at least allow activity “Documents” to be recorded.

This could look like the following:

When this option is set you should be good to go and Diodon should start adding clipboard items to the history again.