Hardware applet

When playing with my new bluetooth hardware I was very pleased that it was supported out of the box. Anyway, I also missed something that would give me some indication that the hardware is working. (e.g. the first I did was to check dmesg)

When you look a Windows, they have those tiny notifications telling you that the new hardware was detected (or that it is not working or whatever). I think we should also have something like that. We now have HAL und dbus and I shouldn’t be that difficult to implement though I have no idea how this works in details. So take this as a proposal or tell me that it already exists (I didn’t find it):

There should three modes of operation:

1. Hardware is plugged in and supported

  • Tell the user “Detected xy – new hardware is now working” (alexl pointed out that we should not do this as it is obvious. I would prefer to have this notification for the first time the hardware is attached).
  • Propose some common operations: Open files for an USB-Stick, F-Spot for a digital camera, gnome-scan for a scanner, etc. Of course with a notification and not with an ugly centered dialog like Windows.

2. Hardware is supported but needs configuration

  • Show enough information that the user can complete the configuration
  • If there is no wizard to do this in a user friendly way, at least point the user to a (distro-specific) tutorial or at a place where he/she probably could find help.

3. Hardware is unsupported

  • Point the user to a distro-specific update tool to search for a driver (=> PackageKit comes in mind…)
  • If there is really no driver, ask the user to report a feature request, based on the device id. This should be saved in a database to see which drivers are needed by many people.

The most obvious case are of course USB devices but maybe also stuff like pcmcia and bluetooth could be detected that way. I think this would make hardware support on linux a lot more user-friendly. Personally I neither have the knowledge nor the time to implement that but maybe someone likes the idea!

Blue your teeth

Yesterday I finally decided to give Bluetooth a go and bought the cheapest available USB adapter at the local electronic store. I must say that I expected it just not to work at all on Linux or that I would have to spend the whole afternoon to get at least some things working.

Anyway, I just plugged in the adapter and checked dmesg to see what happens. To my surprise it just told me that the driver was loaded and the bluetooth stack was now ready. I fired up the gnome-bluetooth-applet and clicked on “Browse Device…” to just see my mobile phone being detected and connected to it. I could not browse the files at first because the gnome-vfs-obex module was not installed but installing it fixed it.

After being able to browse my files I wanted to check if there is a way to sync my phone. After I checked that the phone (Sony Ericsson K530i) does not support SyncML I did not really expect to get anything going.

But as I wanted to give it a try for a long time, I first migrated from Thunderbird to Evolution to have a PIM-Suite and to have syncing support at all. Migrating is actually a real pain because you have to import all your folders manually but in the end it worked out. I have used Thunderbird/Netscape my whole mail live (about since 1994) and I still think that it is a good mail client. But Evolution is really better integrated into the GNOME Desktop and it has improved a lot since I last checked in those old 1.4 days. It could be a bit faster though and I found a nasty bug for people using small screens like me.

So back to syncing: I installed multisync after googling a bit what I need and added a synchronisation pair with Evolution and an “IRMC Mobile Device” (guessed that because some other Sony Ericsson phones were in the list). After clicking on “Sync” I expected an error message but instead the phone just synced.

So thanks a lot to anyone being involved in those Bluetooth and sync stuff – it’s really great!

Anjuta’s way to 2.4

With the first beta relaese 2.3.0 today, Anjuta moves one step forward towards the next stable release which will bring lots of cool and long awaited features. So here is the promised summary of the new and coming features:

Glade integration

Glade Designer intergrated into other documents

For integrated glade we used to have a very ugly “Glade” menu which consisted of the items usually used in an “Edit” menu but just for glade. This was very confusing because “Edit->Undo” would not undo the last change you did in glade but the last you did in the editor.

In trunk, the glade designer is integrated like any other editor in Anjuta and all items can be accessed with the “Edit” menu which always works on the current focused document.

Before, someone asks, if you want more Visual Basic fealing, take a look at this bounty.

Coding support

Autocompletion and calltips in action

Our autocompletion and calltip code has been vastly improved for both editors. It can now show several tips at the same time if appropriate and should work much more reliable. This is of course not yet the end of the road because we want to have this for more languages (Python comes in mind) and we want to detect some more use-cases, like members and object methods. This will depend on the new symbol-db plugin (see below).

Auto-indentation should also work much better now with both editors, is configurable and can also auto-detect the settings from a mode line.

Quick search bar

Quick search bar

Incremental search has sucked a lot in anjuta for long. To improve this we borrowed the idea of a search bar from firefox and I personally think that this rocks. Of course there is still a full featured search dialog and we are also planning to improve that one.

New symbol database

This feature is not yet available in the release but you can preview it in svn. The idea is to save all the code symbols which are parsed by ctags in a sqlite database (accessed with libgda) to allow much better code navigation and completion. Massimo already did a great job there and I hope that this will be ready for 2.4.0

New symbol database

The screenshot shows a file from the gimmie project with the class hierarchy. As you probably know, gimmie is written in python so the other advantage is that this will work for many languages and it might also be possible in the future to use other data sources apart from ctags (you know what I mean, Sven?).

What else?

Apart from those cool features a lot of bug-fixing work happend, especially in the debugger. We have a lot of great new icons and some still need to be integrated into trunk. HIG-stuff was also partly fixed though there is still room for improvement.

Other crazy ideas

Of course we have more plans for 2.4.0. This includes better version control management with integration into the file-manager, supporting more languages. We also want to migrate to GtkSourceView 2.0 but that will mean that someone (or myself) has to find time to add a new markers interface to GtkSourceView. And for all those Vala enthusiasts out there of p.g.o, yes we also plan to support Vala but it will at least depend on GtkSourceView 2.0 and either vala support for ctags or some other (reliable) way to get the symbol out of a vala file.

I am also glad to see more people willing to help out and ask for help with writing plugins!