Google Summer of Code 2007 ended today and I'm really happy I was accepted. I'm both satisfied with and proud about the work I did during those three months. I had the opportunity to work on Deskbar-Applet during the 2.20 cycle. That means that GNOME 2.20 will already feature all my work what makes me really proud. Hopefully, the people will also recognize that the improvements I brought to Deskbar-Applet are great and hopefully most of the people will adept to the GUI.
GNOME
Let's start over
First of all, yes, button and entry mode are gone and won't come back in the near future.
Presenting my work to the broader audience last week resulted in the worst scenario I could ever think of. Last week I spared to effort to improve the GUI and navigation. Some ideas came from the feedback posted in my blog or in the bug tracker, too. Also, I was frustrated at first, the feedback really helped.
My work resulted in a completely new GUI. Furthermore, I improved navigation. You can now use Deskbar-Applet quickly without touching the mouse. If you typed in a search term you can jump to the search results by pressing the down key. Pressing enter while a match is selected will launch the default action (much like old Deskbar) and pressing the right key will show you a list of actions. A match has more than one action can if a '>' is on the right. Navigation with the mouse has changed, too. Clicking on a match will execute the default action (again much like old Deskbar) and pressing control while you click will show you a list of actions.
See Deskbar with/in action(s)
My last two reports contained no news, but since university is over I spend a lot of time on Deskbar-Applet. Most notable I added actions. We now have modules, matches and actions. Modules produce matches and matches have actions. This way a match can have more actions, e.g. open url in browser and copy url to clipboard. If a match has more than one action you will see a list of actions after you selected the match. If it doesn't Deskbar-Applet will behave like it did without actions. You can see how it works in this movie. Currently, the matches don't include revolutionary actions. That's your opportunity to come up with those revolutionary actions and tell me about it. Furthermore, I'm going to update my guide on how to write modules for Deskbar-Applet soon.
In addition, I updated the preferences dialog to reflect the latest changes on the GConf schema. Because everyone likes movies I made another one.
Finally, Raphaël encouraged me to make a late 2.19.6 release. So download it, test it, report bugs and fix them.
http://ftp.gnome.org/pub/GNOME/sources/deskbar-applet/2.19/
Unforeseeable high number of changes
Despite my last week's prediction that I won't have much time to work on Deskbar, I found some time to fix quite some bugs. Most notable, the epiphany and desklicious modules should work now and no duplicate search results will be displayed now. Furthermore, cleaning up the GConf schema file had the side effect that merging the translations doesn't take a disproportional amount of time now. Therefore, you can actually build Deskbar without pain.
I also added default icons for each category, i.e. if you don't assign a match an icon a default icon is displayed according to the category. I got question though: Is there a list of icons I can safely depend on? For now I just searched /usr/share/icons on my Ubuntu machine to get the names for the icons. Last but no least, I updated my guide Writing new-style modules for Deskbar-Applet to reflect the changes since the first version.
First release of new Deskbar-Applet
In the last week I wasn't able to work much on Deskbar-Applet and this will continue till the end of this month, because the final exams are coming closer. Nevertheless, I, with the generous help of Nickolay Shmyrev, was able to solve a threading issue that almost made me go insane. That means no more random Xlib errors. Because this bug has been solved now I decided on releasing the first tarballs of the new Deskbar-Applet. Be aware that your old modules won't work with the new version. See my guide Writing new-style modules for Deskbar-Applet for more details.
Last but not least I encourage you to download, install and most important test the new Deskbar-Applet and let me know what you think.
Download:
http://ftp.gnome.org/pub/GNOME/sources/deskbar-applet/2.19/
Work on Deskbar is slowing down
Unfortunatly, I made even less changes to Deskbar-Applet than last week. I did some minor changes and started on integrating new-stuff-manager support for Deskbar.
I ran into a very annoying problem with threads in GTK+. I know that GTK+ is only thread-aware and you have to surround the critical parts with gtk.gdk.threads_enter() and gtk.gdk.threads_leave(). I already did this where the results are added to the ListStore/TreeView storing the matches. However, now and then I get a Xlib asynchronous error. I couldn't find a situation where I can reproduce this error reliably. I would be glad if anybody could give some tips on working with threads and GTK+.
This week's tiny SoC Report
Due to some awful laziness I wasn't as productive as I wished I was. Nevertheless, I was able to make some small changes.First and foremost, I worked on the preferences dialog. The modules will now be re-ordered if one has been enabled/disabledand I added buttons to move the selected module around.
Newest edition of Weekly SoC Report
The most noticeable change I made during the last week is that the preferences dialog is back and working featuring a new tab that shows you which modules couldn't be loaded and why. In addition, I wrote a guide "Writing new-style modules for Deskbar-Applet" that demonstrates the changes that were made to the module and match interfaces. Please check it out and let me know if it has been helpful.
Deskbar-Applet has changed again
As promised this week's report comes along with more news.
I continued working on displaying and saving history items. After that, I made Deskbar-Applet to an applet again. So now you can add it to your panel as usual and the keybinding works again, too. You can now browse the history in a sidebar or you can cycle through it in the entry like you browse previous commands in the terminal. A short movie showing you the latest features is available.
Latest Deskbar-Applet development
This week I spend a lot of time working on Deskbar-Applet. First of all, I continued on implementing the Core functions. Now that the core was almost finished I started working on the GUI part. First of all, I designed interfaces for the view and the controller (according to MVC). I decided to get the Window UI working first. Additionally, it's the UI that most likely will still be available in 2.20. It's now possible to search and to select a result. In addition, I added completion for the entry, just to see how it would look like.
