Recently Nigel Tao posted on desktop-devel the announce of deskbar-applet, which was intended as a browser-like keyword-driven url bar. You type a web address, or an email address, or a file name, or some keyword then the arguments, an it shows a popup with possible choices from there, like “Search google for foo”.
See this screencast to see the original idea.
I offered to help and we moved the code to gnome CVS under the “deskbar-applet” cvs module, see instructions at the end of the post to get and try it.
We then worked to integrate it a bit more in the desktop, so here are some highlights:
Type a filename in your home dir, like
foo/bar.txt, and you can open that file with the associated applications. Also works with directories.
Type an email address or website name, and you can write a new mail, or surf the website with associated apps.
Type some terms and it will search through all available programs (the .desktop files). Try for example “text” and you are presented with gvim and gedit, type music and you get rhythmbox, muine banshee and other apps like that, you can then launch the program
Terms are also matched against mozilla/firefox/epiphany bookmarks, so if you have a bookmark for Entagged Website, typing entagged will offer you to launch the browser to that address.
deskbar-applet will also use your smart bookmarks wisely. type a search term (“steve” for example), you are then presented a list of smart bookmarks to use with the entered term. I have a Gnome Bugs bookmark in epiphany, that i use with bug numbers, i can enter a number in deskbar-applet and select the “Search Gnome Bugs for 10000″ entry and be there. Same with google for example. This stuff will soon work with firefox, allowing to use its search engines.
More a gadget: type a gtk bookmark (the ones shown in the file selector) and you can open nautilus in it
And you can also get rid of mini-commander applet, since typing a program name allows you to open it directly
Some things that are left to do:
- Use galago python bindings (which are coming, according to ChipX86) to autocomplete emails by name and addresses, and also integrate with gaim contacts, allowing to send IM’s by typing the name.
- Use beagle, when available to do some background querying of typed terms
- React to filesystem changes through gnome-vfs monitoring to add on-the-fly newly installed programs
- Support for recent files
- A sane way to handle caching and presenting a good (not too long) list of matches
- More in the
TODOfile in the archive/CVS
We would really appreciate any contribution: ideas or backends, core code, etc.
Also worth mentioning is the fact that the startup isn’t threaded and takes some time because it must index all the interesting files each time. This has to be improved of course.
Try it !
I updated the tarball a couple of hours ago wwith an updated version which fixes lots of small bugs, like missing file existance checks and data sanity, redownload if you got an old version.
Deskbar-applet can be checked out with:
cvs -d:pserver:firstname.lastname@example.org:/cvs/gnome co deskbar-applet
Grab the 0.5 tarball here.
For gentoo users there is an ebuild in BreakMyGentoo.
Building and running
It requires python 2.3 and the 2.12 version of gnome-python and gnome-python-extras. Then:
./configure; make; sudo make install
You can also test it uninstalled by running the
./deskbar/deskbar-applet -w in the source directory, this will create the search bar in a standalone window.