Introducing NickelDBus
At long last, it's here. It has been teased by @geek1011 the past few weeks and I'm finally ready for an initial release.
So what is NickelDBus? It is a Nickel mod (like NickelMenu) that registers itself as a service on the d-bus system bus. It allows you to invoke a select number of Nickel actions, and listen for some signals from Nickel, all from the comfort of your own application or script.
Some of the things you can do are:
It has been tested on firmware 4.6.9995+, although not all functionality is available until firmware 4.13.12638, and therefore 4.13.12638+ is highly recommended.
NickelDBus does not interfere with NickelMenu in any way. It is safe to have both installed.
You can follow the development process over at Github.
Please note, NickelDBus requires Nickel (the Kobo software) to be loaded and running to work.
Installation
Download KoboRoot.tgz (release notes) from the GitHub repository. Copy the KoboRoot.tgz file to the '.kobo' directory on your Kobo, and reboot.
Removal
If you need to remove NickelDBus for any reason, simply delete the nickeldbus file which can be found in the .adds directory. Then, reboot your Kobo.
Documentation
You can find usage and API documentation at the projects Github Pages site.
Credits
This project wouldn't have been possible without the assistance of a couple of key people:
At long last, it's here. It has been teased by @geek1011 the past few weeks and I'm finally ready for an initial release.
So what is NickelDBus? It is a Nickel mod (like NickelMenu) that registers itself as a service on the d-bus system bus. It allows you to invoke a select number of Nickel actions, and listen for some signals from Nickel, all from the comfort of your own application or script.
Some of the things you can do are:
- Know when 'content import' is complete, by listening for the 'pfmDoneProcessing' signal.
- Present a confirmation dialog using the 'dlgConfirm*' methods, and get the users response from the 'dlgConfirmResult' signal.
- Show a temporary toast message on-screen, for a configurable length of time.
- Invoke a select number of actions from NickelMenu (NM doesn't need to be installed for this).
- Know what view the user is on, and when it changes, using the 'ndbCurrentView' method and 'ndbViewChanged' signal.
- Call functions and handle signals directly from applications with DBus.
- Use the bundled qndb utility to easily call functions from the command line.
- Plus more features...
It has been tested on firmware 4.6.9995+, although not all functionality is available until firmware 4.13.12638, and therefore 4.13.12638+ is highly recommended.
NickelDBus does not interfere with NickelMenu in any way. It is safe to have both installed.
You can follow the development process over at Github.
Please note, NickelDBus requires Nickel (the Kobo software) to be loaded and running to work.
Installation
Download KoboRoot.tgz (release notes) from the GitHub repository. Copy the KoboRoot.tgz file to the '.kobo' directory on your Kobo, and reboot.
Removal
If you need to remove NickelDBus for any reason, simply delete the nickeldbus file which can be found in the .adds directory. Then, reboot your Kobo.
Documentation
You can find usage and API documentation at the projects Github Pages site.
Credits
This project wouldn't have been possible without the assistance of a couple of key people:
- geek1011 - A lot of inspiration and code came from NickelMenu. Also he has been the primary tester, code reviewer, and troubleshooter. This project would not have happened without his assistance.
- NiLuJe - Has provided testing and ideas during the development process. Also, you can blame NiLuJe for this being a d-bus project. I quote: 'I'm going to plug my ears and sing "lalala" before anyone utters the words "dbus"'. Without that suggestion, this probably would have been a much more limited scope project.