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…
There are a couple of things under way in the world of the Knights of Kamelot
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…
First of all, don’t sweat about the uglyfication of Lancelot’s theme in this screenshot. This was made just for testing purposes.
I am aware that this is the ugliest screenshot I’ve ever made, but I don’t care - it fits it’s purpose.
It demonstrates:
Compositing - Yes, Lancelot now has true transparency thanks to Siraj’s QtDisplay class made for Raptor (I love free/libre software).
Plasma’s applets - And, the second thing, Lancelot can load Plasma applets. Don’t know what’s the purpose of that, but it’s so awsome! :)
If you have read the commit digest feature of Lancelot, you know that these features were meant for 4.1, and not to be made right now. But, I get easily distracted from the main job by these small things.
The thing that will probably miss 4.0 although I was counting on it is the “Contacts” section. Most of the features related to it depend on the progress of Akonadi.