← Back to team overview

zim-wiki team mailing list archive

Re: GNOME Shell search provider for Zim


I re-implemented the DBus service in a Zim plugin to have access to the
internals. However, the descriptors for the DBus service and search
provider still need to be installed, so it is not a simple python source

If you installed the previous version, please uninstall it before
installing the new one.

For Arch Linux users, I created an AUR package zimsearch-git.

User visible changes:
- Asking for more results works as supposed.
- It is also faster to show the results.

Planned improvements:
- Asynchronous implementation for the DBus service methods (should improve
responsiveness when searching large notebooks).

2014-09-28 9:57 GMT-03:00 Davi <dsboger@xxxxxxxxx>:

> My initial plan was to make a plugin, but now I think it is not possible
> to transform this in a "pure" plugin for Zim because of the integration
> with shell. There are some special descriptors that need to be installed in
> the system. Nevertheless, I think it is possible to export the Dbus service
> directly from a Zim plugin and access the search feature from inside. It
> should have better performance that spawning a process and better
> integration (specially for the "show more results" that currently does not
> work). It still would require the DBus activatable mechanics, I guess.
> Em Dom, Set 28, 2014 em 5:04 , Dmitrij Lisov <dmt.lsv@xxxxxxxxx> escreveu:
> Hey Davi!
> That's a great idea, since I'm using the Gnome Shell for searching and
> opening files a lot!
> Do you plan to release it as a plugin, so that it could be published here
> <https://github.com/jaap-karssenberg/zim-wiki/wiki/Plugins>?
> Additionally, the installation process would be simpler.
> Thanks!
> D
> 2014-09-28 6:42 GMT+02:00 Davi <dsboger@xxxxxxxxx>:
>> Hello people!
>> My first message in the list. I've actually just "joined the team",
>> according to LP anyway.
>> I have been using Zim for while and it is an amazing productivity tool! I
>> also use GNOME Shell with its great search capabilities. I thought it would
>> be great to be able to search through my Zim notebook directly from Shell
>> search, so I went ahead and developed a very simple search provider [2]. It
>> seems to be working, but I'm very new to almost everything involved:
>> although I have some programming background, I'm new to python, DBUS, GNOME
>> Shell, Zim itself and even Git. I basically did a patchwork of a few
>> tutorials I found about that stuff, so certainly there is much room for
>> improvement.
>> The workings are very simple: zimsearch.py is a python 3 script that
>> implements a gtk3 application [3]. This app is DBus-activatable [4] and
>> does nothing except creating a DBus object that impements the GNOME Shell
>> search provider API. The service implementation basically spawns "zim
>> --search" with the search terms and parses the stdout. There is some logic
>> to identify the default notebook from notebooks.zim and to override the
>> searched notebook from a special search term (notebook:...). Apart from the
>> script, there are some descriptors to install the provider in DBus and
>> GNOME Shell.
>> If you would like to try it, I've make a script that installs the files
>> to their directories. It Works For Me, but no guarantees otherwise. Please
>> contact me if you are having trouble with the installation.
>> Thak you for your time. I would certainly appreciate any feedback!
>> Best regards,
>> Davi.
>> [1] Soure code: https://github.com/dsboger/zimsearch
>> [2] https://wiki.gnome.org/HowDoI/SearchProvider
>> [3] https://wiki.gnome.org/HowDoI/GtkApplication
>> [4] https://wiki.gnome.org/HowDoI/DBusApplicationLaunching
>> _______________________________________________
>> Mailing list: https://launchpad.net/~zim-wiki
>> Post to     : zim-wiki@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~zim-wiki
>> More help   : https://help.launchpad.net/ListHelp

Follow ups