Rather than blog about Morocco (which I will do once I've processed the experiences a little more) or Plasma Active, I want to catch people up with what's coming in Plasma Workspaces 4.8.
Screen Locking
Screen locking has been moved into the KWin window manager. We did this to improve security, performance, X11 independence and the overall look and feel of things.
The security improvement comes from the fact that since the window manager, which is responsible for placing windows and when in compositing mode even making sure they appear at all on screen, now knows about the locker window it can ensure that no windows or glimpses of the desktop ever happen 100% of the time, something we could not achieve reliable elsewise.
The performance improvement comes from the window manager knowing when things are locked (and not). When locked, the compositor can simply not paint anything else but the lock screen, simplifying things a lot in the locked case.
The X11 independence and look and feel improvements come from supporting QtQuick (read: QML) for the lock screen. This allows us to provide non-password based systems (think: touch screen device friendliness) and simplify the interaction between what is being shown and the unlock mechanism significantly (limiting maintenane costs and eliminating bugs). It also allows us to simply make things that look better. Plasma Active uses this to provide a very beautiful lock screen that blends with the rest of the system and shows the current time along with a simple swipe-to-unlock gesture.
The X Screensavers are not supported with the QML lock screens due to the design of X Screensavers, which dates back to 1992 when things were a little different. QML gives us a huge amount of flexibility, however, and the opportunity to create things that are as good and better than what X Screensavers offered. (QML will support OpenGL shaders, at which point possibilities really open up wildly.) We surveyed our users first before making this change, and there was overwhelming support for the benefit/cost involved in this change.
QtQuick Splash Screens
A new splash screen implementation that uses QtQuick has also been added, thanks to the efforts of Ivan and Marco. It loads QtQuick, which implies Qt, so can not be as performant as the very small and slim tool that Lubos coded for the KDE desktop in the past. However, in our tests, the user experience is not diminished in the least by the difference and the ksplashx option remains and in fact is, in Plasma Desktop 4.8, still the default.
Just as with the lock screen changes, this gives us the ability to deliver visuals that are more beautiful, more flexible and easier to change. The start up splash in Plasma Active uses this new splash screen facility and it looks beautiful. The ability to add animations and position the images and other information on screen completely freely really opens up the field here.
Right now, we do not have documentation on Techbase for this new addition but if one looks in kde-workspace/ksplash/ksplashqml/themes it becomes very apparent. Writing a small tutorial would be an awesome way to give something back to the community that doesn't involve coding. Hint, hint ;)
Input Method Panel
The KDE Input Method Panel, aka "kimpanel", got a complete and much needed rewrite for the 4.8 release. It has a nice separation between visualization and logic, using the standard Plasma approach of Applet and DataEngine. It resolves many long-standing issues, has simpler code and a very active maintainer in Weng Xuetian.
On-screen Keyboard
Speaking of input, the on-screen keyboard has seen numerous improvements in terms of bug fixes and performance, some of which take performance from "sort of acceptable" to "so fast you don't notice its doing something anymore". There isn't much here that is user visible other than "it works better". For the next release, we plan to offer support for integrated layout switching, quick access to accented characters and more X11 independence.
Taskbars, Docks and libtaskmanager
We are in the middle of merging the improvements to libtaskmanager from Craig Drummond's Icon Tasks Plasmoid. Icon Tasks itself will end up in the Plasma Addons repository (kdeplasma-addons) as well. This means much improved support for launchers, nicer context menus, a few new features and a number of bug fixes. It's a very significant effort as Craig's fork was quite large: 2639 lines covering 30 files. Seeing as the library is only 6,300 LOC, that's a significant set of changes.
We also managed to track down and squash, though many heroic hours by Alex Fiestas and others, several of the last very visible bugs in the tasks widget and libtaskmanager. Things like the ghost items that would sometimes appear have finally been fixed once and for all. Some fixes exposed problems in Qt itself (in particular: an issue with event loop reference counting whenever inside of x11EventFilter) which we have worked around until proper fixes appear upstream.
Picture of the Day, Picture Frame
This one started quite innocently enough as a patch by Greg T who noticed that the Picture of the Day feature in the Picture Frame Plasmoid caused it to check the picture every two seconds. Wow!
While merging and testing his patch (and the next two he submitted :) a whole number of other issues jumped out at me. Picture of the Day now behaves a lot saner, only waking up at most every five minutes and changing the picture only once it's been on your system for 24 hours (making it your picture of the day, regardless of when it changes on the source server).
While working on this, I realized with a start that there was no wallpaper plugin that used this. I could hardly believe this, and so wrote one while sitting on a train. In Plasma Workspaces 4.8 you can now have a new astronomy, flickr, Wikipedia or other picture on your screen every day. Currently I am using the Wikipedia picture of the day.
Picture of the Day is plugin based, so new picture sources can be easily added. Just as with the new QtQuick splash screen, however, we don't have documentation for this. Looking in kdeplasma-addons/dataengines/potd/ should give a would-be tutorial writer everything they need, however.
This also led to cleaning up a few issues in the Picture Frame, such as not stalling on images that were deleted from disk but just skipping to the next available picture automagically.
Plasma QtComponents
This is a hugely significant addition as it means we now have a full set of QtComponents for use from QtQuick that integrates beautifully with Plasma interfaces. It is the result of Daker's highly successful Summer of Code project, which Marco mentored with patience, care and brilliance. We have also had interest and contributions from people who came by way of the Mer project.
This is a vital step towards even better looking Plasma user interfaces and the ability to step into the OpenGL-driven world of QML2 when we get there.
Documentation is being written and will be available in coming weeks.
QtQuick'd Devices Notifier
Building on the components project, a number of Plasma widgets and other UI pieces are being ported to QtQuick. The first completed one of significance that debuts in 4.8 is the devices notifier, which was part of Viranch's Summer of Code project. To the user, nothing changes except it feels smoother and looks a little nicer. It was a long, long path to get to the point that we could use QtQuick as a better-than-QGraphicsProxyWidgets replacement in Plasma .. but we're there now!
In upcoming releases we will have a new QtQuick battery widget and panel controller, among other shifts. This is part of the strategy I described at the end of last year of not distrubing Plasma Desktop or requiring that we rewrite everything all at once, all in the name of respecting our available development resources and not disrupting the user in the least while still marching towards an all-QtQuick world for Plasma Workspaces.
Control Panels in Plasmoids
By adding a X-Plasma-ConfigPlugins= list entry in the metadesktop.desktop, scripted Plasmoids can now have arbitrary control panels integrated into their settings dialog. It's a small thing, but it allowed the QtQuick devices notifier to be fully realized.
Improved Window Switcher
KWin, in its usual and amazing pace of improvement, also brings a new window switcher UI system that ... wait for it ... uses QtQuick. ;) You can read more about this great work on Martin's blog.
... and so much more
These are just some of the highlights and doesn't really cover the many performance and stability improvements that have also been worked on. Alas, already this blog entry is too long, and dinner becons as well, so I'll leave it here and follow up later with more changes in another entry.
Hopefully this already gives you all the reasons you need to try out the alpha and beta pre-releases when they become available to help us test and make Plasma Workspaces 4.8 the most stellar release yet. :)

19 comments:
Great news!
About "Taskbars, Docks and libtaskmanager", I hope that Icon Task will be by default in KDE to replace the current Task Manager (if or when it's ready and mature)...
...maybe with a new menu\laucher to replace Kickoff...Raptor Menu? Or just a "pop-up" version of Search and Launch? :-)
Awesome work, thank you guys for your work, your the best. :-)
I can't wait till 17.11. This is definetly one of the most interesting Plasma Workspace releases I have personally witnessed with QtQuick and all.
Your Plasma Workspace 4.3 overview screencast brought me to KDE over two years ago (I'm sure that I wasn't the only one). It would be awesome if you could find enough time to do one of those again.
Now this is one impressive report! Nice to see that the regular Plasma desktop does get quite some attention, too.
And while I fully understand that asking you to fix certain bugs in here is not the most polite attitude, I think that you should have a look at this one:
https://bugs.kde.org/show_bug.cgi?id=285596
just because global shortcuts belong to the core features of the KDE desktop, and KRunner product at b.k.o. doesn't seem to receive the most attention (please forgive me for this if it's not true). Though I'm not sure if this is KRunner or Plasma fault, to be honest with you.
Regards,
Ignat Semenov
*blog-error, comment gone, now in short*
Ubuntu's new splash screen uses HTML files as templates. Is there something as easy as that for our new splashscreen? HTML5 and CSS3 would be very cool.
@BartOtten: how is QML any harder than HTML/CSS?
on the flip side, i can tell you how many different ways QML is vastly superior for creating these kinds of interfaces.
one would be easy visual integration with the desktop shell (shared technology) and another would be the vastly easier positioning (anchor layouts, anyone?), animation and access to things like OpenGL QML provides.
all without having to load an entire HTML/CSS rendering engine.
compared to QML, HTML/CSS is a very poor solution for this problem.
Don't forget about solid workspace work, new bluedevil with virtually 0 crashes, awesome networking support, power devil activities integration etc...
@BartOtten: and everyone else suggesting html for the desktop:
Please order your `top` for memory usage and notice that chromium and firefox are costantly the bigger users of memory in the system.
They easily supass the GB!
So please leave that memory hungry beast outside of my desktop.
Agreed - qml is suffice the desktop. I don't see why html would be better than that. But anyway...
I hope the default user experience changes a bit, like some other here anready mentioned. A kickoff replacement would be cool. Or that Icon-thing for the task manager. Or the cool activity switcher from Plasma active. Or what about a Gnome-shell-like interface.
What I want to say is that some fresh air on the desktop would be cool. I think plasma desktop is a bit dated from its feel.
Great work, it seems this will be an awesome release.
I think that porting plasmoids to qml is the perfect opportunity to keep attention in this:http://www.sharpley.org.uk/node/23
@burke: I agree the desktop needs a bit more ui cleaning and polishing,
some things that would be nice to have:
1- A better launcher menu, more search oriented, and with icon view instead of list view.
also better performance and animations (qml here would rock)
2- Cleaning the default panel, compared to other desktops kde panel is a bit too over populated, It would be nice to separate window management from other panel items, gnome has a special screen, mac/unity has a dock. There should be a better solution for kde.
For me a good for kde would be to join launchers, taskbar and systray under a dock, like windows 7.
Another good one would be a window switcher that behaves like the plasma active activity switcher.
@All: I did not mean to say "Let's use HTML!", hoever I was in short time to explain. I just want theming made easier. As QML provides that I am very happy :D
Regards,
Bart
Utterly amazing. Can't wait to use this, thanks to all involved!
I'm extremely excited about these new features. 4.8 seems like it may be the best release yet. I really want to help test, and I intend to, as long as my distribution ships the Alpha's. I'll do what I can to help make this the most stable release ever. I look forward to hopefuly testing!
I may have to temporarily switch to Kubuntu in order to test because I highly doubt Arch will offer the alpha packages without my having to install the entire testing branch.
I'm so excited by all these improvements! The "QML for all" part is really exciting, because it will allow people to create whole themes including a KDM theme, a splash theme, a window switcher theme, ... using only 1 language: QML. I can't wait for 4.8!!!
@people who want a new launcher: maybe AppMenu QML (http://kde-apps.org/content/show.php/AppMenu+QML?content=146098) is something for you ;-) (sorry for the shameless advertisement of my own work).
Cant wait for the final release :D
Keep on going!!!
-----
Regards HTML5/CSS3 buzz
The only benefit, as far as I know, over QML is the amount of great tutorials with tips and tricks.
Creating a working hello-world based web project takes like 0.5h for total newbie. For QML its way more.
Getting an Suse Studio based image with all development environment setup up (of course running 4.8) with some demos on the home folder would mean a lot.
Also some tutorials talking how to do things in QML compared to HTML side by side would help to adapt for anyone, who primary works with HTML. Its too easy to became a hater of great technology, if you misuse it :/
Why digital world has gone worse?
HTML is meant to be write layouts for WWW sites, not to applications or any other function.
CSS is meant to be write cascade style sheets for WWW sites, not to applications or other UI styles.
Javascript is meant to extend features in WWW sites, not to write applications or anything else.
Now stupid {yes, stupid!} developers are using technologies what were never even designed to be used like stupid developerds want to use them.
WWW-browser have become as operating system and we have started to develop more complex WWW-sites than really is needed or wanted and we have even started to make WWW-sites what runs own browsers. So we have Operating System running all software, including WWW-browser what runs WWW-site what runs WWW-browser.
Where the @#%@@ world is going next because stupid developers?
Hi Aaron. I have been using icontasks 0.9 on kde 4.7.3 with indicators on, and i noticed that when you run programs like amarok or jdownloader for a while and then you close this programs they go to the tray and you have to go to the tray and close from there. The problem is that for the indicators is like this programs were closed, they don't indicate nothing but program is still running. I think this could confuse users of kde 4.8.
Here is smallvideo with QtQuick/KDE 4.8 : http://santyago.pl/blog/read/2011/11/08/kde-4-8-git-2011-11-07.html
KDE is getting so f**(sorry for expression) awesome!
AS a new splashcreen will be available maybe a new splash screen configuration will be needed as well and this could be fixed: http://forum.kde.org/brainstorm.php#idea96374_page1
Post a Comment