KDE

Lancelot alpha 2

Just joking, I haven’t introduced a proper versioning, but the current state could be dubbed as “alpha 2″ (yes, I took the version from amarokers, but have no cute child-knight to show you to compete with their little wolf).

I got a bit of a development boost by Beojan Stanislaus who sent me a patch for a bug in the launcher applet concerning the layout and the size of the icons. After that I just couldn’t stop tinkering with it.

I’ll get into making the configuration interface soon, and then the polishing will begin.

I will skip doing the plug-in system for the first stable release, and will probably not succeed in replacing the current list widgets with a work-in-progress ones that will have real scrollbars and keyboard input support. (yes, Lancelot can not be manipulated by using only the keyboard at the moment, but that *is* the most important feature that I’m planing to add)

P.S. Are there any objections to make the “sections in the panel” instead of “one icon launches the menu with sections inside” as the default?

Response to “Lancelot, KDE and Gnome” (showed in Aaron-colour :) )

Well, this is one of the Aaron-style “explain to the unbelievers why they are wrong”. This is in response to http://blog.kov.eti.br/?p=19 (or you can see the translated version)

Disclaimer: I have nothing against Gnome, I am mentioning it since it was used as a comparison in the original post.

Well, as all trolls on the internet, you have a couple of things obviously not clear to you.

  1. Delusion 1. KDE is vapourware because Lancelot is not finished

    First of all, Lancelot is project in the late phase of development (like amarok2) - usable but not finished. See the definition of vapourware if you don’t see where you are mistaken.

    And, not to mention, that Lancelot was not intended to be a part of KDE’s base packages. It’s like saying that Gnome is vapourware because Gimmie is not finished.

  2. Delusion 2. KDE is copying Windows (again, example is Lancelot)

    Well, as I see it, you either haven’t used the Windows’ menu, or you haven’t used Lancelot (I bet on the later). Apart from being a /menu/, what are the similarities? Comparing Lancelot to Kickoff or Gimmie (for Gnome) would be more accurate… although still incorrect.

    Besides Lancelot’s “copying” Windows what arguments do you have that other parts of KDE’s desktop are copying it?

  3. Delusion 3. KDE stopped focussing on the desktop, and went to develop frameworks

    Developing a complete desktop environment (with a lot more high quality applications than Gnome has for instance) have to begin with building a solid set of frameworks so that later development of actual applications would be easier, and that applications reach new levels of integration. (compare the so called Gnome Office with KOffice)

    KDE 4.0 had most of the frameworks finished, and 4.1 is being built on that. If you are saying that KDE is still ignoring the desktop after the improvements in Plasma that will be in 4.1, than you’re either blind or just don’t want to see.

Conclusion: I was hoping that Aaron will be the only one that has to deal with persons like you, but, apparently (and unfortunately), I was not right.

Missed the 4.1 train

Still not there

It is time to admit it - Lancelot will not be ready for 4.1. (like you didn’t see that coming)

I know I promised that it will be in a working shape by 4.o, and finished for 4.1, but there were a couple of obstacles for that goal.

  • First, there is the fact that Decibel and Akonadi are not finished yet so Lancelot is not able to show the Contacts section. This was the main reason L was not released for 4.o, and still is a show-stopper. Unfortunately it is not the only one.
  • Another thing are the problems introduced by the migration to WoC. It took me a lot of time to port everything to /new Plasma/ and there still are some glitches (mostly in the applet, not in the application) that I’m trying to fix.

Well, that is really all…

So, where are we?

The current state of L is not at all that bad when I come to think of it. I have started using it as my main ALI again, and I even use it instead of KRunner for most of the time. Most of the things that worked before WoC transition, work now as well - the application browser, system and documents sections and the KRunner integration.

Lancelot 4.1 State

(Currently) Known issues

  • It crashes sometimes when browsing through the applications - currently under investigation
  • It is uglier than before (lowest priority problem at the moment)
  • It is not configurable (except for applet)
  • Contacts section doesn’t work - under construction
  • Slowness
  • Smaller easily fixable problems

Kopete contacts in Lancelot

Although my intention was not to make the Contacts section for 4.1 (that is to disable it) and to wait for Telepathy and Akonadi to be integrated into KDE PIM, I just couldn’t wait.

Kopete contacts

Lancelot now shows on-line contacts from Kopete, altogether with contact pictures. Unfortunately, the D-Bus interface to Kopete is underpowered so the list updating is pooling-based. Alternative would be to make a Lancelot plug-in for Kopete, but that will have to wait for post-4.1 period (if the need for that remains).

No other IM applications are going to be supported for the time being. I intend to make the IM connections pluggable… but it will not be done for 4.1.

The next step will be to populate the left side of the window with e-mail related stuff such as unread messages from KMail.

Back on track (Lancelot)

Well, I confess that I could be called lazy and all, since there is not that much visible progress in Lancelot’s world. But I have a couple of excuses:

  • Exams. Unfortunately, I have obligations beside KDE, Plasma and Lancelot. If somebody would like to pay me to do KDE work, I would gladly accept. :)
  • Plasma breakage. As you probably know, Plasma went through API review and conversion to WoC. So, that had to be done for Lancelot as well. And it was quite painful since Lancelot is based on completely custom-made widgets (now in a separate liblancelot library).

So, enough complaining and excuses, Lancelot is now again in buildable state, and more importantly, in a screenshottable state:
Lancelot WoC
(the wallpaper atm is from NetBeans projet’s website).

The news include:

  • PUCK: Improvements to PUCK (Plasma UI Compiler) which now has an automatic module generator for custom classes. It parses the class definition and generates Python modules for PUCK (most Lancelot modules for PUCK are generated using this).
  • libLancelot: The backgrounds for all widgets are based on SvgPanel.
  • Lancelot launcher applet: The main applet is rewritten, and it has a few glitches at the moment. The configuration is now complying with the new Plasma’s configuration framework.
  • Lancelot menu: Have I mentioned that it is screenshottable? Nothing more than that ATM.

That’s all for today. Cheerio!

Site for Lancelot and status update

I was a bit jealous when I saw the Raptor menu’s site, so I decided that Lancelot needed one too. While compiling the latest KDE (and Plasma) from SVN I had nothing better to do than web design. The result is available right here. It is not finished yet - documentation and screenshots are missing, but I intend to make it more comprehensive in the future - along with the new developments in the world of L. So to repeat, the address of the site is http://lancelot.fomentgroup.org

The split

The latest development before the Big Plasma Breakage (or as some call it ‘the transition to Widgets on Canvas’) was that the Lancelot is now divided into two main parts - the application and applets on one side, and the liblancelot library on the other. The library contains the base framework including advanced Plasma widgets and layouts. It is in a very experimental state at the moment, and it is not advised for anyone to use it outside of Lancelot. The API compatibility is being broken every week at the moment, but at some point it will stabilise (sometime around KDE 4.2 or 4.3).

WoC

Plasma is becoming stable enough (API-wise) and now it is Lancelot’s turn to reach the Big Breakage. Or to be more precise, it currently is in it’s Big Brekage state, but needs to get out of it. Since there are quite a few things that need to be changed, I have decided to do a bit more, so a couple of old widgets are being reimplemented from scratch to be more flexible and reusable (most notable example is that the old list widget is being split into ScrollBar, ScrollPane and List).

That’s all for now, I’ll ping you all again when the library becomes compilable in all its glory.

Lancelot and resize feedback

First of all, Lancelot can be resized from now on. Just like any other window - drag any edge or corner, and you’ll change it’s size.

But that is not the main reason behind my blogging about this. Since Lancelot /is/ a ground for experiments, here’s another one.

Instead of just changing the mouse cursor when you reach one of the edges to one of the resize cursors, you get a more notifiable feedback - the color of the border changes as well. Since a screenshot is worth hundred lines of code… here it is:

The highlight will be themable.

Resize feedback

Lancelot applet close to finish

Just to show that there /is/ something happening with Lancelot, here is the new configuration interface for the Lancelot applet (just for the launching applet - not the application itself)

The applet is mostly finished (feature-wise).

It can be vertical (if in a vertical panel) or horizontal (default - on desktop or horizontal panel). It now scales as it should so you will not get it taking 50% of your panel…

The icon can be customized (unlike the current menus in 4.0 - both use KDE logo as icon)…

Lancelot Launcher Config

There still are a few glitches - or to say crashes :) - while applying the configuration on a working applet, but that will be fixed soon.

Lancelot not for 4.o

Due to a lot of SPAM pingbacks waiting for moderation, I have realized that I haven’t posted anything for a long time.

So, what is happening?

Unfortunately not much. At the moment, I have to prepare my exams, and therefore I don’t have enough time to prepare Lancelot for 4.o even in the state I wanted it to be.

This maybe is even a good thing. Lancelot was supposed to be useful for 4.o, but without most of the advanced features and reconfigurability. I suppose that I would get a vast amount of feature requests that I already planned to have in the future. Besides that, people would probably be turned off of Lancelot and would never give it a second chance.

FlipLayout

Some things /are/ done which were planned for 4.1. The latest is rearranging the items… or to call it flipping.

The thing that is responsible for rearranging is the FlipLayout which is a meta-layout that is able to use any other layout for the actual item arranging, but flips it horizontally, vertically or both.

Here is an example of creating the layout:


layoutMain =
    new Lancelot::FlipLayout
        < Plasma::BorderLayout >
    ();

And this is everything you needed to do. The FlipLayout is a drop-in replacement for any other layout so the only change you need to make to your code to add the flip support is to replace YourLayout with Lancelot::FlipLayout < YourLayout > - and that’s it.

Note: as you can see, the FlipLayout is in Lancelot’s namespace - it is not in libplasma. If you would like it to be in libplasma, just ask…

Lancelot’s near future…

There are a couple of things under way in the world of the Knights of Kamelot

Lancelot’s future

Instead of doing the application browsing (which I should really start doing soon) I did something that was more fun (just like the last time with composite…).

Well, at least it seamed more fun before I started doing it - it was a real pain to do.

Lancelot’s parts on the desktop

Aaron expressed a wish about having the Lancelot itself embeddable into desktop as an applet (not only the launching button, but the whole Lancelot). At first I said no because I have made a couple of strange decisions while doing the low-level Lancelot stuff with purpose of overcoming a couple of strange decisions in Plasma’s design and in QGraphicsView. (I relied heavily on having just one instance of Lancelot at a time and made more than a couple of things to be static/singleton…)

So after painful and slow reorganization, all of that is moved to Lancelot::Instance… and now it works… when you know how to use it. Fortunately, I made it so I [still] know how to use it… The result of that can be seen on the left part of the screenshot. It is the Places list from Lancelot’s window placed onto the Plasma’s desktop. The aim is to be able to drag-n-drop parts of the Lancelot UI onto the desktop.

Alternative, smaller UI

The second thing that started to appear is alternative UI for the menu. You remember the old one where you had a button that invokes the menu, and inside the menu, there were section buttons?

Well, this is similar except that if you have enough space on your panel (or in the case of the screenshot, on the desktop) you can configure the applet to show the section buttons, and then they are not shown inside the menu.

The old UI will be the default one.

Slowing down the pace

I’m aware that I’m drifting away from the main things that need to be done. The things are going to get even worse because my exams are coming closer :(… So don’t expect this pace of updates in the following few weeks…

p.s. I’m very sleepy right now, so the post is… well… boring?… sorry for that…

« Previous PageNext Page »
Powered by WordPress
Copyright by Ivan Čukić, Foment Group