You are using an obsolete web browser, or you have the page styles (CSS) disabled. You'll be able to access this site, but only a visually simplified version.

Encryption in KDE SC

Security in activities

There is something that a few people here and there have been requesting – having some automatic (UI) way to create encrypted folders to keep their sensitive data in.

The thing I’m going to talk about today is exactly that – starting with KDE SC 4.9 you’ll be able to decide to encrypt specific activities. When you do that, you’ll get a ~/Activities/Something folder that is password protected and encrypted using fuse/encfs.

The encryption/decription process will be done automatically on activity switching.

For example, lets say you have two activities – Leisure and MI5 – with the latter being an encrypted activity. When you switch to the MI5 activity, you’ll be asked for its password and you’ll be able to access the data. When you switch back to the Leisure activity, the system for the previous one will be automatically unmounted.

Plasma Active Three

One of the reasons behind this new feature is PA3. You’ll have a portable device that can be stolen, that could be used by your children (while being single-user) for fun etc. and you don’t want some data to be visible to them.

In the case of PA, since there is no file manager and we don’t want to expose the file-system to the user, every document that you link to the activity will be automatically moved to the encrypted folder.

Drawbacks

There are a couple features that will stop working with encrypted activities – you will not be able to search encrypted documents by contents since the contents will not be indexed by nepomuk, and documents will not be able to belong to multiple activities if one of them is encrypted.

Start Active

Not for the weak-hearted

My blog has been rather empty lately. It’s not because I haven’t had anything to report, but due to the fact that many things have happened and all sorts of cool things in Plasma Active’s “Activity world” started appearing that I didn’t have the time to write about them.

Today, I’m going to write about one of the smallest things I’ve done lately that will change the world :)

startkde

startkde script had served us quite well for a long time now, and it is still the best way to start your Plasma session. But it has some downsides that we needed fixed in Plasma Active, and some features that Plasma Active doesn’t need.

So, this post is about an alternative approach to start Plasma, a new application called startactive. It is *NOT* a replacement of startkde, but an alternative. Meaning that it doesn’t do all the things startkde does, while it does some work that startkde doesn’t.

The design

The main goal of startactive’s design was to create a dependency-based system that starts various workspace components.

You can see the dependencies of various systems that startactive invokes in the following graph.

Dependency graph

The blue items are meta-modules – they don’t start anything but they make it possible to keep the organization manageable.

Waiting and starting

The system starts all the free modules (modules that don’t depend on anything) at the same time (makes a nice performance boost on both single and multi-core systems), and then waits for some of them to finish until a new module becomes free. When it does, it is automatically started.

There are two ways to see when a dependency has finished its job – 1st – the usual – wait for the process to finish; and 2nd – wait for the program to register its D-Bus service. (org.kde.nepomuk.services.nepomukqueryservice for Nepomuk, org.kde.plasma-desktop for regular Plasma etc.).

Splash screen

Now, when you’re making something that doesn’t need to provide any compatibility with existing systems, you have the freedom to do the things as you see fit. So, I felt free to abandon the old splash screen engines that KDE Workspace used, but to focus only on the QML one I blogged about some time ago. It is now run in-process avoiding dirty ways of communication via X-events and such.

The missing features

startkde does a lot of things, from the initialization of the user’s .kde directory, to fonts, mouse cursors etc.

startactive doesn’t for one simple reason – all of that should be already set up on your Plasma device. All environment variables, Qt plugin locations, directory infrastructure…

Don’t try it

The code is currently located in kde:scratch/ivan/startactive and you shouldn’t use it. Unless you are a really brave soul who doesn’t care if startactive jumps out of the system and start killing kittens in your neighbourhood.

For me, it killed only two older felines, and now it has returned and manages my system with only a few smaller issues. So, if you are brave enough, then continue reading.

To test, you’ll first need to compile it and install with the same prefix as the rest of your kde system, which in turn needs to be in your PATH. Otherwise it will not work.

Then, you’ll need to adapt the module files to fit your setup and finally start the application in an empty X session.

An ordinary startactive will do – it will, by default, start the plasma active module, but if you want to run a desktop session, and change the splash screen theme, you can do something like this:

startactive --modules desktop --splash somethemename

Missing modules

If you notice that something is not started while it should, ping me here or on IRC and tell me about it.

Activity templates and security

Tokamak5 Logo

So, as you all should already know, Tokamak 5 (plasma developer sprint) is in progress. The main desktop-related thing I’ve been working on last two days was presenting a few chosen activity templates as if those were real.

What does this mean? That you’ll see a couple of activities in your activity bar that don’t really exist. This was done, along some other stuff, to promote the activities a bit more.

Activity template

Currently, as far as I know (as usual, I’m the backend guy and have no clue what will end up in the release for the user to see :) ) the only one /fake/ activity you’ll see is the ‘Photos activity’. It is meant for something that we all enjoy – managing our photo collections.

Before you start arguing that you don’t want to see a bunch of templates in your list of activities, this affects only the defaults – you can easily remove them like any other activity – click the red ‘x’ and you’re done.

Running applications

Apart from defining the widgets layout, templates are now able even to start applications. In the case of the ‘Photos’ activity, it will start Digikam and Gwenview.

Since the templates can be downloaded via GHNS (from kde-look and similar sites), automatic execution of apps is rather dangerous, so you’ll be asked for the confirmation on which programs to run.

You can see what it looks like in the screenshot above. Recognized desktop applications are presented with their names and icons, and are automatically selected. While other programs (like in this case ‘rm’) will have a warning icon in front and will be automatically deselected.

EDIT: I’ve just added a rather rigid test for the ‘safety’ of apps – the application is automatically selected only if it is a registered desktop application and it doesn’t have more than one argument specified. So, the things like konsole -e ‘something’ are not going to be selected by default.

As Notmart said “I have a dream!”. (I have no clue what this sentence has to do with the blog post, but I didn’t want to finish it with the usual ‘that’s all for now’ :) )

ASCII Plasma Theme and others

Ok, I’ve realized I really don’t have the time to finish some of the things I’ve started before. Too many things on my plate both in KDE world and outside.

Plasma themes

One of those was the promise of removing the fanciness from Plasma with ASCII art. The others include Glaze and Spoons themes.

Outsourcing

Because of this unfortunate situation, I’ve decided to give the theme creation up to the community. I’ve submitted the themes in question to gitorious at http://www.gitorious.org/kde-plasma-themes.

So, if you want to help, just clone the repository and start creating art. I would ask you not to fork the themes, but improve these ones – just make merge requests and I’ll accept them as soon as possible. Don’t forget to add yourself to the list of authors.

If you prove to be a serious contributor, you’ll get direct commit permissions to the whole repo.

git.kde.org

If you’re wondering why I didn’t use git.kde.org but Gitorious, the main reason is that the repo was created long before git.kde.org was even in plans, and I just haven’t blogged about it.

The Shelf Applet Screencast (KDE Plasma 4.6)

I thought making a screencast would take less time than writing a manual for the Userbase. Oh, boy, was I wrong… constant chat popups, notifications, /home partition full errors etc.

So after a few attempts, I succeeded making it with only one error message and no nortifications.

The video demonstrates two basic methods of creating the Shelf widget

  1. Adding via the widget exporer and then configuring its contents and
  2. Dragging items from the Lancelot menu widget

It also demonstrates the different ways it can be used – as a list or iconified, on a desktop or on a panel.

KDE Plasma Shelf


KDE Plasma Shelf
Ivan Čukić
ivancukic.blip.tv

Original file (1440x900px 26M)

The music in the background is a mix of a few awesome songs composed by the legendary guitarist Brian May for the Furia motion picture.

Enjoy!

One letter matters

I guess you all know the story how a comma “,” killed a man – the king wrote:
Freedom not, death instead of Freedom, not death.

Well, something similar happened to Plasma recently. There was one (yes, just one) extra letter in the code, and the consequences were (not for all users, but a significant amount of them):

  • Panels didn’t have the resize controls, while the buttons for locking and other stuff remained.
  • System tray looked half-dead.
  • Buttons lost their backgrounds. Text was still shown.
  • Folder view lost the ‘selection’ controls.
  • Lancelot lost the no-click activation.
  • … and probably a lot more things I didn’t notice

So, a couple of minutes ago, I’ve made the smallest patch ever which killed a dozen bugs :)


Just remember that, whenever you step on a flower, it can produce a tsunami on the other end of the globe! :)

To Plasma/Lancelot theme creators

Just a small reminder – in KDE SC 4.5, Lancelot shows Plasma‘s widgets/viewitem.svgz as a background for the items in the lists. So, you should remove the files that match lancelot/action-list-view-* except action-list-view-headers.svgz from your themes.

If you don’t, the list items will have two backgrounds and will look *ugly*.

The reason why I didn’t disable the old backgrounds directly in the code is that someone could possibly want to have the two backgrounds (an example where it looks OK are the list headers).

I'm going to Akademy 2010

Alternative widgets explorer [Plasma]

Preamble: I have no intention to start a dispute related to the new applet browser in Plasma. Some people like it, some don’t, some prefer the old one, some want something completely different…

As you don’t already know :), Marco did some great work which I’m not gonna talk about – he said he’ll make a screencast of it eventually. So I’ll just mention a side-effect of that made possible by a 1-minute patch by yours truly.

KRunner (and Lancelot, naturally) as widget explorers

From KDE SC 4.5, you’ll be able to fire up KRunner or Lancelot, search for some plasma widget and drag it to the desktop.

Well, that’s all :)

Edit: You can also create a shortcut like Meta+P to open krunner with only this /plasma/ runner enabled via Global Shortcuts (thanks vilder for info)

ASCII Plasma theme (“Plasma is too fancy” continued)

First of all, I need to apologize for not doing this earlier – I was rather busy lately.

The other problem is that “remember the milk” plasmoid is ruining/spoiling me. Until I started using it, I somehow found the time to do stuff in order not to forget what I need to do. This way, when I have a reminder, I can postpone most of the items in it indefinitely. ;)

So, without a further ado, I present the first public release of the fantastic, greatest and uber-awesome brand-new (and did I say fantastic and awesome?) plasma theme named ASCII (it is awesome… and fantastic… and unique… and gorgeous… and uniquely fantastic… and awesome…):

http://kde-look.org/content/show.php?content=122261

Lancleot Part applet is dead…

… long live the Plasma Shelf!

Plasma Shelf IconThere were two main problems with the Lancelot Part applet.

The first was the name. The name, although it does represent what the applet is technically, it doesn’t really say what the applet is meant for and what it does.

So, it is problematic when you see it in the applet browser, and it isn’t any better to see it when you drag and drop a folder onto the desktop and get the options to show it in the “Folder View” or “Lancelot Part”.

Configuration

The second problem was that a lot of users thought that Lancelot Part does nothing (aka doesn’t work) because when you add it by using the widgets browser, it is just an empty applet. (nobody really bothers reading the instructions these days).

Now, you can use the configuration dialogue to choose what you want to be shown in the applet.

Ideas

I’m currently having some problems wording a couple of things and I would appreciate any help you can give.

The first problem is what to put as a description for the Shelf applet. “Generic list which can hold various types of items” sounds really bad :)

The second is the title for the section of the configuration dialogue shown in the image above – the section below “show the search box” option where you can choose which /sublists/data models/ to show in the applet.

Internals

The ‘internal’ name of the applet (as seen in plasma*rc files) hasn’t changed to keep the back-compatibility without the need for hooks in the configuration system to tell plasma about the rename. The other thing I had to watch out while redoing a few things was to keep the old applet configuration structure intact. Surprisingly, I managed it somehow.

The applet’s source code is still located in kdeplasma-addons/applets/lancelot/parts but it will be moved to kdeplasma-addons/applets/shelf soon enough.

Next Page »