Since viewing log files can be some kind of annoying when you are only interested in a special problem I wrote a patch to filter/highlight specific sections of a logfile with gnome-system-log. A screenshot says more than thousand words:

Screenshot of gnome-system-log highlighting all gdm messages

Screenshot of gnome-system-log highlighting all gdm messages

The filters are based on regular expressions and should thus be quite flexible. The work was done (and paid) by Openismus Gmbh!

Dear lazyweb

25. February 2009

Has anybody experienced with gtk+ an idea about this bug?

Thanks!

P.S.: Hello Planet Openismus! And yes, I am working on this hackergotchi thing…

Anjuta 2.26 Preview

5. January 2009

Today, anjuta 2.25.4 was released as first beta of the upcoming anjuta 2.26. Actually I am sorry that we didn’t release any other 2.25.x but time is limited and we didn’t want to release something completly broken. Anyway, this release features various cool new things. For details see the NEWS entry but I will present the most important things here.

HIG-Improvements

The toolbar has been simplified and cleaned of the bonobo stuff and the short-cuts of the menu items should now all match the HIG where this doesn’t conflict with specific IDE requirements. In addition some seldom used (and broken) menu items have been removed.

Symbol-db plugin

Finally, after it has been in alpha and beta stages in the last two releases, the symbol-db plugin is mostly finished and replaces the old symbol-browser in this release. This means anjuta uses the system installed ctags executable now instead of an (outdated) copy of the ctags sources. In addition every symbol is now kept in a sqlite database that is accessed using libgda. It works for all languages supported by ctags and allows us to have more symbol information and a faster lookup.

The symbol-db plugin also scans the packages required by the project automatically (using pkg-config). In addition, it also checks if the symbols are up-to-date, so it will rescan when you update gtk+ for example.

In the future we hope that it will help us to get a better auto-completion though this also depends on good language parsers.

Devhelp with webkit

The devhelp plugin has been updated to use webkit instead of gtkmozembed which makes it at least much easier to embed. The plugin provides all the features of devhelp trunk now. In addition, there is a link to library.gnome.org now to make it possible to view the online reference manuals inside anjuta.

Starter

When starting up anjuta, a new start page is now displayed which gives quick access to common operations and provides links to the developer documentation. The thought behind this is to make it easier for newbies to get familiar with anjuta and the GNOME development model.

Bookmarks

The bookmark interface has been completely rewritten to match the metaphor of bookmarks as it is used in web browsers. It is possible to assign names to bookmarks now and anjuta will automaticly propose names (such as the current symbol scope, the current selection or “file.c:35”). Bookmarks are remember accross sessions and saved with the project.

Internal improvements

The gnome-build module has been merged into anjuta as it had no other users and featured its own homebrew plugin system. It has been ported to use the anjuta plugin system and integrated with the project-manager.

Lots of work has been done to remove the use of gnome-vfs and libgnome(ui). It is not completely finished yet but should be done until 2.28.

Some new macros have been added to support log domains for debug messages to help finding the interesting messages

The scintilla editor has been updated to 1.77 to match with the upstream sources. It would be much easier if the scintilla team would release a library that we could link against but for now we have to ship their whole source tree.

In addition lots of bugs have been fixed especially in the HIG, usuability and search area. The full (long) list is in the NEWS file.

Special thanks:

(in no particular order)

  • SΓ©bastien Granjoux (for general bug fixing, merging gnome-build and being totally awesome)
  • Massimo Cora’ (for doing the great work on the symbol-db plugin)
  • Naba Kumar (for giving lots of input on design decisions)
  • James Liggett (for the work on the version control plugins)
  • Adam Dingle (for many patches and lots of QA in bugzilla)
  • Jens Georg (for the GNOME-VFS porting)
  • Carl-Anton Ingmarsson (for various great patches)
  • Ignacio Casal Quinteiro (for updating devhelp to webkit and the new starter plugin)
  • All translators and people I possibly missed here

libgdamm 3.99.0 released

11. November 2008

After working the last couple of weeks for Openismus on updating libgdamm to the new API of libgda 4.0 I can finally announce libgdamm 3.99.0, the first unstable release of what will eventually become libgdamm 4.0.

It breaks API with the existing libgdamm 3.x line and replaces various classes with superior implementations. This should bring a lot better performance. Thanks to Vivien Malerba for his great work on libgda and for fixing all the C++ relevant bugs I filed.

You can download libgdamm here: http://download.gnome.org/sources/libgdamm/3.99/

Now, we can finally start to port glom to the new API and fix bugs!

So after Google was so kind to pay me a flight from europe to the US and back I attended the Summer of Code mentor summit 2008 in Mountain View/CA.

The whole (un)conference was absolutly awesome with cool session interesting talks and tons of great people around. It is really nice to meet open source hackers from so many different projects and cultures. Leslie did a great job to make everybode happy in and outside the conference. (And yes, the Google cafΓ©teria is probably one of the best in the world).

Lot’s of people ask me why GNOME only send one mentor and I really think that is a pity. So please, if there will be a SoC in 2009 (which is likely) and you mentor some student then go to the mentor summit and I am sure you will not regret it.

After the summit some nice people from the tor project brought me back to San Francisco and showed me their “Hacker space” and some nice Burrito restaurant. This is my last day here now in one of the coolest hostels of the world and I have to say that I enjoyed it a lot.

Looking forward to another 13 hours flight and 8 hour timeshift πŸ˜‰

Anjuta startup time

9. October 2008

Anjuta start-up is really quite slow, taking about 5 seconds even if no session is loaded. So, I tried to find out what happens and why it is slow, using Frederico’s tools:

1.5 seconds => ld for linking about 80 libraries (will be improved by removing the deprecated bonobo/gnomeui/gnome-vfs stuff)

1.5 seconds => gtk_icon_theme_get_default()

2 seconds => loading the plugins

So, I think there is not much to improve for linking other then to remove some dependencies. For the plugins loading I hope to make some improvements but these are pretty big libraries so it might be difficult. But what annoys me is that the loading of the icon cache takes so long though it should actually get a shared object from the screen. Or am I wrong here? This is no cold start-up, the GNOME Desktop was already fully up. Any chance to shorten this time?

Update: alexl points out that it is because of the gtk-icon-cache being out-of-date and indeed running gtk-update-icon-cache on several directories fixed the issue. Anyway, I wonder if gtk+/gnome/something else should check for an up-to-date icon theme in the background and update it when idle.

Shaun’s post reminded me that I wanted to show some ideas how GNOME 3.0 could be different, new and better than any 2.0 release. I completely agree with him that releasing 2.28 as 3.0 without any really new features would be ridicules. User’s won’t be very interested if we just removed deprecated stuff and use Gtk+ 3.0 if they don’t see any real benefit. As I already said before I do think that we need to skip one 2.x release to get this done. Of course we can use branches, etc. etc, but be honest, making a release is a huge amount of work and normally stops any development for at least two months.

Part 1: Desktop organisation

The problem of my computer desktop is that is becomes about as cluttered as my real desktop and with the trend to bigger displays it also tends to become bigger and bigger. Try to save a new file to your desktop and afterwards plug in your usb-drive and you will see two new icons in random places. In addition if you now turn of your big monitor and only use the laptop display using xrandr your Desktop does not longer look good at all. Of course all these things would be theoretically fixable somehow but I want to propose a more radical solution.

The idea is to give the desktop a good but configurable structure. The user can define serveral areas, give them names and put stuff in them. In addition there are predifined areas at least for starters and for the drives (replacing the ugly “Places” menu). This could look about like this:

GNOME 3.0 Desktop Mock-up

As you still, the left area with the desktop files still sucks. I have no real good idea how to make this look good for everyone but splitting this up to user-defined categories should make it better (let”s say: “Fun”, “Work”, “Development”, etc.). Of course all these areas can be moved by the user, resized, closed, maybe even organised in tabs, scrolled around with some clutter magic or stcked using a system like the one MacSlow showed some time ago. Note that I don’t think these are similar to plasmoids, this IS the desktop, nothing on top of it.

Something else can would be good IMHO would be to create a gnome-3-list at mail.gnome.org to collect ideas, discuss things and bring up a general concept of what GNOME 3.0 should be. I hope I will find the time to continue this series, most likely with part two being “The panel”.

Anjuta 2.5.90 released

19. August 2008

Anjuta team proudly announces the first unstable release Anjuta
DevStudio 2.5.90 that will eventually lead us to stable 2.6.0 release,
code named Cyclone. This is an unstable release, so be sure to adjust
your expectations accordingly. This is release is for upcoming GNOME
2.23.90 release.

There has been a huge changes done in this release from the last one,
both in terms of adding new features and improving existing ones. Also
large amount code cleanup to remove use of deprecated APIs was done.

Most important changes:

  • New git plugin
  • Improved build plugin allowing out of source builds and different configurations for debugging and profiling
  • Autocompletion for the gtksourceview editor

Thanks for this release to (alphabetically):
Halton Huo
Sabastien Granjoux
Massimo Cora
Arun Raghavan
Marc Lorber
Johannes Schmid
Ignacio Casal Quinteiro
Louis-Francis RattΓ©-Boulianne
Yuriy Penkin
Abderrahim Kitouni
James Liggett

and on Localizations:

Clytie Siddall,
Ignacio Casal Quinteiro
Jorge Gonzalez
Yannig Marchegay
Djihed Afifi
Yuriy Penkin
Yannig Marchegay
Johannes Schmid
Ihar Hrachyshka
Jovan Naumovski
Duarte Loreto
Theppitak Karoonboonyanan
Yair Hershkovitz
Nickolay V. Shmyrev
Ilkka Tuohela

Download: ?http://ftp.gnome.org/pub/GNOME/sources/anjuta/2.5/
Screenshots: http://anjuta.org/screen-shots
Features: http://anjuta.org/features

Dependencies:
=============
gdl: http://ftp.gnome.org/pub/GNOME/sources/gdl/2.23/
gnome-build: http://ftp.gnome.org/pub/GNOME/sources/gnome-build/2.23/

Translations updates:
=====================
ar, be@latin, de, es, fi, gl, he, mk, oc, pt, ru, th, vi

Updates and bugfixes:
=====================
* Fix #536372: Write __MAX_BAUX instead of __MAX_BAUD
* Fix a crash when GNOME Terminal is not installed
* now search for symbols can be done also in global tags. Added a new
parameter
to search function and adjusted dependencies on different plugins.
* Put tables.sql into distribution
* Fix #536889 anjuta doesn’t pass “make check”
* Fixed #537398 – crash in Anjuta IDE: Closed project
* Fix #537134: critical warnings tools->plugin_deactivate
* Fix #534523: anjuta parses filenames from make wrong
GMatchInfo need to be freed even when regex fail in build_get_summary
* Fixed a possible bug where the project-manager plugin is deactivated
twice.
* Fix #536375: libsocket not included cause build fail on Solaris
* Add new scratchbox 1 plugin implementing IAnjutaEnvironment
* Enabled tooltips for recent files to identify full paths.
* Ported file-manager to gio
* Fix #530215 – Have a message area like gedit
* Using glib/gi18n.h instead of libgnome/gnome-i18n.h
* Fixed a crash on file selection. Gave enough buffer for the formated
time print.
* Restore text focus on switching editor with ALT+X and
navigating from local-symbols view.
* Fixed #528699 – Auto-indent ignores spaces-per-indent settings
* Fix #538798: UI selected tab document differs from real one
* Fix again #538798: UI selected tab document differs from real one
* Fix #538921 – Duplicated folders
* Fix #539726 – Completing port to GIO
* Fix #513156 – Get rid of libgnome(ui)
* Fix #538443 – Missing files in POTFILES.in
* Fix #538906 – Enable state “Max actions” when “No limit” toggled
* Fix #449620 – Implement autocompletion for gtksourceview editor
* Fix #540731 – Port editor to gio
* Fixed loading of files from the command line
* Fixed crash when double-clicking on a breakpoint.
* Change (nearly) all interfaces to use GFile* instead of uris
Document all shell variables
* Fixed #541313 – Crash on saving file
* Fix #515954 – create_global_tags.sh: wrong anjuta-tags path
* Fixed global tags loading
* Fix bug #538217: Run in terminal option isn’t remembered
* Fix bug: Debugger sources directories isn’t remembered neither
* Fixed “Hide binary files”
* Fix #539551 – AutoComplete doesn’t work
* Fix #539551 – AutoComplete doesn’t work
* Fix #357697 – readonly file can be edited
* Fix #511762 – Multiple selection don’t work well when hitting enter
* Fix #535173 – UI isn’t updated on closing all documents
* Fix #500962 – Further icons
* Fix #475244 – AC_SUBST() not needed after PKG_CHECK_MODULES()
* Fix #518594 – Get rid of .anjuta and follow fd.o specifications
* Fixed #541689 – Filter buttons added
* Fixed symbol-db plugin for threaded libgda calls
* Show all completions even when the editor makes own suggestions
* #541941 – Crash on searching with regular expression
* Fixed #542838 – create_global_tags.sh is creating tags in root
directory
* Added ‘continue global tags scan after abort’ feature.
* Allow to build project outside source directory (fix #540782)
* Fix crash on closing project due to the previous patch
* Add more options for build command: parallel make, keep going on error
and keep message untranslated
* Fix another crash on closing project with a file outside project
* Fix #375640: Allow user to stop a build in progress
* Fix #534566: expand shell variable in configure parameters
* Fix #543889: Crash typing in configuration field
* Fix #522825: Opening files from shell disable build->compile menu
* Fix configuration name not displayed, error when compiling target
outside project
* Fix #543978: GPL license shown in COPYING file irrespective of
which license selected
* Fix #544190: Crash double click on item in stack trace
* Fix #530630: Scintilla hand up after hit return
* Fix #544841 – Cursor set on a wrong line when I click
* Fix several memory leaks in build plugin
* Keep all command data in one object
* Fix #544495: Memory leak
* Avoid using the same function name in interfaces implemented
by the same object to avoid trouble with bindings
* Fix crash on 64bits machine due to the previous change (thanks
Ignacio)
* Fix #543149 Project doesn’t rebuild when file is changed
* Bug #529270 – GSoc: Git Plugin, alpha release 3.
* Add header file to expose libanjuta versioning information.
* Add a preference for the new visible whitespace feature of
gtksourceview
* Pull GIO into the libraries that libanjuta links against. (Bug
#546394)
* Fix #542432 – Svn diff doesn’t work correctly
Convert the output of svn diff from localce to utf-8
* Fix #545673 – A bug in isymbol_get_file function
Use g_file_new_for_uri() instead of g_file_new_for_path
* Fix #546620 – Build- and make dist fixes (with some small changes)
* Fix #420279 – INS and OVR do not immediately change in status bar
* Save files in their original encoding
* Use a fallback dialog if the document was not added to the
document-manager
yet (#545557 – Crash pressing on message view)
* Fix #493818 Close project with opened target properties dialog opened
crash Anjuta
* 545624 – Toolbar broken
* Lots of improvements to symbol-db
* Use uf8_strlen instead of strlen to avoid selection problem with
non-ASCII search strings (see #440637 comment 15)
* New git plugin (Anjuta GSoC project)

Happy coding!

GUADEC in retrospection

15. July 2008

GUADEC

GUADEC itself was great, nice people, awesome location and fantastic weather. Thanks to everyone making this possible. I have a little thing to critisise though: IMHO the schedule had some issues! Some really interesting talks were scheduled in the Opening Hours or in the After Hours which not really many people attended. On the core days, some important talks happened at the same time and I don’t think it’s a good idea to schedule anything against the Lightning talks. Some other people I talked to had a similiar opinion but that may of course still just be a small group. Anyway, I would love if some experienced GNOME people could check the schedule for such conflicts next year.

Party

  • Opening Cocktails: missed due to great view from appartment…
  • Boat Party: Maybe the best GNOME party ever, I doubt that everybody can remember the whole evening. Talked to lots of people though sometimes conversation was rather off-topic. Thanks to the people at Collabora for organizing the event!
  • Closing Party: Well, either I was to tired from the day before or it simply wasn’t that good.

GNOME 3.0 (aka 2.30)

The last days I thought a lot about what our goal for 3.0 should be and how we could probably achieve them. First, I think the decision to break API/ABI is good in general as it will remove maintaining tasks for old and deprecated modules from some very important people.Β  Doing this together with Gtk+ 3.0 also sound very reasonable.

Schedule: To achieve more than just the usual small steps between our releases and instead have the time for some bigger things I would propose to leave out GNOME 2.28. That does not mean there will be no GNOME 2.28 release but that there will be no new features but of course string additions, documentation additions and bug-fixes. That would leave developers a reasonable timeframe to get some bigger changes in and port everything to 3.0 in time.

Gtk+ 3.0: Most of the things that Imendio proposes sound reasonable but we should really try to get CSS-like theming because it will attract much more designers to create themes.

Goals: Define clearly now what our goals for GNOME 3.0 are and how we want to achieve them. Maybe the best thing is to have a brainstorm place (on the wiki) and somebody who organizes those ideas in a way that the community/release team can make decisions based on clear concepts. Some of the things that are important to me:

  • Better file handling: Frederico had some very nice ideas on that and I think he is right with most of the things he proposed. Of course it would be cool to have a versioned file-system but we haven’t yet and of course some UI ideas might not be perfect. Who cares? Let’s implement what we can do now immediately and enhance it when we have more technologies available. This is something that does not really have to wait for 3.0
  • Rethink the panel: Our current panel is not really a modern user interface and as Frederico also said, you have to click too often. And it wastes too much screen-space. I don’t have the perfect solution yet but having those fading sidetabs might be an idea but I am sure there are some other interesting things to think about. I would really encourage people to create mock-ups for a future desktop design.
  • More power to the WindowManager: I don’t really like the idea of having an entry in the titlebar but it’s really time to use the available space for something more useful than the window title. Another thing I would love to have is a “Minimize to Icon” button.
  • Better default theme: Clearlooks is nice but if you compare it to other desktop environments it looks really conservative. I don’t like the idea of being conservative…

Postcard with GNOME stamp

Brought to you by Michael, Mathias and the nice people at PTT (Turkish postal service).