
by nospam@example.com (Sven Herzberg) at June 24, 2009 02:43 PM

by nospam@example.com (Sven Herzberg) at June 24, 2009 02:43 PM
Lanedo has only been running since January and we have been lucky enough to be able to sponsor the conferences we usually attend this year.
So far, these include the Desktop summit and Linuxtag and we are also looking into sponsoring FSCONS later in the year. For LinuxTag we are sponsoring by sending Tim and Sven and by donating to the cause.
This year as usual, Sven will be propping up the GNOME booth for us, so if you are in that vicinity, don’t forget to come by and say hello!
Everyone who signs up for a a monthly Friends of GNOME donation receive a postcard from a GNOME hacker as a thank you. We found the regular, touristy postcards a bit boring, so we decided to create some ourselves, based on motives by four GNOME artists.
They are drawn by Kalle Persson, Vinicius Depizzol, Máirín Duffy and myself (Andreas Nilsson).
So if you would like one of these, sign up to be a monhtly donor!
Once you’re done with that, you can encourage others to donate by putting one of these badges on your blog or website.
Time for another release. Lots of nice improvements. Midori now remembers which extensions are activated and which aren't. Panel detaching works a lot better than it did before. A Feed Panel extension was added, that lets you read news feeds in a panel in Midori. Spell checking and custom fixed font sizes are supported now. Middle clicking on menu items does open new tabs now. libnotify is used (if present at runtime) to notifiy about finished transfers. The preference Open new pages in: New window is actually working as expected now (it used to be ignored). You can use '.' or '/' to search inline on any page, just like vim, man, Opera and lots of other utilities support it. And a little highlight for friends of user stylesheets, '@-moz-document' is recognized and partially supported now, which means that lots of user styles now work with Midori that didn't before.
And I almost forgot, we have speed dial on new tabs now (optionally), so go ahead and quickly add your favourite web pages to it.
So download midori v0.1.7 (452 kB) (MD5) (ChangeLog) already!
by nospam@example.com (Christian Dywan) at May 28, 2009 10:11 PM
Are you a artist who feel like contributing a couple of pixels to the GNOME project, but don’t know where to start?
Here are ten open issues that need your help today:
2009-05-07 12:00:00 +0000
2009-05-07 13:00:00 +0200by nospam@example.com (Sven Herzberg) at May 07, 2009 03:34 PM
2009-05-07 12:00:00 +0000
2009-05-07 13:00:00 +0200by nospam@example.com (Sven Herzberg) at May 07, 2009 03:34 PM
Been working on the appearance of Thunderbird for the last two months now and as things are starting to land in the Nightly builds, things are indeed starting to look quite nice. As always, Lapo have been of great help in the icon department.
I’ve always enjoyed Thunderbird and it’s predecessors that have been following me since I started out with web stuff when I was around 14 years old. Therefore, working on this would really scratch my own itch as I felt it always looked out of place on my Linux desktop and allow me to give back to the e-mail client that served me with so many messages over the years (and pay the rent, yay!).
Anyway, here are some shots:
As you might note, the icons in the main toolbar pretty much look the same, this is mainly because they are going away as soon as the great work that’s been going on with the new toolbar layout lands.
As we’ve used GTK+ stock items wherever we can, your folders in the sidebar will of course look native. Comparison between regular GNOME, Fedora, openSUSE and Ubuntu:
![]()
Please check out a Nightly build and report any issues.
So this release of Midori took a bit longer to ripe but it was hopefully worth it. If that says anything, the manual ChangeLog is by far the longest since the first version. There were lots of bug fixes, memory leak fixes and performance improvements all around, which I won't bore you with here. Among the highlights are the new Cookie Manager extension, support for --app and --config arguments on the command line, search engines in the context menu and address completion (optionally). There is experimental support for detaching panels from the window (try it out and make noise if you are interested), support for Gtk 2.16 entry progress and icon which is means better theming. The news feed icon is back and can open your favourite news aggregator, it was broken for a while now. External download managers are also supported again. There is a Clear private data now in the Tools menu - including Flash cookies.
So download midori v0.1.6 (381 kB) (MD5) (ChangeLog) already!
by nospam@example.com (Christian Dywan) at April 19, 2009 08:27 PM
Apparently blogging about stuff helps, one day after blogging and complaining about my missing Internet connection my DSL modem was delivered. Rejoice.
Once all of GNOME has migrated to git this week, I should try to find time to check out the new repositories and rebuild everything. I hope I can finally get my branches in order and then slowly get back to hacking yaaaay.
Cool, it appears MadsRH took my work and remixed it.
Next step, take his work and remix it for the GNOME 3.0 schedule!
Well the hard work over the last 1.5 years has finally paid off. As far as I know I have fulfilled all requirements for my BSc degree (in Computer Science). The new thesis for this turned out to be quite an interesting work dealing with a supercomputer cluster and DNA data (titled “Distributed approaches for discovering unique factors in the human genome”). When you search for unique substrings in DNA data, the amount of data you get in return is quite amazing. Another cool thing was that I finally got to play with MPI.
Right now I am working on the last bits for my MSc degree (did a lot of work in parallel with finishing my BSc already). In one of the last projects I am having fun with SQL parsers and LLVM. LLVM seems very interesting. Hope to have this all done before the summer.
Since my move to Amsterdam I am without Internet connection at home. It is very weird (and actually bloody annoying) to be without Internet at home, and that already for 3 weeks … I hope these people will get their act together soon. Fortunately I am still a student and Universities have pretty decent wireless ;)
Lots and lots of things have been going on around me lately, but that’s best left for other posts if I ever get around to do them. ;)
A few months ago, I’ve sat down with quite some help by others and collected the input and feedback around Gtk+ 3.0. The outcome of that was a first Gtk+ 3 Roadmap draft that was sent around to the core team.
After some recent poking, the draft has now been posted on the Gtk+ development list, here is the Gtk+ 3 Roadmap Draft Announcement.
I’d like to thank everyone who participated in the fruitful discussions leading to this and particularly Stormy and Dave Neary for their suggestions on the post-draft process.
Cody Russell has kindly volunteered to wikify the roadmap, so future alterations will be easy. I much appreciate his initiative, especially because I can’t foresee to have much time around the roadmap personally in the near future.
The roadmap draft is best discussed on the mailing list and provided online here: Gtk+ 3 Roadmap Draft
This roadmap is also a call for participation to all developers and contributors.
If you have an interest in Gtk+ 3, this is the time to participate in constructive discussions around the roadmap or sign up for one of the many development tasks.
I sincerely hope this is helpful for everyone.
Es ist nicht deine Schuld daß die Welt ist wie sie ist.Es wär’ nur deine Schuld wenn sie so bleibt.
– Die Ärzte

William Joseph Russell was born 08:46, March 26th 2009 weighing 8lb 15oz (4.05 kg in new money)
This version of Midori has a focus on optimizations below the hood. The most important point here is that from now on, you need at least WebKitGTK+ 1.1.1, GTK+ 2.10, Glib 2.16 and libsoup 2.25.2. Lots of tricks to maintain compatibility were dropped. Supporting ancient versions of WebKit became increasingly hard, and various optimizations are in place already. The internal source view was also dropped, and the default text editor is used, or whatever you chose in the preferences. As for a really exciting feature, downloading of files works if you have WebKitGTK+ 1.1.3, including a sidepanel and progress bars inside the statusbar. As a goodie I added an extension called Colourful Tabs, which took me less than two hours to write and is quite nice for that.
So download midori v0.1.5 already!
by nospam@example.com (Christian Dywan) at March 22, 2009 10:23 PM
Sue is about to have our baby (expected date is the 18th of March), she really can’t wait for it to be born now and neither can I! Right now I am just trying to get as much sleep as possible in preparation ![]()
We don’t yet know if it is a boy or a girl so there is an added excitement after waiting 9 months not knowing. Sue thinks it is a boy, I think it is a girl.
Yesterday I released Tracker 0.6.91, which follows the recent 0.6.90 release that we did after 12 months of solid development on the project. I say we, there is quite a huge team working on this project now, including Carlos Garnacho, Ivan Frade, Jürg Billeter, Philip Van Hoof, Mikael Ottela, Urho Konttori and many more. We have a preliminary roadmap (as mentioned here) for Tracker too. This recent release and possibly one more will be the last before 0.7 which will include Jürg’s vstore branch (which we have been working on in parallel for months now). We also had a discussion about the current architecture of the project and decided to change some of the roles around regarding what the indexer and daemon currently do to make things more efficient. With this all in mind, I am expecting some seriously good fun on this project in the next 3 months.
This is a less spectacular but still important release with a focus on small improvements and bug fixes. For instance automatic inline find can be disabled, bookmarks can be moved to different folders and bookmark folders can be opened in tabs. You can edit the selection in the completion dropdown as you select it and the history panel uses your local date format (as a tip for friends of the ISO date format, try LC_TIME=en_DK.utf8). Blanks don't "load" anymore and you will only see one HTTP authentication dialogue with a recent WebKit, not two.
On a related matter, WebKitGTK+ 1.1.1 was also released today, so do download it from http://cafe.minaslivre.org/webkit/webkit-1.1.1.tar.gz as well (MD5: d3a5d7233beab310e9d3e5568fae49a1).
So download midori v0.1.4 already!
by nospam@example.com (Christian Dywan) at March 01, 2009 09:04 PM
Lots of niceties again, something there for everyone I'm sure of it. For
one a preference toggles full image zoom, you can graphically add and
remove items from the toolbar, there is a plugin panel, the sidepanel
can be moved to the right side and international domain names are supported.
Among the highlights are Mouse Gestures, implemented as an extension,
integration with Maemo if you're on a mobile device, finally support for
bookmark folders and last but not least Find as you type, much like
Mozilla browsers do it.
Thanks a lot to contributors, and testers, a number of significant
improvements happened within the last day and hours before the release.
So download midori v0.1.3 already!
by nospam@example.com (Christian Dywan) at February 22, 2009 11:03 PM
So, today is officially the last day for the hackfest, it’s been a quite exciting week, with lots of discussions, ideas flowing around and crazy experiments, which had lead us to an agreement on how should a new theming infrastructure be.
People here have been working really hard to get different parts of the lower level infrastructure right, such as CSS theming, the GStylable interface, hit detection for non-rectangular shapes, etc… I’ve been mostly focusing on the replacement for GtkStyle, this is what has been achieved so far in that field:


Nevermind the ugly rendered elements, that’s up to artists :). The code is in my github repo, in case anybody wants to give it a try.
Lanedo GmbH has taken over the majority of the business that Imendio AB has been running over the past 5 years as the founders have decided to step back for personal reasons.
Lanedo GmbH is still employing the same people that have GTK+ and Maemo expertise with the exception of the founders of Imendio AB.
Ever wish you had your own UI-lab, but can’t build one with all the expensive cameras, big boxes and one-way-mirrors in your house right now?
Pongo 0.1 (requires python and istanbul)
It catches sound and video from your web cam, records your desktop and merges it together into a ogg file that’s ready to publish on the web.
Hope anyone finds it useful. We’re planning on a more proper UI and something that catches the key and mouse presses.
Here is a short screencast (sorry for the colors, don’t hesitate to send fixes if you know what’s wrong)
Big thanks to Daniel and Olivier, who helped me with some initial tests and Jan, who put together the final python code.
Went to FOSDEM during weekend. As always at conferences, I got a lot of requests for artwork for various things. As I tend to have somewhat of a goldfish memory, can everyone who asked me for stuff please add it to the GNOME Artwork requests page?
Thanks and apologies.
- Your humble pixel pusher
There’s now just less than a week left for the theming hackfest! I’m quite looking forward for what may happen there, it looks really promising.
So, out of excitement, I’ve began dumping some ideas into a GTK+ git repo. Of course, this is just proof-of-concept code, years light from finished, etc… but hopefully it will help make further ideas start flowing
And now a meaningless screenshot!

This is 9 separate boxes painted through the new API, it would allow containers to hand their children information about the placing context in a group, so the engine could know how to connect elements together. GtkStyleContext could contain any data, so it’s fully extensible.
Glad to see the new Friends of GNOME website finally online.
Kalle and I started with this when he and Clemens was over at my place some time ago.
We started with ideas and sketches. We tried a couple of different approaches and ideas for the selection of the donation level and a bunch of different ways of displaying the page where you select your hacker and different illustrations.
Then we took the best sketches and imported those into Inkscape for selecting the best colors, choosing the exact styling of the elements and made sure the text that Stormy provided us with would fit etc.
The last step was the actual html+php+css+jquery voodoo. I spent quite some time battling php (I didn’t really know any php before) to allow the page to display different things on the second page, depending on your choice on the first page and trying to understand how paypal worked exactly. Kalle fixed some jQuery and made sure my broken php snippets would work properly. Collaborating over Dropbox worked pretty well actually.
I also made a banner that all GNOME fans can put on their websites or blogs and link to http://www.gnome.org/friends.

Someone also asked if I could make a general GNOME Lover banner too, so here is that as well.
Sorry, nothing related to sex! Since my previous post, I didn’t actually hack much on getting MPX working, mostly blocking on the lack of ideas about a good API. That was until ImendioConf, where a talk with Richard about the subject made ideas start flowing, so here’s my late christmas present!
http://github.com/garnacho/gtk-mpx/tree/mpx
Besides making GDK use XInput 2.0, The main change is at the GtkWidget level, I’ve introduced GtkDeviceGroup and the “multidevice-event” signal. GtkDeviceGroup is just a container for GdkDevices, each widget can have several GtkDeviceGroups. The “multidevice-event” reports grouped motion events for the devices contained in a GtkDeviceGroup, it also provides hints about the latest event that happened and whether a device was just added,removed or updated.
The idea is, a widget would add devices to a group on button-press, enter-notify… remove them on button-release, leave-notify… and would get grouped motion events for all these devices in between. In the repo there are also a couple of test apps to show this working.
Obviously, there are quite some things left, I’ve collected missing stuff I’ve identified in the wiki, so if you feel curious about multitouch, compile xorg and help out!
And now of course, some videos of the examples
Time for an update after another too long release cycle. Let's see what
we should highlight of the changes...
Bookmarklets work now, that is you can use javascript: in bookmarks and
the address entry. New windows opened from web pages actually are opened
finally, in the form of new tabs, cookies can be stored on disk if you
are using a recent libsoup with WebKit and Midori.
And hey, changes to preferences or bookmarks are saved dynamically as
they are changed by you - regardless of crashes your configuration is
kept. Which brings me to the also new (optional) crash dialog that now
pops up if Midori crashed and you reopen it. It allows you to modify
preferences or discard your last open pages, which is useful if for
instance a script crashed and disabling scripts may prevent Midori from
going down again right after having started.
Last but not least, starting up Midori with a long history is much, much
faster now. There is still a delay but it's comparatively small.
So download midori v0.1.2 already!
by nospam@example.com (Christian Dywan) at January 13, 2009 11:55 PM
As I have mentioned before, I'm working on a native theme for the Mac OS X port of GTK+ from time to time. I recently spent some time on the theme engine to make Devhelp look a bit better on Mac, with focus on some widgets that are very visible in Devhelp: notebooks, scrolled windows (and other widgets) with shadows, and scrollbars.
It's clearly very difficult to get things to look exactly right and in some cases I think you will have to use platform specific code to arrange widgets differently to get a really good look. BUT, nevertheless it's getting better:
It's too hot in Istanbul to have the energy to write something useful right now, but since I promised Bastien a screenshot, here it is:
This is Totem running on GTK+ OS X, but without any nice integration with the global menubar and there is no clean patch that can be committed. (The changes are mostly commenting out some X11 and GNOME dependencies.)
It's using a video sink that renders into a GdkWindow (actually it's backing NSView) through OpenGL, based on the Cocoa video sink that comes with GStreamer.
I have been looking at the compiler framework llvm/clang recently in order to do automatic refactoring and code rewriting. One use case for this is to move code that does things like:
gdk_window_foo (widget->window);
to
gdk_window_foo (gtk_widget_get_window (widget));
automatically, to get code working with a sealed GTK+.
Another useful thing that can be done automatically is to change code so that only gtk/gtk.h is included, which is the recommended way, instead of many individual header files. There are more examples of things that can help developers clean up their code, such as spotting common mistakes like not chaining up in finalizers etc etc. Clang makes it quite easy to implement those ideas.
I have started working on a tool to do the accessor and header file rewriting as a first step. Please check it out and let me know if there are any issues or if you want to help out!
Finally we have a binary build for the native GTK+ Mac OS X port! You can check it out here. The download is an installer that comes with frameworks for GTK+ and friends. The installed frameworks can be used directly in the Xcode IDE and come with a project template that sets all the necessary flags and variables to build against the frameworks.
You can also use the frameworks for building normal autotools based projects. This requires a bit of magic, so you will need a special jhbuild setup for it to work, which is currently work in progress but should be ready soon.
What is missing still is support for creating standalone apps, i.e. packages that contain the run-time parts of the frameworks needed to run the app. Also note that this is a beta version so please let me know if you run into any problems so we can work them out.
The binaries are Intel only, and require Mac OS X 10.4 or newer. Note that the Xcode integration is only tested with 3.x so feedback on using 2.5 is appreciated.
I've added a pretty useful feature to Devhelp in trunk, which in combination with some lisp code makes emacs extra helpful when coding. I'm already starting to get addicted to always having the right documentation available :)
Update: added screenshot. Click the image to see a video of it in action.
It should work well with all gtk-doc generated reference docs (like GTK+ & friends).
Last year I spent more time traveling than ever before. At the start of the year I again found out that using a laptop in economy class is pretty much impossible. So for air travel, I resorted to reading. Another problem showed up: most Computer Science related books I own (except maybe “Refactoring” by Fowler) are also too large/heavy to be conveniently read in economy class. Try reading “Head First Design Patterns” in a plane and you will know what I mean ;).
In a shopping spree trying to find suitable (non-computer science, since I read enough of that for my studies already) books to read on planes I stumbled upon the “A very short introduction to” series from Oxford University Press. These are wonderfully small and well written books available in a wide variety of subjects. The first time I was reading such a book on the plane, the person sitting next to me (attempting to read a newspaper), immediately commented on the convenient form factor of the book. I’ve finished the edition on “Galaxies” and am currently reading the one on “Quantum Theory”. I will definitely be buying more of these, though with my girlfriend finally having moved back from Spain the amount of plane travel will be much, much less :).
To get back to my last blog entry, the attempt to get back into blogging regularly has obviously failed. But we will see how it goes in this new year. I’ve been completely swamped with University work over the last few months; but still the prospects of finishing my degrees before the Summer are standing strong.
My friend Péter recently started blogging about his adventures with producing music using free software.
I wish him the best of luck!
So the next iteration of Midori is due. We now actually have integration
of history completion in the location entry, something that many people
have been waiting for long enough. libSoup is used in place of GIO for
loading icons, viewing sources, saving files, and for the first time
icons are actually cached on disk. The side panel gained a compact mode
to take up considerably less space. Bookmarks in the toolbar finally
match the menu and the panel at any time, this was a long standing
annoyance. The Web Inspector as supported by WebKitGtk since a while is
now supported. The beginning of unit testing has emerged.
And finally, the ground work for an extension interface has been done,
extension modules can be written in C at the moment. Bindings to Lua
and/ or Python are planned for the future. Note that the side panel
doesn't currently expose the extension management, but the Page holder
was actually rewritten as one of the example extensions. Be welcome to
try it out.
So download midori v0.1.1 already!
by nospam@example.com (Christian Dywan) at December 01, 2008 08:24 AM
I haven’t done much on Gossip in a while. Been rather preoccupied with Tracker recently.
Today I managed to add a feature which uses the text under the mouse pointer to search with Google, Wikipedia and Youtube. Right now those are just hard coded, but I had in mind, to make it configurable.
Got interviewed by Niklas Andersson on behalf of Techworld Open Source, a section in the magazine Techworld by IDG. I was interviewed in my role as a Swedish FOSS developer in an series to inspire more people to get involved with FOSS development.
You can read the interview (in Swedish) at:
http://techroom-os.idg.se/forum/thread.jsp?forumid=29&rootid=535
Rob Straudinger recently added border-image support to his css markup-powered GTK+ Engine. This allows you to create really fancy buttons and other cool stuff in a rather simple way. Check out John Resig’s post about border-image implementation in Firefox for some cool demos of what you can do with this.
Back at GUADEC in Birmingham, when Garrett proposed using css-markup for widget themes, I thought it sounded a bit too cracky to be doable. Rob’s recent work, however, looks really sweet and since every designer and his mother out there knows css, this is a great way to lower the barriers of theme creation.
Rob is in great need of designers to test these things out in the wild though, so if you’re a designer with css knowledge who always wanted to create widget themes, don’t hesitate to check it out from svn and give it a shot.
svn checkout http://svn.gnome.org/svn/gtk-css-engine/trunk gtk-css-engine
You can find out more about the upcoming 0.3 release in the GNOME Theming blog.
Just a quick reminder that we’re going to hold our monthly GNOME Art Meeting tomorrow (Nov 10th) at 19:00 UTC in #gnome-art on irc.gnome.org
On the agenda so far is:
See the wiki page for more info.
Hope to see you there!
Nine out of ten times I tell people I’m a Icon Designer, they tend look at me like I’ve just told them I’m a Shrubbery Maker. Sometimes I just lie instead.
Myself, Carlos and Hagen attended FSCons (Free Society Conference and Nordic Summit) this weekend and on Sunday I did a talk on the Tango Project.
As we all know by now, “The Tango Project is nothing less than an attempt to impose Gnome’s bland aesthetics on all other desktop environments.” [1], and the KDE artists decided to define their own look and feel as part of their visual refresh for KDE4.
This, at the time made me a bit worried, as having the other big desktop not buying into the idea of a cross-desktop look and feel makes things slightly harder for your friend the application developer to the point where he almost decides not to do any visual integration to with your free desktop at all.
Looking at the recent work on the smaller sizes on Oxygen and the work on bigger sizes in Tango, it turns out that perhaps my worries was for no reason though. [2]
So, I showed this to my girlfried. It turns out she couldn’t spot the difference between the styles. But ok, fair enough, she’s not used to looking and these, and might not spot the important differences. But what about the audience at my talk, who are used to staring at these graphical elements all day long?
Sorry guys, it turns out they guessed wrong in about 50% of the cases. Good news for ISV/ISD’s though I guess!
1. From the old “throw this stuff out now please”-thread on freedesktop.org
2. To be honest, sneaky as we are, we have been working on lowering the gaps between the styles. Sorry for that.
Even though development of the next Catfish line is not exactly fast forwarding, it's time for a maintainance release. Translators have added new languages, which is totally great, and I fixed a handful of small things. Plus, notably, the package now includes the new logo which has already been on the website for some time.
So download catfish v0.3.2 already!
by nospam@example.com (Christian Dywan) at October 24, 2008 09:27 PM
Managing bug lists has become an ubiquitous task when dealing with the GNOME or Nokia bugzillas. At some point I became fed up with the involved cut and pasting, searching and sorting, so I cooked up a small command line utility to construct bug list URLs and format bug list summaries in text form. Here’s it in action:
echo "junktext 556578 moretext 516885 " | buglist.py gnome
http://bugzilla.gnome.org/buglist.cgi?bug_id=516885,556578
516885 - Add RGBA support
556578 - GIMP windows stay on top of other windows
It knows a good number of bugzillas, such as the ones from Gnome, FreeDesktop, Maemo, Nokia, OpenedHand, GCC, LibC and Mozilla. More bugzilla URLs can easily be added, and it handles HTTPS authentication that some of the corporate bugzilla installations require.
The script is available here: buglist.py (v0.4)
Have fun and send in patches. ;)
The version bump is long overdue. The last development cycle was
interesting in a way, there was refactoring, experiments that did not
turn out as good as intended, and a number of annoying bugs turned up,
but the #midori crew is pretty good at hunting bugs, and we came back to
a stablish build in the end. Among exciting new features are
customizable toolbar, error pages, the beginnings of user documentation,
overall various interface improvements, history support in the form of a
panel and allowing to hide the menubar.
The future will probably bring integration of history in the location, a
proper toolbar editor and support for importing netscape bookmark. We
will see what else there is going to be.
So download midori v0.1.0 already!
by nospam@example.com (Christian Dywan) at October 18, 2008 11:08 PM
So let’s try this blogging thing again — now from an all new location (I am at blogs.gnome.org now) and a brand-new hackergotchi courtesy of Andreas. Wordpress Mu supports importing old LiveJournals these days, which also worked fine for me, except for all new lines to have disappeared. But who is interested in old news anyway?
This blog post is really long overdue. Over the summer I slowly started to hack on a full rewrite of GtkTreeView’s drag and drop implementation and related exported API. People familair with the matter know about the numerous problems. Unfamiliar people probably still know about #70479: “DnD with multiple selected items won’t work”. Yes, this bug has been open since 2002 and it feels really great to be finally getting somewhere. I think I’ve got the new API basically nailed (it really works beautifully and I am personally quite fond of it) and I am currently trying to get support for the old API back in place in some kind of compatible fashion. As I also rewrote all of the internal drag and drop signal handling in GtkTreeView, I really threw out everything and started from scratch. For me this also means I now have a fairly good knowledge of how drag and drop actually works ;) I got a huge amount of inspiration out of a reply from Federico on my earlier attempts to get multiple item DnD going.
Another thing that has been brewing originated at the GTK+ Hackfest earlier this year in Berlin. I sat down with both Johan Dahlin and Emmanuele Bassi to have a quick look at “simple list APIs” for GtkTreeView in python and perl (matching person and languange is left as an exercise for the reader ;). Here “simple list API” really means an easy to use wrapper around GtkTreeView (and its companion objects). From the API found in both language bindings, I devised a nice, simple and easy to use C API. The implementation for this is also already there.
Both of these projects are really getting somewhere so expect detailed API proposals and review on gtk-devel-list in 1.5 month or so. I don’t know yet what to tackle next, I really want to finish off these two first. However, my to do and idea list is infinite, so finding something else shouldn’t be hard.
In other news, the end of my time at a University is finally in sight. I really hope to have received my Master’s degree well before the start of Summer 2009. I am really enjoying the classes I am taking this semester, but still it will be great when I have finally finished my degrees. Having the end (finally) in sight here also gives me a lot more inspiration, hence the GTK+ stuff I am getting done these days. And I also reached the age of 24 years 1.5 weeks ago … I am really getting old now :/ ;)
Vincent is a filthy liar, I’m not getting married.
Might be that he’s nervous because he’s going to be a father next month so that his mind plays tricks on him.
Two weeks ago, Bruce Byfield did an interview with me about Manju. The article is now up at linux.com and gives a general overview of the project scope: Manju Project Article.
There’s also been a German interview with Sven Herzberg and me some months back at the Berlin Hackfest, which covers some historical background around Gtk+, some technical bits, possible future directions and how it relates to GNOME. The German podcast of this is up at Chaosradio Express: GTK+ und GNOME Podcast (DE).
Christian, I did ask my girlfriend about it. I’m sorry to tell you that she don’t get the whole Kilobyte, Megabyte, Gigabyte-thing at all because she honestly finds it way too abstract.
This is true for a whole bunch of other people I know, that needs their computers to get stuff done, as well.
So yeah, we fail. Hard.
Matthias Warkus hat es endlich geschafft; die Neuauflage des hübschen orangenen Buchs…
by nospam@example.com (Sven Herzberg) at September 26, 2008 01:20 PM
Today we’re proud to announce Imendio Labs, a window to the crazy software experiments that go on inside the Imendio headquarters.
We’re not only intending to blog about our own discoveries and inventions there, but about other things that we find interesting as well.
First out is the sweet GTK+ Mac OS X Framework that Richard already blogged about.
Expect more cool stuff in Labs shortly!

GNOME 2.24 is soon upon us. In order to celebrate the release Kalle Persson, Clemens Buss, Henrik Sandklef and myself is going to meet at Flygarns Haga on Friday the 26th around 19.00 or so and have some beers.
You can add yourself to the wiki page if you’re coming.
It seems that some of the London hackers have similar ideas.
In other news
Oh, and here is a random photo from our hackfest:

So anyway, Henrik is also one of the organizers behind the upcoming FSCons conference in Gothenburg during 24-26th of October, make sure to come there. I’m doing a talk on Tango and there is going to be a talk on GTK+ from Carlos. Last year was quite fun and I expect nothing less this year.
I've used Gossip and Giggle in the past as examples of creating Mac bundles of GTK+ apps. Now I have another example that is a bit more complex, in that it uses GStreamer. The test case this time is the good old...
Jamboree music player!
I dug it up from the GNOME SVN archive and it worked pretty much out of the box after cleaning up the makefiles a bit and adding support for the Mac integration library to hook up the menubar.
The latest version of the Mac bundler and the bundle file here results in a nice little bundle.
GStreamer works nicely, and using the QuickTime wrapper element gives access to all formats supported by the platform.
If you've followed the development of Gimp, Gossip or Giggle, you've probably noticed that they can be built on Mac OS X, using the GTK+ OS X port and that they can use the global menu bar on that system. The code to do that has been floating around for a while as a cut-and-paste file you could use in your app, but after copying it one time too many I went ahead and made a real package of it instead. It's available here.
It also has the beginnings of integration with some other parts like the dock and bundle APIs.
Andreas Nilsson and I recently started the Manju project which aims at creating graphical widget toolkit themes from SVG files in a toolkit independent fashion.
It combines the idea of a pixmap theme engine, Jimmac’s “One Canvas Workflow”, SVG markup features and Inkscape export functionality to fully automate the creation of a scalable and stretchable pixmap theme from an SVG source.
We’re currently working out the SVG theme file specification, the binary pixmap theme file format, as well as sample files and sample code to demonstrate toolkit side rendering.
Everybody is invited to participate and at this early stage feedback on every aspect is highly appreciated.
We’re particularly looking for people who like to review our specs, implement widgets or theme engines and who like to create alternate themes.
The project is hosted as a git repository:
http://git.testbit.eu/Manju
And provides a communication forum and web presence:
http://groups.google.com/group/manju-project
Automated snapshots of our ongoing work are also provided:
http://pages.testbit.eu/manju/snapshots/nordic.png
I previously wrote about Mac integration for GTK+ applications, and another important part of that is to create app bundles. An app bundle is a self-contained packaged up version of your application that can be distributed easily and put wherever the user wants by using simple drag and drop. This is a very common way of distributing applications on Mac.
To make it easier to create such packages of GTK+ applications, we have created a tool that does most of the work. All you have to do is to setup a small configuration file that points the tool to your binary and any data files that you want to ship. All dependent libraries are sucked in automatically. The application must be able to find its data files dynamically of course, since there is no hard coded path where it will end up.
You can take a look at the bundle file for Gossip for a quite simple example.
I have some plans to add support for dragging in frameworks and not just libraries, and to add better support for translations and other specific resources.
As the observant Daniel already noted, I had a small hackfest at my apartment in Gothenburg this weekend.
The attendees was Kalle Persson, Clemens Buss and myself + this odd fellow that Clemens brought along.

We had quite a nice time. Discussed some ideas around GNOME, Clemens did some Emblem hacking and Kalle and I designed a website and drew some icons. We’re definitely doing this again soon and I hope more people will be interested in joining.
This is a rather early follow up release, mainly early because of GIO issues that were rather hard to reproduce and made Midori unusable for some users. Also waf was updated because the previous version wouldn't build on OpenBSD.
Two new features, so it's also worth a look for those who were not affected by the above issues: if you hide the statusbar Midori will now show the loading progress inside the location entry. Also typing an address in the location and pressing Alt + Enter will open the address in a new tab.
So download midori v0.0.21 already!
by nospam@example.com (Christian Dywan) at August 31, 2008 03:45 PM
Behind the scenes there were a few changes and I still didn't announce anything, since I still hadn't done all bits of it yet. The last bit being the first release of Midori under the hood of Xfce Goodies.
What does Midori moving in with Xfce bring us? The repository moved to git.xfce.org/kalikiana/midori, which has a fancy web interface for the repository. There is a Midori FAQ in the Xfce wiki now, that everybody can read and also add to and improve. Releases are from now on done via the Xfce Goodies Release Manager which generates checksums automatically and sends notifications to the Xfce mailing list. Neither the website nor the bug tracker will change, though, no need to change bookmarks for those.
What does Midori having moved in with Xfce mean for non-Xfce users? Basically, nothing will change for the average user, Midori is still as portable as before. Are there going to be efforts towards integration with Xfce? Yes, but not exclusively. If you want Midori to work better on your favourite system, let's talk about it. And maybe some day in the future Xfce users will see Midori as their default web browser. But anything will be optional, there are no plans with regard to essential dependencies on Xfce libraries. No need to worry there.
By the way, #midori on irc.freenode.net is a happy place, be welcome to join us for a little chat. ^_^
by nospam@example.com (Christian Dywan) at August 25, 2008 12:35 AM