Planet Imendio

March 07, 2010

Christian Dywan

Build fixes, bookmark export and better privacy

This is a stabilization release, focussed on small improvements. Build errors with different GTK+ versions were fixed, accidental middle clicks don't search unless Alt + middle click is used and opening addresses from external applications in combination with multiple browser windows is fixed. Also the completion suggestion window won't overlap underlying windows.
As a small increase in privacy, the micro version and architecture are not anymore included in the identification string.
Bookmarks can now be exported, from the Bookmarks menu, to XBEL.
Scroll keys can now be specified in the Shortcuts extension, to use for instance Vim style keys for scrolling in web pages (which is now the default).

So download midori v0.2.4 (630 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at March 07, 2010 09:54 PM

March 05, 2010

Kris Rietveld

Recent hacking

Over the last week I finally made extensive time for some spare time hacking. I ended up writing a CoreText backend for Pango, which is much needed as the old ATSUI backend that is used on Mac OS X uses the ATSUI API that has been deprecated since 10.5.

While writing this backend I finally got a greater understanding of how Pango works internally. Also I managed to fix the most annoying bug on 64-bit Snow Leopard wherein some ligatures were incorrectly displayed using the wrong glyph (bug 608923).

I hope to be wrapping up development of this new backend soon. Further development and review will be tracked in bug 611943.


Oh yeah, so Lanedo flew all of us to Brussels for FOSDEM this year. (Well actually I went by train. The train was supposed to be hitting 300km/h, but that didn’t really happen, “software issues”, really!). Either way, had lots of time for hacking there as well. With Carlos Garnacho sitting next to me, I managed to port the GTK+ Quartz/Mac OS X backend to his shiny GTK+ xi2 branch in 1.2 days. In the remaining time I looked into getting support for the multitouch trackpads found on all recent Apple laptops going in GTK+/xi2. Even though the branch is called xi2, it is really the GTK+ multi-pointer branch. This last part has been moderately successful. We identified a few kinks in the new API that have to be fixed first. When that has been arranged, it seems well possible to have support for these multitouch trackpads in GTK+ Quartz, and that should be really cool.

When the above mentioned CoreText backend is done, I hope to find the time to at least push the port of GTK+ Quartz to the xi2 branch into the xi2 branch. This means that when the xi2 branch is merged into GTK+ master, the required OS X backend changes will already be included so the backend won’t be broken at that point.

by kris at March 05, 2010 09:55 PM

March 03, 2010

Sven Herzberg

Peer-to-Peer DBus over TCP

When I was searching the web, I didn't find some proper documentation about this, so I started to develop some bits of code to show how a peer-to-peer connection on TCP can be established between a DBusServer and a DBusConnection. With this connection, I can properly invoke methods from remote objects (and with a little bit of avahi-voodoo, clients can automatically connect to each other).

by nospam@example.com (Sven Herzberg) at March 03, 2010 07:26 PM

March 02, 2010

Martyn Russell

Lanedo is hiring!

We at Lanedo are currently looking at hiring people with development experience around GNOME and GTK+ related technologies again.

If you have this and are interested in working for us, please send your CV to jobs at lanedo.com.

by mr at March 02, 2010 04:16 PM

February 24, 2010

Andreas Nilsson

Robots

Robot 1

Robot 2

Robot 3

Drawn with wacom tablet and the amazing MyPaint!

by Nilsson at February 24, 2010 11:14 AM

February 20, 2010

Christian Dywan

Completion, performance and image blocking

Here we are after an elongated release cycle. The reason for that is notably the refactoring of the completion functionality. The suggestion popup was rewritten to hugely improve completion performance, Startup performance could also be improved a lot. The History panel gained a search entry so it is possible to search the entire history easily.
The panel layout was simplified, with icons without labels on the bottom to save space and make it look a bit leaner.
Adblock gained 'Block image' and 'Block link' menu items, which make it possible to easily block individual images that you don't want to see.
There is a special page 'about:version' now to make it easier to see in what configuration Midori is running.
A new preference 'Preferred languages' should be good news for people speaking multiple languages.
Window raising behaviour was improved, which is important for users with multiple workspaces. Midori will no longer pull existing windows towards the current workspace just to open a new window.
Attaching of the web inspector to the browser window works much better. It is now also always enabled.
The address entry has a 'Paste and proceed' menu item in the context menu now. There is also a 'Close other tabs' menu item when right-clicking on tab labels now.
The cookie manager now allows selecting and deleting multiple cookies at once, which makes removing undesirable items much more convenient.
A number of improvements towards relocatability went in which are needed for Win32. And file existence checks are more portable and faster now.

So download midori v0.2.3 (625 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at February 20, 2010 12:34 PM

February 11, 2010

Martyn Russell

Tracker 0.7.20 Released

Managed to get 0.7.20 out of the door. Not long now before we start 0.8 releases. I want to start doing this within the next few weeks if possible.

Tracker is looking great right now though. The core team has been exemplary in recent weeks.

Roll on 0.8 :)

by mr at February 11, 2010 07:00 PM

Sven Herzberg

First Steps with Tracker

As I‘ve been happily trying out the OpenSuse Build Service, and I wanted to have a presentation about it at the Lanedo apres-conference, I decided to package a recent version of tracker.

I managed to package it within an hour and then decided to need a use-case for these new packages. I picked GNOME Launch Box and after some hacking, I managed to properly replace the application search module by a tracker based module. It was pretty straight-forward to develop that module (after getting a bit into SparQL).

I even ended up doing some more cleanups and finally dropped libgnomeui and libgnomevfs.

I'm really looking forward to replace even more backends with tracker-based ones.

by nospam@example.com (Sven Herzberg) at February 11, 2010 01:43 PM

FOSDEM 2010

Last weekend Lanedo brought its hackers to Brussels, mostly for attending FOSDEM. We‘ve had a delicious joint dinner on Friday evening and attended the conference on Saturday. Just as in the past, the conference has been nice with all the people around and all the good talks.

I mostly spent time in the GNOME presentation room and the hackers room upstairs. Even though I decided for a pet project to be developed during the weekend (some random widget that will be developed later), I ended up doing something completely different (will blog about it later).

On Monday we‘ve had a nice apres-conf with the Lanedians at the hotel. We got a presentation of the first year of Lanedo in the business and a nice presentation about future plans of the company.

After flying back with Tim and Martyn, we realized how warm Brussels actually was. Hamburg was a lot colder, totally snowy, windy and the footways are icy and really dangerous.

In the afternoon I will visit the new Lanedo office for the first time.

by nospam@example.com (Sven Herzberg) at February 11, 2010 01:18 PM

February 05, 2010

Martyn Russell

Lanedo going to FOSDEM

This year we are sending everyone in Lanedo over to Brussels for FOSDEM. Looking forward to meeting up with old friends. It has been a few years since I last made the trip.

Most of us will be there by Friday evening in time to attend the beer event. We hope to see you there, should be good fun!

by mr at February 05, 2010 10:53 AM

January 29, 2010

Carlos Garnacho

Multi-touch support in Linux/Xorg/GTK+

So, for the first time ever (to my knowledge), the full multi-touch stack working on Linux:

Wee, multi-touch

This video features:

In my opinion, this is a quite important milestone, which reflects much work done lately in this camp, and from now on things can only get better!

And of course,

by carlosg at January 29, 2010 12:47 AM

December 22, 2009

Christian Dywan

Back from the WebKitGTK+ hackfest

I have been very busy during the last week, during the WebKitGTK+ Hackfest in A Coruña kindly made possible by Igalia, Collabora and the GNOME Foundation. The Igalia Office is a very nice place to be productive and relaxed. It was an exciting time and it was nice to be able to discuss and exchange ideas in-between lots of hacking.
I had the chance to see Xan, Gustavo, Benjamin and Reinout again while having the chance to meet Alejandro, Philippe, Behdad, Evan and Martin.
Special thanks to Xabier who picked me up from the airport and brought me back on the way home.

Now to the actual work on WebKitGTK+ that I've been doing.
- Asynchronous downloading with WebKitDownload. It was possible before but mostly coincidentally, and I updated a unit test to take it into account.
- Proxy handling is up to applications. After a discussion with Dan and others I filed bug in libsoup for supporting http_proxy by default.
- Finally Cache control API has landed, thanks to Alejandro. Being in the same room allowed for discussing some unclear aspects.
- groups are a concept in WebKit to group views, or tabs, within an application. They are important to let us have visited link handling, support for user style sheets and scripts (those are supported by Midori already, but through a JavaScript workaround) and DOM storage handling. I didn't have time to finish my patch, I will try to do that soon.
- I also worked on custom file choosing from applications. So that you can override WebKitGTK+'s file chooser and for instance use the same folder in all file choosers and customize it to your needs.
- I made spell check actually usable by fixing replacing the wrong word with the chosen suggestion.
- I worked on making spell check work on un-selected text the same way it works in for example AbiWord. WebCore expects a selection due to differences in behaviour on Macs.
- Small improvements to context menus.
- A new function to execute commands, for example to format text, and to track formatting, in rich text areas.
- I deprecated the old loading signals and updated the unit tests to use load-status.

During this time I hardly found room for Midori. Fortunately Alex filled in for me and worked on a number of performance tweaks and improvements to web cache and advertisement blocking.

Note Mario took pictures in the office. If you look hard you can spot me there.

Yours,
Christian

by nospam@example.com (Christian Dywan) at December 22, 2009 09:51 AM

December 15, 2009

Christian Dywan

Bookmarks, bright paint and build fixes

Time for Midori 0.2.2.

Bookmarks can be imported from Opera, Arora, Kazehakase, Epiphany and other browser using XBEL. The XBEL support was improved in terms of performance and compatibility with other applications.

Colourful Tabs now work in combination with the Tab Panel. Delete Private data includes Web Cache which it didn't before. And if you have a small screen or mobile device, Open panels in separate windows can be useful. Correct ordering of History and Trash were fixed. The Shortcuts dialogue display issues were fixed.

The options 'Show in toolbar' and 'Open as web app' were implemented for bookmarks. So you can selectively decide what bookmarks or folders to have in the bookmarkbar. And if you mark them as 'web app' bookmarks open in a separate process.

Several improvements related to portability and compatibility were applied, for Hildon and Win32. Build fixes for certain Glib and GTK+ versions were applied. libnotify is now a build-time dependency.

Incidentally Midori is available for the N900 in testing repositories, albeit it still needs some work, and Midori for Win32 may be updated soon once problems with extensions are sorted out.

So download midori v0.2.2 (590 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at December 15, 2009 10:11 PM

December 07, 2009

Kris Rietveld

Seems like a waste of energy

Anyone seen the new “fading” that happens on the Google frontpage as of a few days? The only use I can think of is that it is utterly distracting, other than that it seems completely useless. Also, this uses up a lot of unneeded CPU cycles all over the world, a bit contradicting from a company that also tries to be very green[1].

Either way, its annoying me and I would love to turn it off, but there seems to be no way to do that easily. And no, I do not want to patch my browser, install an extension or whatever.

[1] http://www.google.com/corporate/green/

by kris at December 07, 2009 01:15 PM

November 13, 2009

Christian Dywan

Web Cache, Weird Hotkeys, Window Opening

We are approaching version 0.2.1. A great lot of polishing went into this release. Mouse gestures are fixed, linking with gold is supported, the navigation toolbar is hidden in fullscreen and the preference dialogue was tweaked a little.
You may notice that opening of new windows is incredibly fast and startup of Midori is faster. Hotkeys involving Tab or single characters are supported now. Terminating Midori with Unix signals won't trigger the crash dialogue anymore (a real crash will).
We have a Web Cache extension and a Tab History list now, both incredibly nice additions. Also form history was improved, it works with forms where it didn't before and saves values to disk so it works after closing Midori in-between.
Here and there lots of changes are coming towards Hildon/ Fremantle support. It is not yet completely done but you may see a proper Midori on the N900 with the next release.

So download midori v0.2.1 (580 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at November 13, 2009 11:30 PM

Andreas Nilsson

Painting the search

One of the cool things I like about the upcoming Thunderbird 3.0 is that it’s now really easy to find the phone number to that dude your friend e-mailed you a month ago, or to track down who it was that arranged the Christmas concert your choir attended three years ago. This is thanks to the new search function, called Gloda. I got the opportunity to help out with the design of the UI stuff for this, so I wanted to highlight some parts of the design process.

The filters

The early versions of Gloda put a lot of emphasis on the filters that further let you drill down your results. Actually, it had so much emphasis on them that the poor search results got put away at the bottom of the screen. It was a bit tricky finding them there, witch is unfortunate for a search interface.

The solution was a sidebar that clearly put apart filters and results and we were able to cut down the amount of text used by turning some of the true/false switches into the more human-readable (and space saving) check-boxes. We also merged all the to:s and from:s to just People among other things.

The style for the button widgets in the sidebar was a hard decision to make. While they are clearly different in style from the other buttons used in Thunderbird (and on the rest of the desktop), they also have less of a tendency to take attention away from the more important search results, and in this case, that’s a good thing.

The search box

To begin with, the gloda search box was a separate box from the old filtering box. We thought about dealing with this putting the filter box just above the message header pane, but because this would result in showing fewer headers we settled on a approach where we merged the two search fields into one and in the end. Thinking about it some more, it really makes sense, since it’s just about finding things, regardless how things work under the hood.

Timeline

The timeline allows you to see where in time your messages live and hovering a filter in the sidebar highlight where in time that filter applies. We initially discussed showing this in the sidebar, but due to the horizontal space constrains there, we decided to put it in the search results pane. The timeline is hidden by default so it won’t get in the way of the search results.

Looking ahead
There is still lots of improvements that can be made and it would be great to hear how the new search works for you, your friends and relatives.

Get Beta4 or grab the upcoming RC1 when it comes out and try it out!

by Nilsson at November 13, 2009 12:59 PM

November 05, 2009

Kris Rietveld

Taking on a new challenge

During my graduation a new opportunity popped up on my path. After long contemplation I decided to take it on. Since October 1st, I am a PhD student in the Computer Systems group at LIACS, Leiden University. Under Professor Wijshoff I will be working on databases and compiler optimizations. For most of our implementation work we are using LLVM, which is incredibly nice to work with and its future is looking very promising. Exciting times.

I also remain associated with Lanedo, providing expert help and advice.

by kris at November 05, 2009 08:04 AM

October 30, 2009

Sven Herzberg

Time, Time Zone and the total mess… (continued)

This blog post is intended to be a reply containing the information that I would have needed abut half a year ago:


  1. as Jürg has correctly pointed out: gmtime() would have helped me a lot (but isn't portable)

  2. as I realized during the last week, replacing mktime() with timegm() would have properly helped, too



Going along with timegm() also yields exactly the results that I expected. This makes things a little easier as all the times in my application are UTC times and will properly get converted into local times when using… It also allows things to become a little easier as I can assume that all times in my application are UTC times.

So right now, I'm trying to get the g_timegm() patch into glib, so there is a portable, threadsafe (as in “does neither modify your environment variables nor use static variables”) implementation people can use in their applications.

by nospam@example.com (Sven Herzberg) at October 30, 2009 03:56 PM

October 16, 2009

Christian Dywan

Element blocking, form history and kinetic scrolling

Fasten your seatbelts, Midori 0.2.0 is there. Adblock was improved a lot, it works with any WebKitGTK+ version, has an improved interface, reads AdblockPlus/ Easylist filters and supports element blocking now. Thanks to a contributed scrolling widget we have kinetic drag scrolling, enabled on touchscreen devices (gtk-touchscreen-mode. Two new extensions, namely DNS prefetching and form history, could just be the very reason for those who don't use Midori yet, to switch. Smaller issues were also improved, such as more icons of web pages are recognized, mailto: links work as expected and when switching a tab back and forth Midori remembers what you were typing.

So download midori v0.2.0 (556 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at October 16, 2009 01:04 AM

October 09, 2009

Carlos Garnacho

HP stands for “hijo de puta”

Ok, next blog post was supposed to be about multitouch and such as I promised, but that will have to wait a bit, let’s see why:

Today’s history is about N-trig, HP, and lots of idiotic behavior around. In order to have a better insight about multitouch, and seeing that the Thinkpad was aging, I decided to get a HP Touchsmart TX2 tablet. All in all, a nice computer, quite better than the old one, and there has been work lately on getting the N-Trig multitouch+stylus device working on linux, all fine! but wait…

WTF #1 (N-Trig)
After I started experimenting with the Linux multitouch input interface, I promptly realized I wasn’t getting multitouch events at all, why? turns out the N-Trig device had a firmware meant for Vista, and that I should install Windows 7 drivers in order to get the newer firmware that would allow multitouch events.

Yes, right, drivers and firmware are bundled in a single installer, so when you install such thing you must plug your laptop, remove it from the expansion base and cross your fingers (away from the screen of course), could something go wrong? of course, and it did for me, leaving me with a “N-Trig hardware not detected” message whenever I try to reinstall or uninstall the driver, so no reflashing will happen, leaving the touchscreen completely unusable under any OS.

In conclusion: Hardware manufacturers should stay away from hardware unless they hold a soldering iron, seriously, leave software to others.

WTF #2 (HP)
After this, the only feeling of relief I had was due to the laptop being under warranty, easy, ain’t it? It isn’t. After several long calls to their customer service, they still insist that I must purchase a recovery kit DVD set (I wiped the recovery partition out, no DVDs were shipped with the laptop) for 40€, so they can check remotely themselves (eek) that it’s actually a hardware issue. There are several problems with this:

  • According to Spanish law, enjoying any product warranty must imply no cost at all to the customer. I told them so and they dared me to sue them, I’m already looking into doing that.
  • They stated that they can only support a computer warranty with the pre-installed OS. However, in the booklet shipped with the laptop, it is mentioned that they don’t guarantee at all any shipped software. They’re just supposed to offer limited technical support the first 90 days (which already expired).

I’m currently trying to bypass phone customer service with the e-mail one, they at least seem more indifferent to me having other OSs, let’s see if I succeed.

In conclusion: looks like HP customer service’s only target is to cause grief and frustration, you don’t only deserve being sued, you deserve to die young, in pain and alone.

</rant>

XInput2 GTK+
Sadly the only thing preventing me from sending a preliminar patch is polishing XInput 1 support, it was mostly readapted to GdkDeviceManager and the event handling refactor, but there are some glitches here and there. All this is now stalled by having the tablet functionality broken, if anyone wants to pick this up, please tell me (garnacho at #gtk+, etc) and I’ll try to help you through the code.

Likewise, non-X11 backends are completely untamed land, these need readapting to GdkDeviceManager and _gdk_windowing_* API changes, contributions there are more than welcome.

by carlosg at October 09, 2009 04:05 PM

October 08, 2009

Martyn Russell

Hiring Christian Kellner

More recently we have been looking into hiring more developers/managers and we managed to entice Christian Kellner into the company. We are thrilled to have him work for us. Welcome Christian!

We have received many requests for work and we are still processing those. If we haven’t got back to you yet, we will. Thank you everyone who applied! :)

by mr at October 08, 2009 01:56 PM

October 07, 2009

Martyn Russell

Tracker + Totem

Bastien has been complaining that the Tracker plugin for Totem doesn’t work any more since 0.6. So I decided to see how quickly I could update it today. All in all, it only took me a few hours and here it is. You will have to excuse the crappy file naming and video tests I have to play with – normal users probably title these a bit better I think :)

On another note, we released 0.7.1 on Friday gone with some really nice fixes since the first release. We plan on doing another release this Friday too.

by mr at October 07, 2009 03:21 PM

September 30, 2009

Martyn Russell

Tracker 0.7 Released!

Finally it was released and announced last Friday.

As part of this work we added an applet called tracker-search-bar which is just a quick way to access your content.

Here is a video of Tracker search bar in action

So now developers can start getting stuck in!

by mr at September 30, 2009 12:56 PM

September 24, 2009

Kris Rietveld

Privacy took another hit this week

With the introduction of obligatory finger prints in Dutch passports this week, privacy has taken another hit. When applying for a new passport (or identity card), it will be mandatory to provide four finger prints. Two of these will end up in the RFID chip in the travel document. This is due to EU legislation and will be implemented in all European countries.

As an added bonus, all Dutch finger prints will be stored in a central database, accessible by the Police. Scary, considering that the Netherlands has 12 times as much telephone taps on its inhabitants compared to the United States. It has to be noted that the EU legislation does not require this at all!

For a few years now, I have been refusing the enter the United States. Main reason: you are mandated to supply all 10 finger prints at the border. You can easily choose to not enter the US anymore. When your own country starts implemented such unnecessary rules, it becomes much harder. Adults are required to carry ID. You need an ID for getting a job, a house, an Internet connection, almost everything you need in life.

Many people will say: “Who cares? You have nothing to hide, do you?”. Sure you do, I don’t know much people who would write their credit card credentials on their front door, for everybody to read. But this is not the point, it gets scary once the data collected will be used against you. Fraud with finger prints is absolutely not unheard of, the CCC already researched this in 2004. Identity theft will become much easier, since finger prints are stored in the RFID it is easily read out wirelessly. These can then subsequently be faked. People usually try to find a balance between privacy and safety for these kind of things. Since many highly value safety, they have no problem to turn in some of their privacy. The problem with finger prints is that it provides absolutely no safety at all.

An interesting remark I found on this was about access verification based on finger prints. Now that you have to carry your ID with you, with the finger prints on the RFID, you basically always carry your “password” with you. Free to read out from 5 to 100 meters. We can be pretty sure the encryption scheme for passports will be hacked, if it has not been hacked already.

Fortunately, I got a new identity card for travel in Europe last Summer, so I should be “safe” for another 4.7 years…

by kris at September 24, 2009 09:46 AM

September 23, 2009

Martyn Russell

Lanedo is hiring!

We at Lanedo are currently looking at hiring people with development experience around GNOME, GTK+, X11 and related technologies. We are also looking for people with project management experience in this area.

If you have this and are interested in working for us, please send your CV to info at lanedo.com.

by mr at September 23, 2009 02:04 PM

September 18, 2009

Carlos Garnacho

On Tracker stuff

Seeing that Martyn has updated his blog with some sweet tracker info, I figured I could do the same :)

The main feature I’ve been last working on (together with Martyn) is libtracker-miner, Which will ease the creation of data miners for tracker-store (that is, objects that extract useful info from applications and such and transform it into SPARQL, which is pushed into tracker-store).

The idea behind this is that one can develop both independent miners and plugins for the most popular applications which translate data to something Tracker can understand by implementing the TrackerMiner object.

This object also implements control logic, so the control of all available miners can be reduced to a single point, there is also a reworked tracker-status-icon which does precisely this, this is how it currently looks like:

There is also a TrackerMinerFS base class, which eases directory crawling, monitoring and other filesystem features. This is the base object for both applications and files miners.

XInput2 + GTK+
There’s much progress going on here, I empirically suck at blogging, but I promise I’ll make an update about this soon :)

by carlosg at September 18, 2009 01:18 PM

Martyn Russell

Tracker Update

libtracker-miner

So Carlos and I have been working on libtracker-miner for the last few months. Since tracker-store (formerly known as trackerd) is now handling all reads/writes from/to database and doing it much faster than ever before with a much more expressive language to query with (SPARQL), we had to merge the old tracker-indexer and parts of trackerd from the 0.6 branch into one binary that could crawl the file system, insert file specific metadata and call tracker-extract for file type metadata (for example: none “file” data, but actually data like image height, width, etc.).

As we had to do this anyway, we took the opportunity to refactor the parts we were unhappy with and to make libtracker-miner a library which other “data miners” could use. This gives the following things:

  • DBus integration for free
  • An API to find other miners both available and running
  • An API to get/set status, progress, name and description for each miner
  • An API to pause/resume each miner
  • Signals to know when all miners or specific miners start/stop/pause/resume/error/progress.

More recently, Adrien Bustany has been working on “bridges”, which in fact are the same principle, they are miners of data but for web applications like:

  • Facebook
  • Flickr
  • Twitter
  • etc.

We are working together to integrate this into the “miner” framework we already have set up in master right now and it is quite exciting to see integration in other areas than just desktop applications.

Additionally, Philip is making Evolution use the same miner API so we will have support for 3 miners as standard out of the box for:

  • Email data
  • File data
  • Application data

tracker-status-icon

Formerly known as tracker-applet, this has been refactored by Carlos recently to work with the new miner API too, so now you can see (much like the network manager) a list of miners and their state/progress. It also allows pausing/resuming of ALL or single miners at a time which is very useful.

tracker-preferences

The tracker-preferences application was also really out of date. The whole configuration system has changed since 0.6 so we decided to use Vala and GtkBuilder to build the new dialog. This dialog only services tracker-miner-fs preferences right now because they are really the only settings that make any difference to the user at this point. There is some polish that is needed here, but it looks good so far:

screenshot-tracker-preferences

0.7 Development Release

The current roadmap is mostly done now with a few exceptions which we have decided to not worry about for the 0.7 release. Next Friday we plan on doing this release now that most of the UIs are in reasonable states and people should be able to start using it normally now all the big features have been integrated. This has been put off by 2 weeks already but we don’t want to delay any further. So look out for a new version of Tracker next week!

by mr at September 18, 2009 09:48 AM

OSiM

So this week, as Tim already blogged, we were at OSiM in Amsterdam. It was great to see how the mobile market is getting involved in open source and to meeting some really interesting people there. It was also good to see friends there from Collabora, Codethink, Igalia and Intel.

by mr at September 18, 2009 08:57 AM

September 17, 2009

Kris Rietveld

Unit testing the filter model

One thing that has been on my todo list for many years was writing proper unit tests for GtkTreeModelFilter (the “filter model”). The state keeping that the filter model has to do is enormously complex. Sadly, this has caused the filter model to get to a state where it was basically impossible to maintain it, a patch fixing something would almost always break something else. Getting out of such a state is generally only possible by bringing the entire thing under test. And that’s what I have done about 2 weeks ago and took a week to get the basics of the unit tests right.

The majority of the filter model code is now under test. Not only the correctness of the model’s structure is tested (are the right nodes there? Also at the correct position? Are the right nodes designated as parents? etc.), but also whether the right signals are emitted at the right moment (and with the correct details/arguments).

While writing the unit tests, 2 or 3 bugs were uncovered and also fixed. Using the unit tests I was also able to clear the long outstanding filter model bug reports from Bugzilla. Actually, being able to do that was the entire point of writing the test suite ;). When handling those reports, the usefulness of the unit tests immediately proved themselves: when patching one of the problems (with a fix that looked generally okay), one of the other tests started to fail. This regression would not have been noticed without the test suite.

Hopefully, we’ll soon get support for seeing the testing coverage (from what I heard there is a bug/patch for this in Bugzilla). Some parts of the filter model are not under test yet, most importantly the intricate reference counting of nodes. Some day I will get back to this.

What I am also hoping for is to re-use some of the concepts used for these unit tests in unit tests for other tree models. And, of course, to come up with a generic tree model tester that can be used to test custom tree models.

Many people might find such a generic tree model tester overkill and say that tree models must be much more trivial to implement. That’s something for the future really. I will promise to blog about the plans/ideas I have for GtkTreeView and friends later on. (You can imagine that a lot of ideas have been brewing while I was busy finishing my studies ;) ).

Oh by the way, currently I am doing some work on GTK+’s Quartz backend. It has suffered from some regressions after the introduction of client side windows in GTK+ and I am trying to get those under control as well as cleaning up the Quartz patch queue in Bugzilla. After that I will most probably be looking into extending/improving the CellEditable API to finally get proper acceptance/cancellation behavior.

by kris at September 17, 2009 06:55 PM

September 16, 2009

Andreas Nilsson

Software Freedom Day Gothenburg

To all hackers and freedom lovers of Gothenburg:
We’re going to celebrate Software Freedom Day on Saturday.
We’ll meet at Linneplatsen at 15.00. Bring drinkable and eatable things. Depending on the weather, we’re either going to head to Slottsskogen or Gnutiken.

by Nilsson at September 16, 2009 08:14 AM

September 15, 2009

Tim Janik

14.09.2009 OSiM 2009

Together with Martyn Russell, Carlos Garnacho and Kristian Rietveld, I’m attending OSiM this week. None of us has been here before, so we’re quite curious about the conference and will keep our eyes open.
My schedule still has some holes, so if you would like a chat at the conference, drop me a line and we can arrange a meeting.

PS: Yes, I’ve seen Alex recent work and will take a look once I’m back from the conference.

by Tim Janik at September 15, 2009 07:50 AM

September 11, 2009

Christian Dywan

Better Adblock, better feed panel, better tab panel and defrosting

So... this update brings great things like saving HTTP logins, much better address completion, a fixed news feed icon, improvements of the feed panel extension, and an update of the tab panel extension.

With WebKitGTK+ there is Undo/ Redo support now. And a revamped Adblock extension that loads adlbock plus/ easylist files, and unlike the previous version actually works wonderfully.

Last but not least the freezing is fixed that could occur when opening multiple windows.

So download midori v0.1.10 (531 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at September 11, 2009 11:30 PM

Sven Herzberg

ThinkPad X200 Tablet

Lanedo was so kind to offer a notebook upgrade for me and on Tuesday I happily received a ThinkPad X200 Tablet.

I will spend the following weeks setting up the machine to replace my current X60s by Fedora 12's release date.

Wednesday evening I started to install Fedora 12 Alpha via USB pendrive and managed to get a bootable device. The screen was flickering like hell and, after a large upgrade yesterday, things are usable now.

The next step will be to get the Wacom tablet working. Fedora has a pretty recent Xorg server (Ubuntu is actually lagging behind this one); but the wacom drivers don't seem to work with it yet…

by nospam@example.com (Sven Herzberg) at September 11, 2009 01:58 PM

August 27, 2009

Kris Rietveld

My new self-built “Mac” (really a Ubuntu machine)

I have been wanting to blog about this for ages. So in November last year I decided that my old trusty Athlon XP that has served me for years was really due for replacement. It was still fast enough to run vim and Firefox and such, but the machine became annoying as soon as I switched to Gmail last Summer. The machine could just not keep up with me typing e-mail in the browser. For a very long time I have been wanting to buy a Mac Pro (or Powermac G5 before), in the end I chose for a different solution.

So I ended up buying components for a Intel Core 2 Quad, 4G RAM and RAID1 on pretty fast SATA2 disks. I bought the cheapest PCI-e video card available to drive my dual Iiyama displays. After assembling the machine myself, I loaded it with the 64-bit version of Ubuntu. Figuring out the partitions (software RAID and LVM) took a while (apparently I needed another install DVD image for this) but after that the installation process was fantastic. Completely flawless, everything worked out of the box.

The end result: my own self-built “Mac”. Everything works in Ubuntu, also suspend (what I would buy a desktop Mac for). The configuration I have right now would be impossible to get from Apple for 500 euros, and works as flawless as the Macs I have. Plus, it runs Linux which I still prefer over Mac OS X for programming tasks.

Really, really glad that I ended up getting this as my new desktop machine. I am pretty sure that my next desktop machine (which I will get in 4 years or so :) will again be a Linux machine and not a Mac. Though for laptops I still prefer Macs, sorry ;)

Oh yea, what I did learn was that I could also just have upgraded the browser to Firefox 3 on the old Athlon. Oh well, it is still amazing to watch a Quad core compile GTK+.

by kris at August 27, 2009 11:25 AM

August 25, 2009

Kris Rietveld

Dear Philip,

Even though you do really have a point that the current GtkTreeModel interface is way too complex, I am getting very, very tired about the way you are trying to get this across. We have discussed your ideas in person some time ago already and I am very well aware of the direction in which you want to head.

You are comparing GtkTreeModel and DataTable in .NET and saying that GtkTreeModel is not generic like IList is. That is a correct observation, because GtkTreeModel was not at all designed to be a generic model. Note it was named GtkTreeModel, not GModel, GtkGenericModel or whatever. It was designed to be a model for GtkTreeView and nothing else. And yes, it is being misused.

So why was GtkTreeView not designed like that? Well, you give the answer to that yourself in your earlier blog entry: we did not have a collection framework.

Doing it right, like .NET does, requires a collection framework. You are talking about IList and IList is a part of .NET’s collection framework. I am not at all opposed to walk this route and introduce proper models in GTK+ and GtkTreeView can then also use these. But it is not at all fair to keep comparing .NET’s generic data binding with the current non-generic GtkTreeModel.

For some reason you feel obliged to mention that the .NET implementation will only access data of visible entries. You know that for GtkTreeView the same holds if you are using fixed height mode. And you also know that I have been working on patches that will remove the validation process that has to iterate over the entire model in advance, making it possible to work with very large models without using fixed height mode. In fact, this will deprecate fixed height mode.

It is easy to pick on work people have been maintaining in their spare time, but it does not provide a form of motivation nor encouragement.

by kris at August 25, 2009 07:45 AM

August 22, 2009

Kris Rietveld

No lowlands this year

This year’s lowlands festival started on Friday. For the last six editions I have been there, but we are missing out on this one. Also because it was sold out incredibly early, I think they broke a record with that. More importantly, we are not going because the line-up totally sucks this year. In a news article today they reviewed the Friday evening and mentioned there was dance, rock and even metal. Like having metal is special, I mean the previous incarnations of lowlands always had a very large share of punk, metal and alternative bands. Unfortunately, that has really been on the decline over the last few years. This also attracted a different kind of people and the real authentic “lowlands feel” that I felt during the first time I went really started to evaporate in the last few years.

Too bad really. We’re opting for proper concerts instead these days (and living in Amsterdam is very helpful for that :). We will be seeing Korpiklaani at Pagan Fest in September and hopefully we might even catch Enserifum when they hit the Netherlands. Seems like Anti-Flag will be playing the Melkweg in November.

Oh yeah, the studies are done now and I should be receiving my BSc and MSc certificates on Friday (both in Computer Science, surprise). So I have been getting back into GTK+ in my spare time now wooooo. Should definitely be playing more guitar and bass guitar as well.

by kris at August 22, 2009 07:09 PM

August 02, 2009

Michael Natterer

OMG it’s alive!

I heared rumors that my blog is dead.
However the report of its death has been greatly exaggerated.

by Mitch at August 02, 2009 03:37 PM

August 01, 2009

Christian Dywan

The hated popup, javascript issues and tab panel improvements

This version of Midori is a bit of a follow up and improval of the
previous one. There's a notable bug that breaks user styles, user scripts and the Netscape plugin panel in 0.1.8, this is fixed now.

The bookmark popup below the addressbar was an experiment in terms of usability. It is often hard to guess beforehand what works and what doesn't. A lot of users expressed how they disliked the popup, and I have to agree, it isn't as nice as it looked after using it for a longer time. So it's gone for good.l

The tab panel extension was improved, it has close icons now, ellipsizes titles, tooltips and you can hide the panel operating controls now to make it really space efficient. I personally like to work on it incrementally, and see how it improves my tab usage a lot over ordinary tabs. Any power user should try it out, and you are welcome to say how you like it.
A related feature, useful for heavy tab users who prefer actual tabs, is minimizing tabs. If you keep certain tabs open, you can now turn them into small icons.

The menu button that's visible when you hide the menubar had an annoying flaw, it wouldn't let you access the Tools, like editing the toolbar, configure your shortcuts or the Delete private data dialogue. So now these items show up in the menu. If you like to reduce screen real estate, go and hide your menubar today.

Being careful with private data is easier because there's a new tick mark in the dialogue in Tools > Delete private data, that tells Midori to delete the chosen information when quitting.
Another nice addition is that navigation history is preserved in newly opened tabs now.

So download midori v0.1.9 (504 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at August 01, 2009 08:41 PM

July 29, 2009

Martyn Russell

Tracker Update

Roadmap to 0.7

While I was at the desktop summit, I decided to come up with a roadmap so we all had something to work to for the 0.7 unstable release which we are hoping to do soon. The roadmap is on live.gnome.org here:

http://live.gnome.org/Tracker/Roadmap

As you can see, it is progressing nicely.

Config

The configuration system in Tracker has always consisted of one TrackerConfig inheriting from a GObject and used to load/save applying the GKeyFile API. The problem we found here, is that we really want configurations to be more fine grained to specific binaries. Some of the options (like log verbosity) would apply to ALL binaries that use the config otherwise. So now we have TrackerConfigFile as a base class with tracker-object-keyfile.[ch] to do some utility functions for us in libtracker-common and all binaries that want their own TrackerConfig with object properties now inheirt from TrackerConfigFile. This is quite nice because it reduces the code duplication we had and now we have a nice set of separate config files in $HOME/.config/tracker/.

With 0.6. we also had this concept of “modules” which would be for each type of data we wanted to track. We had “files”, “applications”, “email”, and some others… These modules also have a configuration pertaining to how to index their data. Things like globs for including and ignoring certain files. There are also options to make sure data isn’t indexed too regularly (which was needed for some content that was constantly updating). All of this is in the process of being revised and merged with the TrackerConfig machinery. This mostly applies to the “files” module though. The module config and module code (which was a complex GModule implementation) is all going to be simplified now that we have separate binaries for mining each data we are interested in.

Album Art

This was quite a mess before. We had code in different places for this. Over the past week or so I have cleaned this up too. Now we do all album art downloads and extraction from the tracker-extract binary (called from mp3 and gstreamer extractors when they see media with such content). Before we would request thumbnails for the new art in tracker-extract, but due to the unstable nature of tracker-extract (based on dynamically loading modules using 3rd party APIs we can’t guarantee the stability of) we were always at risk of failing to queue new thumbnail requests to the thumbnail daemon if we had a crash. We only send thumbnail requests AFTER all indexing has been completed, if we don’t do this, we suffer with severe performance problems. Now all thumbnail requests are done from one place, the tracker-miner-fs and the albumart functions are no longer spread across libtracker-common and tracker-extract. They are just in tracker-extract.

Volume Support

Over the past few days Carlos re-added volume support to Tracker so now using a simple query, you can find out if your data on that MMC you just inserted or removed is available.

So, to get a list of ALL data objects and their availability (which is true or false based on if the media is mounted or not) you can use:

$ tracker-sparql -q "SELECT ?do ?av WHERE {
                            ?do a nie:DataObject ;
                            tracker:available ?av }"

You can also get a list of all data objects which are NOT available. To make things faster, we have not included “available” for EVERY item, only where items are available. This makes updating the tables a lot faster. So when looking for files which are not mounted, the query becomes a bit more complex:

$ tracker-sparql -q "SELECT ?do WHERE {
                            ?do a nie:DataObject .
                     OPTIONAL {
                            ?do tracker:available ?av } .
                     FILTER (! BOUND(?av)) }"

Of course the most common use case is, tell me files which are available, which can be done with:

$ tracker-sparql -q "SELECT ?do WHERE {
                            ?do a nie:DataObject ;
                            tracker:available true }"

We are still fine tuning the volume work to be faster but things are coming along swimmingly!

by mr at July 29, 2009 09:18 AM

July 23, 2009

Andreas Nilsson

A tale of menus

Had a great meeting with the rest of the GNOME Art Team at GCDS!
Together we came up with some points on where we would like to take GNOME visually in the coming 9 months.
One of the things we all agreed on is that a new widget theme is not going to be enough to create a visually stunning desktop.

Fewer but better
256x256 icon example
At the same time as we’re introducing massive 256×256 icons for places that require 64×64 and up, we also want to take the opportunity to cut down a bit on the massive amount of icons currently used in menus. At the same time, we also want to introduce some guidelines on when to properly use them to enrich your interfaces.
The current approach is that some items have them, and some don’t, and this is because no artist had time to draw it, or because the action is too complex to convey in a small icon, or both. And hand to heart, that’s not a really good guideline.

Getting rid of things (or changing defaults for that matter) is always tricky, as the initial reaction from people used to the old behavior is that nothing of value gets added. However, we believe this is a visually more attractive default and that it will result in a cleaner and more efficient interface (and you can always change it back).

What are the exceptions?
A menu item shall have a icon if it represents a dynamic object such as a:

  • Application
  • File or bookmark
  • Device

How do I make sure the exceptions show in the menus?
Just patch your application to use gtk-image-menu-item-set-always-show-image

Won’t this slow me down, as icons are so quick to spot?
While it’s true that the eye recognize color very quickly, having both text and image also means more information for the brain to process. It’s also worth to note that text skimming speed for adults is around 400-700 wpm.

by Nilsson at July 23, 2009 06:04 PM

July 20, 2009

Christian Dywan

Menubarless, extended and also on Windows

Heya,

it is once again update time for Midori. Performance of working with multiple windows was
improved. The download dialogue and the Transfer panel were enhanced. An annoying bug
was fixed that rendered Mouse Gestures virtually unusable.

Alt +n now does switch to the n-th tab as asked for by several users. Also a common question
was single instance support, we now have a socket based implementation if libunique is not
available on the system. Another popular question in its own right was using Midori with no
menubar, for which now there is a menu button that appears upon hiding the menubar and
provides features missing from the context menu.
Through two new extensions finally keyboard shortcuts can be edited comfortably and a
toolbar editor makes customizing the toolbar layout a walk in the park.

This is notably the first release that is supported on Win32. A lot of improvements to the build
system and miscellaneous tweaks to handle Win32 specific aspects were implemented. It isn't
quite perfect yet but certainly very usable.

So download midori v0.1.8 (500 kB) (MD5) (ChangeLog) already!
Win32 Binaries: midori Win32 v0.1.8 (7,3 MB)

by nospam@example.com (Christian Dywan) at July 20, 2009 09:25 PM

July 15, 2009

Martyn Russell

Desktop Summit, Lanedo & Imendio and Tracker

Desktop Summit

Wanted to say thank you to everyone at the desktop summit this year. It was superb and it was good to see everyone again!

So it became quite obvious to me at this years desktop summit in Gran Canaria that no one really knows what is going on with regards to Lanedo and my involvement in projects. This is primarily because I haven’t been blogging enough. I have decided to change this.

After speaking to various people (Bastien, Lucas, etc) I was surprised to hear some of the questions about Lanedo. I thought my initial blog covered it. But clearly not.

Lanedo & Imendio

In December 2008, Micke spoke to us all in Imendio and said that he was going to shutdown the company. Of course this came as a huge surprise to everyone given our success over the years and the economic climate was not the reason for his decision. The reason was stress. If I really think back I can see how Micke was trying to change things internally to alleviate this by of-loading some of his responsibility to others. This happened probably for a year or more. In the end, I think it was just too much. Towards the end of Imendio, you could tell how stressed Micke was by his demeanor. Now-a-days, he is much happier and everyone can see the change.

Richard decided to not continue with Imendio too. As such Tim and I (who were effectively internally managing projects at Imendio) decided to start a new company if everyone (except Micke and Richard) wanted to continue. The consensus was that they did, so in January 2009, Lanedo GmbH was formed in Hamburg. We took on some of Imendio’s contracts and now we are continuing the work on our own steam.

Tracker

This year Tracker was in the spotlight somewhat. As a project it was grown considerably in the last 12 months. In the early part of last year, Carlos and I started working on it full time. More and more people got involved like Jürg Billeter, Philip Van Hoof, Ivan Frade and Mikael Ottela. These are the core developers. We refactorred a lot of it to produce the 0.6.9x releases. Jamie has been providing feedback about direction and ideas and doing one of the most important features – the SQLite module we use for Full Text Search (FTS).

About 3-6 months ago, Jürg, Philip and Ivan started looking into the 0.7 work and at the moment Jurg is leading the development there while I maintain bug fixes for the 0.6 branch. Our roles in the project are all quite well defined (I would say at least) and it is a really fun project to work on with some really brilliant people contributing. Right now, this is how it looks:

I handle the File system monitoring, crawling and database connection management. I also do the 0.6.9x releases and have been doing project management in coordination with Urho Konttori.

Carlos maintains the indexing of the data, the extensions (or modules) which know what to do with the data we extract.

Philip works on the thumbnailing and has a really good appetite for creating specifications and working with new technologies to provide ideas about how to improve areas.

Ivan is our ontology guru not to mention he added the GLib unit tests to Tracker which is a huge benefit.

Jürg has been working on completely refactoring the databases and the higher level API that sits on top of them (libtracker-data). Jürg is also leading development the 0.7 (master) branch right now.

Mikael is our extractor expert. Mikael has been improving constantly the MP3/GStreamer/JPEG/etc extractors to get better performance for each release.

ALL of us do general project maintenance it should be added, so we all contribute to each other’s areas. These are also just some of the more noteable areas which we are each involved in. It is a large project and there are a lot of things not mentioned here.

So right now Tracker is looking really good and it is an exciting project to be involved in, especially with Zeitgeist being interested in using it and other components in BOTH desktops too.

I plan to blog much more about features we add, crap we remove, etc.

by mr at July 15, 2009 09:35 AM

June 24, 2009

Sven Herzberg

June 19, 2009

Martyn Russell

Lanedo sponsors GNOME at LinuxTag

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!

by mr at June 19, 2009 03:34 PM

June 17, 2009

Andreas Nilsson

Friends of GNOME postcards

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.

by Nilsson at June 17, 2009 01:10 PM

May 28, 2009

Christian Dywan

Activation, detaching and feed panel

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

May 20, 2009

Andreas Nilsson

blobs of color

I wonder if some of this could give us more of this.

by Nilsson at May 20, 2009 11:53 PM

May 18, 2009

Andreas Nilsson

May 07, 2009

Sven Herzberg

Time, Time Zone and the total mess...

So, I realized that in my toy app all times where off by two hours. I thought »Ha, that's easy.« and now I'm officially surrendering.

I created a quite simple testcase, and even that one tries to tell me that these times are the same:

2009-05-07 12:00:00 +0000
2009-05-07 13:00:00 +0200


So, until now I thought "+0200" means »two hours ahead of UTC«. Why is it supposed to be one nowadays?

So now my questions: Is this Ubuntu Hardy, I'm using here, a total mess? Do I do something wrong? Doesn't this work at all? Why does it keep trying to pretend that these times are the same?

by nospam@example.com (Sven Herzberg) at May 07, 2009 03:34 PM

Time, Time Zone and the total mess...

So, I realized that in my toy app all times where off by two hours. I thought »Ha, that's easy.« and now I'm officially surrendering.

I created a quite simple testcase, and even that one tries to tell me that these times are the same:

2009-05-07 12:00:00 +0000
2009-05-07 13:00:00 +0200


So, until now I thought "+0200" means »two hours ahead of UTC«. Why is it supposed to be one nowadays?

So now my questions: Is this Ubuntu Hardy, I'm using here, a total mess? Do I do something wrong? Doesn't this work at all? Why does it keep trying to pretend that these times are the same?

by nospam@example.com (Sven Herzberg) at May 07, 2009 03:34 PM

Andreas Nilsson

Thunderbird visual refresh on Linux

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:

Main window:
main window

Compose:
compose window

Address book:
address book

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:
distro folder comparision

Please check out a Nightly build and report any issues.

by Nilsson at May 07, 2009 11:42 AM

April 19, 2009

Christian Dywan

Cookies, completion enhancements, clearing data

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

April 16, 2009

Kris Rietveld

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.

by kris at April 16, 2009 08:21 AM

April 13, 2009

Andreas Nilsson

Infographics remix

Cool, it appears MadsRH took my work and remixed it.
Next step, take his work and remix it for the GNOME 3.0 schedule!

by Nilsson at April 13, 2009 09:38 PM

April 09, 2009

Kris Rietveld

Finally BSc. And moved to Amsterdam.

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 ;)

by kris at April 09, 2009 02:29 PM

Tim Janik

09.04.2009 Gtk+ 3 Roadmap Participation

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

by Tim Janik at April 09, 2009 12:41 AM

March 31, 2009

Martyn Russell

Hello World!

Picture of William

William Joseph Russell was born 08:46, March 26th 2009 weighing 8lb 15oz (4.05 kg in new money)

by mr at March 31, 2009 10:19 AM

March 22, 2009

Christian Dywan

Colourful optimizations

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

March 14, 2009

Martyn Russell

The calm before the storm

Baby Coming!

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.

Tracker Release

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.

by mr at March 14, 2009 11:11 AM

March 01, 2009

Christian Dywan

Follow up with a stablish focus

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