Anjuta status update

So, we all have been busy to improve anjuta over the past weeks. Now, there are also some user visible changes in the UI:

  • Sebastien implemented a new Run plugin which eliminates the mess of having a Build->Execute and Debug->Execute which both do not really fit. Instead, there is now a new “Run” menu which allows you to run programs (with or without debugger) and set a lot of parameters including environment variables of all kind.
  • Due to popular request I started a document-manager bug-fixing day and added some of gedit features to anjuta (#529528 and #453702). There is now a “Documents” menu that allows switching between the open documents (by the menu and by keyboard). To avoid cluttering the menu bar too much, the “Goto” menu is now a submenu of the “View” menu as I guess people either use accels to access these items or rarely use them.
  • Work on the new symbol database continues. Massimo is doing a great job and the project-wide symbol are already working great (requires libgda-v4). Now, we have to work on the system wide symbols to autocomplete all libraries bound to the project.

Screenshots coming soon…

Anjuta Python-Binding

Sébastien put up a nice website for the Anjuta Python-Bindings!

No more excuses not to write plugins!

Anjuta 2.4

So, I haven’t yet written about our new release, the first one that is included in mainline GNOME. Partly motivated by Miguels’s post on MonoDevelop (which would actually share a lot of code with anjuta in case they hadn’t rewritten all the libraries in C#) I will present the new and improved features. Some were already mentioned in an older post.

Editing

Code editing is probably the most essential part of an IDE. While it’s pretty unlikely to convert people using vim/emacs to an IDE we at least try to make people happy that have used IDEs on other operating system or are coding using GEdit. There have been plenty of improvements in code completion and auto-indentation in this release and it should work pretty well for C/C++ now. We always look for people to write language-support plugins for more languages (yeah, it’s easy…). This release also features the latest and best version of GtkSourceView.

Autocompletion and calltips in action

In addition we also improved the way to quickly search in a file using the new “Quick Search Bar”. (c) of this is probably from the vim/emacs and firefox developers, but why shouldn’t we copy it if it’s good!

Quick search bar

UI Design

With this release we made a big step towards better glade integration also thanks to the glade-3 developers. The old and ugly “Glade”-menu is now gone and instead the “File” and “Edit” menu items will now also work on the opened glade file. And the glade file is displayed like any other source file in the central editor window.

anjuta-glade.png

But there is still room for improvements!

Version Control

The Subversion plugin was improved in many ways and it a pleasure to use now. It gives you much better control over operations then the command line frontend. You can for example select which files to commit, resolve conflicts and view logs now in the GUI:

anjuta-subversion.png

The great work on subversion plugin was done by James Liggett (who is looking for a part-time job in case you need a talented GTK+ hacker…).

Debugger

With this release, the debugger doesn’t suck any more. You can debug your code with nearly all features available from gdb, inspect variables, set breakpoints, set watches, etc. And it’s rocking stable now and should make your live on killing bugs much easier:

anjuta-debugger.png

Thanks!

Thanks to everyone who made this release possible, especially, Naba, Sébastien, Massimo, James, Tom, Rob and all the translator who fought this 1700 string monster (and reported all these l10n bugs).

Future

Anjuta follows the GNOME approach to try to keep things simple and our Roadmap reflects that. The goal is to make the existing features perfect before adding yet another. Of course that does not mean we are not interested in new plugins. Everybody who wants to contribute is highly welcome, especially for supporting more languages.

FOSDEM and GTK+ bugs

FOSDEM was great fun and I had a great time with Jürg and the Swiss Vala Gang.

Here is a photo from the “What you dislike” part of the GNOME wall (sorry for the bad quality):

bug #57060

Would be cool if the Gtk+ Hackweek would result in a fix.

And if someone wants to fix the anjuta top-crasher (which is a gdl/gtk+ bug), review the patch at bug #467698 – Thanks!

Update: I did not write that note but the bug number is #56070. Thanks to andre and ebassi for pointing out!

Ubuntu Packaging, Anjuta, Glom, i18n

Joining the recent discussion about Ubuntu packaging policies I would really prefer if they would update their versions to the stable branch. For us developers it’s a lot of work to backport things to the stable branch and fix the major bugs in it. We do that because we don’t want to force people to use unstable versions and because the stable version has lots of users and therefore lots of testing. In general it is unlikely that a x.0 version will ever be released without some minor/major bugs because the development version has never enough testers and something will be missed. Anyway, we do more stable releases for the one and only reason that distributions can update their packages and give their users better software. If you don’t trust us that our new stable version won’t brake everything than we really can’t help you that much.

Anjuta 2.3.3 was released yesterday and this will mean that UI should now be frozen. We did a lot of bug-fixing in the last weeks. Thanks to all those people testing and reporting bugs and writing patches. Also thanks to my two GHOP Students, Philipp Kerling and Boleslaw Kulbabinski for their work and I hope to see future constributions from them. [EDIT] Forgot that I wanted to ask for some volunteer artists to have a look at #511000 and maybe also #510047.

In the meantime I have been working on the Glom drag & drop stuff for Openismus. Unfortunately there is still nothing that could be shown but be sure that I will post a screencast once it is finished.

There has been a lot of discussion about locking upstream translations in Launchpad. Many translation teams agreed here but we probably have to sent some official request to the Launchpad people. I hope that is no big deal as we usually have a good relationship with Ubuntu.

GtkSourceView 2.1 in Anjuta

After Paolo Borelli, Paolo Maggi and others helped a lot in adding support for marks in GtkSourceView 2.0 (#487098), I was finally able to update Anjuta to use the new and much nicer version. The obligatory screenshot:

GtkSourceView 2.1 in Anjuta

Please also notice the new symbol-db plugin on the right-hand side which is constantly getting better thanks to Massimo Cora’ and should be end-user ready within some weeks. We are also very pleased that OpenedHand is supporting us with a patch.

For those interested, I also opened a new GHOP task for anjuta.

Happy coding!

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!

Drag & Drop in Glom

Glom drag & drop layout

Currently I am working on drag & drop layout support for glom (see #35809). After fighting a lot with GtkContainer internals I finally got the preview working more or less. On the screenshot you can see how the preview currently looks like. Of course this could be improved in many ways and it would be nice to get some feedback from UI designers how to improve the visual appearance of the preview. (Unfortunately you cannot see the mouse pointer in the screenshot…)

Glom drag & drop screenshot

The next steps are to create a nice toolbar-like window you can drag the new layout items from. Murray proposed a vertical bar which could fit good IMHO.

Anjuta progress

As you probably noticed already, we released a new bug-fix version (2.2.2) which should fix most critical bugs and some little usability problems. Anyway, the more interesting things happen in trunk, where Massimo is working on a new symbol browser that will support more languages and gives us much better informations about the available symbols. Sébastien is doing an awesome work on the debugger and many other parts of the code. tpgww (AT) onepost.net created great artwork for all kind of things and is continuing to add a lot of patches to bugzilla. I will show you more of the new features, once we have our first beta release (hopefully together with GNOME 2.21.1).

Blog migration

BTW, if you can read this I successfully migrated my blog from my own (outdated and probably insecure) wordpress installation to blogs.gnome.org. Thanks to Jeff for updating p.g.o and to the sysadmins for creating and maintaing this service!

Anjuta 2.2.1 released

So I am happy to annouce anjuta 2.2.1 (stable) release which is a rather unspectacular bug-fix release. Anyway, it fixes most critical bugs reported since our first stable realease in 2.2 series.

But we are not there yet. A lot of development is happening in trunk currently. But a screenshot is worth more than thousand words:
A function tooltip in gtksourceview editor
This shows a function tooltip in gtksourceview editor which now finally works and provides equal, but better-looking functionality as the scintilla editor.

And as we will soon merge the new sqlite-gda-based symbol-db, we will be able to have much better support for different languages and for more complicated cases. Think of “myclass.return_something()->do_something(” for example.

But I would also like to ask for help. Is there any GTK+ wizard who has an idea about this gdl related crash (or with a similar trace). It seems to crash deep inside GTK+ and I have no idea what could be the cause. Thanks!

GUADEC notes

So GUADEC is absolutely rocking. OK, we do not talk about British weather but the rest is absolutely awesome!

Some notes:

  • Gtk+ 3.0 (or 4.0) seems to be necessary to make the work for maintainers easier. Anyway, until now I see no real reason for breaking two much of the API. Just break all this stuff which is crap and leave the rest as close to the current API as possible. BTW, the GTK+ developers/maintainers really rock – thank you!
  • GOD is definitly a bad acronym for Gnome Online Desktop but we might still have lots of advantages by making all those popular web techniques available for the Desktop. Not really making everything like web but giving the people the choice to use the things they want in an easy to use fashion (Google stuff, YouTube, Flickr, whatever…)
  • There are really many people out there fixing the platform and making it ready for the next generation desktop (gvfs, dconf for example)

Unrelated notes:

  • danilo persuaded me to join the i18n-list and he definitly made the hardest party on tuesday.
  • Vincent seems to be a very important member of the community but nobody really knows what he is doing :-)
  • Behdad should start fixing the bugs if he wants his hat back
  • Met lots of other rockstars like Murray, Naba, Philip, Jens, Andreas, MacSlow to mention some
  • I am waiting for the power in the ETAP hotel to break down completely because all those people put their notebooks in the same socket and they already broke three.
  • For next GUADEC we need l10n for the name plates and they need to contain nicknames
  • My talk was not that great, at least IMHO. But people seem to be interested in the project so I hope things will improve!