Tag Archives: kde4

Plasma and KWin

Software

Those are not radically new features, but rather a refinement of what it was available in KDE Plasma Desktop 4.3

When the mouse cursor is over a task, the corresponding window gets highlighted (dimming all the others), this works for groups too, highlighting the goup’s windows. This was already available in 4.3, but it’s works in a way more reliable way now.

What’s new is that now moving the mouse cursor over the taskbar tooltips triggers the highlight effect too, useful to quickly pick a window from a group, since the thumbnails are now clickable too, activating the proper window.

Another new and very useful feature (even if a bit “hidden”), is seen around the middle of the video: if you click on a task group with Ctrl pressed, it doesn’t open the usual popup menu, but it triggers the present windows effect, giving you a fullscreen chooser of the group windows

Tasks should have text or not? The text in the taskbar is a really important disambiguation, so should always be shown when possible. but in some cases it’s just messy because there is not enough room. so now with vertical tiny taskbars or when there are really many tasks the text is authomatically disabled and enabled as soon as possible.

OGG version

Kdenlive

BlaBla

For the last screencasts I had to do, I needed some tool were it’s easy to cut little pieces of various short movie files and that could have let me to assemble them togeher, maybe with some simple not too heavy transition effects.

I have tried some apps that promised that, but in the past i never had much luck. Cinelerra and Blender uis are simply painful, kino is just linear, pitivi doesn’t have any transition effect, lives insists to convert each movie frame in a separate png…

Now Kdenlive… in the past i never had much luck with that either, it was way too crashy to actually be able to get some work done with it… but some days ago I tried to compile Kdenlive from subversion…

And oh boy, everything is sooo right. I could do all the work in really short time, not a single crash, seeking frame by frame is really fast and using it is really easy.

Kdenlive is the exact balance between an easy to use app and one powerful enough (the interface could look a bit busy at a first glance, but is really simple and trivial compared to tools like Premiere, Vegas or Final cut)

I think it’s an application that really shows what the KDE development platform can do, because is something that is really unmatched in the Linux desktop, if you think the current version is still unstable and a bit impractical give a shoot at the next one as soon as will be out, it will shine!

Since it seems nowdays I can’t finish an entry without a screencast, here it is s quick and dirty “making of” of the Plasma multitouch video, well not actually that one, but shows how fast is possible to create a simple montage.

OGG version

Multitouch screencast overload

Software

Going a bit more deeply on how KDE SC 4.4 will support multitouch, here are 3 longer videos:

The first one shows marble. Is now possible (with the usual disclaimer on devices and systems that support it, hoping it will become a more pervasive feature) to zoom the earth with a two fingers gesture, making a retty natural interacion

OGG version

The second one shows Plasma: it’s possible to move, resize and rotate the widgets with two fingers, making them a bit more “real objects”. Another place of Plasma that supports multitouch is the “Blackboard” widget (painting with two fingers simultaneously ftv) and all the animated scroll widgets, such as the one used in the microblogging plasmoid and in the netbook and the webkit based widget.

OGG version

The last one shows in detail the Webbrowser widget, in particular two fingers scrolling (note that is still possible to select text with a single finger, while scrolling with two) and pinch zoom with two fingers again, all correctly maped to any transformation the widget can have.

OGG version

Cuteness 4.6

Software

Qt 4.6 has been released yay!

A while ago i received from Nokia a cute Dell Latitude Xt2 multitouch tablet pc, to produce some demos of a really really nice new feature of Qt 4.6: multitouch.

Qt provides two ways to acessing multitouch: one more abstract, where the type of gesture and direction of fingers movement already “parsed” so you already know if the user wants to zoom, scroll or rotate, that’s QGesture that’s useful to control for instance scrolling and zooming in a web browser.

If you want instead something more raw, the position of every finger now and on the last sampling, you have instead QTouchEvent. That’s useful if you want for instace paint with multiple fingers on a paint program or want implement some weird type of gesture not provided as stock. oh, and no It’s a rather different (and more simple) concept compared to Multi pointer X, since is a single event with multiple positions, rather than multiple simultaneous events.

So I tought that in KDE we have soe things that would make as an impressive demo with multitouch, so why not give it a try with Marble and Plasma :). So that’s the result (thanks to the trolls for the final edit):

This OGG version, unfortunately this is only a “raw” version, without music and titles, but gives the idea

It will be supported in KDE 4.4. Th only catch is that right now X11 doesn’t support it (..yet:p), so just as a tech demo will be possible to try it on the windows and mac builds of KDE

A brief notification

Software

Brrr! the trunk is frozen

The bug hunting and stabilization period is starting to pay off. Those days I’ve taken the systemtray and the notification system as a target and started hammering on it…

The target were mosty two

  • Slash the count of bugs related to notifications… and 13 were closed, other 13 remains, most of them can be probably be closed as well, just need to wait and see how the last patches behave in the various situations.
  • Refine and take into shape a neat little feature entred just 2 days before te freeze, that by itself closes several bugs too.

So, what it is? sometimes notifications pop up when the pc is unattended, sometimes is something not important at all and if it gets lost in oblivion who cares, sometimes it could be quite important, for instace somebody on IM attempted to contact you and now he is offline, maybe it’s the case to write him/her an email uh?

Now notifications, while they behave exactly as before, being displayed for a short time and then disappearing, they are also “archived” for a short time (varying depending if the pc is used or not) and they are separed by application, so it’s easy to look inside all the old notifications of kopete for instace.

new notifications

This screenshot shows the notifications popup of the systemtray opened: the user asked to see all the kopete notifications, so only them are visible, even tough there were some from kmail too.

Is not the first time the user switches to the kopete notifications: the oldest two were already present the time before, so now they appear “collapsed”, while the newest ones are open.

Multitouch, a preview

Software

Since I saw Plasma for the first time, I immediately imagined it as something really organic, where you can manipulate the objects on the canvas like one would do with real objects, just grab them with one or two hands and move them, rotate them, stretch them to make them fit as you like.

Now Qt 4.6 among a ton of new features has really qute multitouch capabilities, and made this possible, here is a sneak peek:

Won’t say more for now, more on that later :p

I did the first part of the video, than the trolls put some pepper into it (love the epic music :p)

Subtle moving

Software

another quick micro thing that will be in Plasma for KDE 4.4: until now, the taskbar items appeared and disappeared “magically” and when a task disappeared between other two, every task immediately disappeared from where it was, appearing in the proper place. That is sooo computer behaviour, one of the little things that makes computer to look innatural and scary…

Until now 🙂

OGG version

This is made really easy by the new Qt 4.6 animations framework, and for now there will be just a little taste of things like that, then with Qt 4.7 this will become almost automagic, since it’ll support animated layouts natively

Another Plasma netbook screencast

Software

Another screencast of yours truly: this shows the Plasma netbook shell running on a bog standard Asus EeePc 1005Ha.

It can be seen the new neat animations of the search and launch interface when results are loaded. What’s neat is that it seems to run quite well on this pretty basic hardware and animations are just as smooth as they should be 🙂

OGG version

Flicking around

Software

For KDE 4.4, we’re giving a bit of touchscreen friendliness around Plasma, a thing common on touchscreen based uis is the so called flick lists and scroll views. They can be web browsers, simle item views, image explorers and so on.

You just touch (or drag with the mouse, it’s not limited to touchscreens of course) a random point of the view, drag it a bit, release and the contents will be launched with a neat animaton effect, with a resembrance of something real.

In Plasma, if you use the ScrollView widget you’ll get that for free, and if the item view contains some sub widget that wants to listend to mouse clicks as well, is sufficient to call the function ScrollView::registerAsDragHandle(QGraphicsWidget *), with some eventfilter magic, the element registered will still react to mouse click, but will pass them to the view as well. An example of this is the icon view of the Plasma netbook shell: if you click on an application icon it will launch the application, but if you press the mouse over one, move it and release, the application pointed from that icon won’t be launched, instead all the icon view will scroll and will still scroll for a while if the mouse moved over a certain speed.

There is a small video that show this behaviour over several plasmoids: the web browser, the microblog, the OpenDesktop knowledge base client and the Search and Launch interface of the netbook shell.


Ogg version

The WebView widget will behave like that as well, and if you implement a custom one and you want that behaviour -for free-, you just have to call Plasma::Animator::self()->registerScrollingManager(yourwidget), and provided you gave the proper Q_PROPERTY to your widget, all the magic will be done behind the scenes. The properties you’ll need are:

  • scrollPosition: the position in pixels of the contents relative to the viewport
  • contentsSize: the size of the contents: for instance an image could be 1680×1050 pixels big, even if the widget that is vieweing it is just 200×200
  • viewportGeometry: the actual viewport of the contents could be the bounfingRect() of the main widget or could even be something smaller: for instance excluding the area taken up by the scrollbars, if present.

Easier Plasma themes creation

Graphics

One pretty long task of plasma themes is to manually rename all the SVG sub elements with the proper names. Let’s say we want to theme a button, we will need a SVG file with the following elements: normal-top, normal-topleft, normal-left, normal-bottomleft, normal-bottom, normal-bottomright, normal-right, normal-topright and normal-center.

This is for the button in normal status, then you need the same thing with active-, pressed- and focus- prefixes

This makes Plasma themes quite powerful (and always looking pixel perfect) but it’s quite fainful to rename over a hundred of elements by hand

Since usually the themes are designed in inkscape and it has a pretty neat system to write plugins in python, i’ve decided to write a little extension that eases the ain a lot: if you select 9 elements it will rename them with the usual topleft, left, top etc names, with an optional prefix asked by a dialog. If you select 4 items, it will instead rename them as hint-top-margin, hint-left-margin etc.

The extension is located at this address, to use it you have to copy those 2 files in the ~/.inkscape/extensions folder.

Unfortunately it requires a recent snapshot of inkscape 0.47, since the python scripts used have some bugs.

As usual a video is worth 1024 words 🙂

Ogg version