So, since Air is coming along nicely (thanks Nuno), it was the time to make the files Lancelot needs for it. Although there are a few things yet to do, I’m quite satisfied with it. I’m even using Air as my Plasma theme now.
Scroll-bars
The second thing that all theme makers that support Lancelot should know, is that Lancelot now uses Plasma’s scroll-bars. So, you don’t need to make files for scroll-bars anymore.
Keyboard support
Lancelot in KDE 4.2 introduced keyboard support. Now it is taken even further - now you can do /anything/ in L by using only the keyboard. The section and system buttons now can be accessed through standard accelerators (Alt + the underlined letter). For opening the context menu for an item in the menu, select it and press Alt+Enter.
KRunner actions
As you should already know, runners can now support various actions for results. You can access them in Lancelot via a context menu. Well, that was the good news, the bad is that I know not of any runner that provides any special actions. :(
Other things
There is now a logging system that remembers applications you launch, what you search for etc. Some new configuration options are also present, and the parts applet works better. There are probably other changes, but I can not remember them at the moment. :)
OK, it is now safe to write this post. The April 1st has passed, and now all of us (except the Onion news authors, obviously) are returning to the every-day reality.
Unfortunately, I don’t have enough time lately to do anything serious, so I’ve tackled the multi-process web browser that I have mentioned last time.
It received some standard web-browsing features such as loading a page when you type the address in the address bar, and similar :)
But that’s not the reason behind writing this this post. You know how Firefox and Konqueror ask you whether you want to restore your last session after a crash? Well, it is a good feature, but I’ve got one even better.
When a site makes an illegal move, and induces a crash in QtWebKit, instead of crashing the whole application (like in most other browsers), it only closes the tab it belongs to. OK, that’s not new. The new thing is that I’ve ported a notification system that I made some time ago for another application, so that when a tab is lost, it can be recovered very easily - just click ‘Reopen’ (see the screenshot).
I haven’t used KDE’s system wide notifications since I wanted to make them local (there’s no point in bogging the system notifications with things like these).
The next step will be to implement more advanced, but still standard browsing features. The smart address bar will be one of the first. It could probably end up in Konqueror and Rekonq eventually. (Nepomuk tags for bookmarks…)
Since Raptor is coming slower than we are hoping, I decided to give you all a preview of what it will behave like.
Starting with the revision r945664, you’ll be able to see all the glory of the Raptor mode for Lancelot.
This is probably the last feature that will be introduced in Lancelot for KDE 4.3. I’m not sure about the category buttons on top, because they don’t really have a purpose now, and the no-click paradigm doesn’t really work in Raptor mode, but it is still retained as an option.
There are some layout problems, but those will be fixed in time for 4.3.
I hope you’ll like it. If you want to test it before 4.3, just compile the SVN trunk.
I was wondering how hard would it be to create a web-browser that is, like Google’s Chrome, separated in different processes for different tabs. You know, the whole “security problems and crashing are restrained to single tab” thing.
As it turned out, it is not all that difficult. Create the main window, start the WebKit (QWebView) in another program, then X-Embed the later in the former, and communicate via D-Bus. (I got the idea to do this from Embed Window plasmoid :) )
If the child crashes, only one tab is gone. If the main application crashes, tabs become independent windows.
I’m not sure whether I’ll continue to work on this, but if I find the time, you could see a Rekonq-based (http://rekonq.sourceforge.net/) browser that is similar to Chrome someday.