Getting KDE Plasma 5 to work with the NVIDIA closed-source driver in Gentoo Linux

Up until a few days ago I had avoided migrating from KDE 4 to KDE Plasma 5, Frameworks 5 and Applications 5 — I’ll refer to the latter three package categories collectively as ‘KDE:5’ — on my main laptop, a Clevo W230SS with NVIDIA Optimus hardware and Gentoo Linux Stable Branch installed. My reluctance to migrate to KDE:5 was because of various problems I experience in KDE:5 on my Compal NBLB2 laptop, which has Gentoo Testing Branch installed (currently Plasma 5.7.1, which you would expect to be less buggy than Plasma 5.5.5 in the Gentoo Stable Branch).

Recently the maintainers of Gentoo’s KDE ebuilds removed some of the KDE 4 ebuilds and made some of the other ebuilds dependent on KDE:5. It became more complicated and convoluted to keep KDE 4 going, so I reluctantly threw in the towel and migrated to KDE:5 on my main laptop. I wish I could have kept KDE 4 on that machine, as KDE 4 worked extremely well (and looked great too).

My first problem after migrating was the infamous black screen in X Windows at start-up. Trying the various suggestions in the Gentoo Wiki did not help and, for the first time since I’ve owned the Clevo laptop, I was glad it has NVIDIA Optimus hardware as I was able to change from using nvidia-drivers to using xf86-video-intel, which got me to a usable Desktop after I switched desktop managers from SDDM (see the system log file error messages below) to LightDM.

Jul 17 04:32:37 clevow230ss sddm-helper[3245]: PAM unable to dlopen(/lib64/security/ /lib64/security/ cannot open shared object file: No such file or directory
Jul 17 04:32:37 clevow230ss sddm-helper[3245]: PAM adding faulty module: /lib64/security/

Although I had merged x11-misc/sddm with USE="-systemd" because my installation uses OpenRC, the above error messages made me suspect that something is wrong with the sddm-0.13.0-r3 ebuild, which is why I switched to LightDM.

However, using solely the Intel driver is not a long-term solution for me because DraftSight CAD software is slower with the Intel driver, so I was keen to get Plasma 5 working with the closed-source NVIDIA driver (I do not want to use Bumblebee).

I managed to get LightDM and Plasma 5 working with nvidia-drivers by doing the following:

  1. Merge x11-misc/lightdm.
  2. Re-merge kde-plasma/plasma-meta with USE="-sddm".
  3. Remove the x11-misc/sddm package and kde-plasma/sddm-kcm package by using the command ‘emerge --ask --depclean‘.
  4. Edit the file /etc/lightdm/lightdm.conf to add the line ‘greeter-session=lightdm-kde-greeter‘ as specified in Gentoo Wiki article LightDM.
  5. Edit the file /etc/lightdm/lightdm.conf to add the line ‘display-setup-script=/etc/X11/Sessions/plasma‘ (any file name would do).
  6. Create the above-mentioned Bash script /etc/X11/Sessions/plasma containing the following:
GPU=`eselect opengl list | grep \* | awk '{ print $2 }'`
if [ "$GPU" = "nvidia" ]; then
    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto

I can now switch between the NVIDIA closed-source driver and the Intel open-source driver using the method described in an earlier post: Switching between Intel and NVIDIA graphics processors on a laptop with NVIDIA Optimus hardware running Gentoo Linux.

How to group the entries in the right-click menu of a KDE file manager

This is easier to explain by giving an example. I will use PeaZip as my example, but the principle applies whatever the menu entries.

Immediately after installing PeaZip Portable on my main laptop running Gentoo Linux by using the steps in one of my earlier posts, the resulting right-click menu in KDE Dolphin looks like the screenshot below. Notice that the PeaZip entries in the Actions sub-menu are not listed contiguously.

Actions sub-menu of right-click menu in KDE

But in KDE it is relatively easy to group menu entries tidily in a sub-menu, as shown in the screenshot below.

Sub-menu of Actions sub-menu for right-click menu in KDE

The peazip*.desktop files for the five PeaZip actions shown in the above screenshots are located in the directory ~/.kde4/share/kde4/services/ServiceMenus/ and each file includes the line ‘X-KDE-Submenu='.

All I had to do was edit each of the five peazip*.desktop files and change that line in each file to ‘X-KDE-Submenu=PeaZip‘.

That’s it!

Dragging windows between sides of the KWin Desktop Cube

The KDE Desktop Cube is one of the ‘eye-candy’ features provided by KWin’s Desktop Effects. Actually I use the desktop cube a lot at work (far more than at home), as I often have several windows open simultaneously on each virtual desktop (cube side) and, for some reason, I find it more natural (and fun) to rotate an on-screen cube rather than switch between 2D virtual desktops. Perhaps it’s because we live in a 3D world?

I also like to be able to drag windows from one cube face to another, a KWin feature I also find natural and fast to use. However, its configuration is not as intuitive as that of some of the other desktop effects. Also, this feature can be prevented from working if some of the other effects are enabled. Sometimes I find the feature has become disabled after I have upgraded KDE. For example, if I drag a window to the edge of the screen the cube stubbornly refuses to rotate and the window snaps to the side of the screen and expands vertically (something with which Windows 7 users will be familiar). I always forget how to reconfigure KWin to be able to drag windows between cube faces, and end up wasting several minutes fiddling with the KWin settings. This happened to me again today, so, in case others get fed up trying to get it working, here is a configuration that works for me:

  • Select ‘System Settings’ > ‘Desktop Effects’.
  • Click on the ‘All Effects’ tab.
  • ‘Desktop Cube’ and ‘Desktop Cube Animation’ should be ticked.
  • Click on the spanner icon of ‘Desktop Cube Animation’ and make sure ‘Start animation when moving windows towards screen edges’ is not ticked.

  • Select ‘System Settings’ > ‘Workspace Behaviour’.
  • Click on ‘Screen Edges’.
  • Make sure ‘Maximise windows by dragging them to the top of the screen’ and ‘Tile windows by dragging them to the side of the screen’ are not ticked.
  • Select ‘Only When Moving Windows’ for ‘Switch desktop on edge’.
  • Adjust the ‘Activation delay’ and ‘Reactivation delay’ to your taste. I find 150 ms and 1000 ms, respectively, work well on my main laptop.

Evaluating Sabayon Linux Xfce

Sabayon Linux Xfce on Acer Aspire 5920

EDIT (January 18, 2014): This article refers to an installation of Sabayon Linux from the Version 10 ISO, when the distribution still used OpenRC as the init system, rather than systemd. Therefore some of the commands in this article are no longer applicable to the current versions of the distribution using systemd.

The last time I installed SL (Sabayon Linux) on one of my own machines was 18 months ago, and that was my media centre. I haven’t touched that installation since: “If it ain’t broke, don’t fix it.” My most recent desktop SL installation was on a relative’s Acer Aspire 5738 laptop just over a year ago, but it was disappointing. In the end I did get SL working with the laptop’s NVIDIA GPU but, amongst other things, ALSA didn’t work correctly and even I couldn’t fix it. The owner was understandably unimpressed with SL and ended up installing Ubuntu over it, which worked perfectly out of the box.

Since then I have not used SL much apart from occasionally booting an ISO image of the latest SL LiveDVD in VirtualBox on my main laptop running Gentoo, or on the family PC running Windows Vista. So I was keen to try a recent edition of SL, and the opportunity arose this week as I had to replace an Acer Aspire 5920 laptop belonging to a family member and I thought it would be interesting to install SL Xfce Edition on it. (I bought a Samsung NP350V5C laptop to replace it, if you’re interested.)

That Acer Aspire laptop is 4 years old and had been causing a lot of hassle: a hardware design fault made the display flicker, and Windows Vista often refused to connect via WiFi to my home network. A quick search of the Web turns up plenty of complaints about these two problems with this particular Acer model. Oh, and one more thing, Windows Vista was unbelievably slow on the laptop. You really could go and make a cup of coffee in the time it took to boot.

I got a local PC repair shop to look at the ribbon cable in the lid that is known to cause the flickering display, and decided to wipe the HDD (good riddance, Vista) and install SL 10 64-bit Xfce. Below I list the laptop’s specification.

– Acer Aspire 5920-5A2G25Mi
– 15.4″ (1280 x 800)
– Intel Core 2 Duo T5550 1.83 GHz
– Intel Mobile GM965/GL960 Integrated Graphics Controller with Intel Graphics Media Accelerator X3100 with up to 358 MB Shared Graphics
– Intel 82801H HD Audio Controller
– Broadcom Netlink BCM5787M Gigabit Ethernet PCIe
– Intel PRO/Wireless 3945ABG
– Ricoh RSC832 IEEE 1394 Firewire Controller
– Ricoh R5C822 SD/SDIO/MMC/MS/MSPro Adapter
– Ricoh R5C843 MMC Host Controller
– Ricoh RSC592 Memory Stick Bus Host Adapter
– Ricoh xD-Picture Card Controller
– Suyin Corp. Acer CrystalEye Webcam (0.3 Megapixels)
– CD/DVD reader/writer
– 4 USB2 ports
– 56K ITU V.92 modem port

This model has a Bluetooth button but does not have Bluetooth hardware installed. The Bluetooth button can be configured for other purposes, as I discovered after installing SL.

I downloaded the file Sabayon_Linux_10_amd64_Xfce.iso from the SL Download page, and used UNetbootin version 581 to create a LivePenDrive on a 4GB pen drive. I inserted the pen drive into the Aspire, booted, pressed F2 to get to the BIOS menu, configured the BIOS to boot the pen drive, and rebooted.

The SL Live environment loaded without problem and I was able to access my home network via WiFi with ease.

I launched the SL installer and was pleasantly surprised to see that it is more polished that the version I used a year ago. However, over the years I have found that the SL Installer often crashes when it tries to partition the HDD, and the same thing occurred this time. Normally when this happens I boot up a SystemRescueCd LiveCD and use GParted to partition the HDD and format the partitions, then I reboot the SL LiveDVD and re-run the Installer, which then works. This time, however, I just decided to open a Terminal window from the SL Live environment and use the fdisk command to create the partitions manually. Then I re-ran the SL Installer. I was now able to specify the mount points for the partitions and format them, and installation was completed quickly.

I booted the HDD and was pleasantly surprised. Almost everything worked ‘out of the box’ (including the memory card slot), and the overall impression was of a polished distribution with an attractive Xfce desktop. SL looks great on the laptop’s relatively low resolution 1280×800 screen, and I suspect the Infinality patches make a difference. Most of the applications I needed were already installed, to make life easier. Apart from the positive impression aesthetically, I am very impressed with the speed at which it runs. This is one of the snappiest Linux installations I have used.

I did need to perform a few tweaks, and I’ll mention the main ones throughout the remainder of this article.

As SL is a rolling distribution I wanted to bring the installation bang up to date, so I used the usual Entropy commands in a Terminal window:

$ su
# equo update && equo upgrade && equo conf update

I did not need to upgrade the kernel using the SL kernel-switcher utility, as the version of the latest kernel in the SL Entropy Weekly repository was the same as the version installed by the LiveDVD.

Tapping on the touchpad didn’t work out of the box, but all I had to do was configure it using Xfce’s ‘Applications Menu’ > Settings > ‘Mouse and Touchpad’ > Touchpad (tick ‘Tap touchpad to click’).

Although the Uncomplicated Firewall was installed, a front-end wasn’t, so I installed UFW Frontends:

# equo install ufw-frontends

I launched ufw-gtk (Firewall Manager) and configured UFW as explained in How to config ufw/ufw-frontends for Samba browsing/printing.

Xfce has some useful plugins and utilities, so I installed some of those:

# equo install xfce4-power-manager xfce4-sensors-plugin xarchiver xfce4-battery-plugin thunar-volman xfburn tumbler

A calculator is always handy too:

# equo install galculator

The system clock was not displaying the correct time (it was one hour ahead of actual time) so I followed the SL Wiki article HOWTO: Clock, Time, UTC, Dual boot with Windows and then used the Linux date command to set the correct date and time:

# date MMDDhhmm

OPTIONAL: To keep the system clock in sync with a remote time server when the laptop is connected to the internet, I installed the package net-misc/ntp:

# equo install ntp

and then edited the file /etc/conf.d/ntpd so it contains NTPD_OPTS="-g" and I added the initscripts for NTP Client (executes once at start up) and the NTP daemon (runs continuously) to the default runlevel:

# rc-update add ntpd default
# rc-update add ntp-client default

The SL Xfce Edition LiveDVD installs the Midori Web browser which is lightweight and good, but not as good as Firefox, my favourite browser, so I replaced Midori with Firefox:

# equo remove midori
# equo install firefox

I found that the film trailers on the iTunes Movie Trailers Web site would not play in the browser, so I installed gecko-mediaplayer and gnome-mplayer (and used Edit > Preferences > Player to set ‘Video Output’ to gl for OpenGL or xv for XVideo) and I disabled the Totem plugin in Firefox (Add-ons > Plugins and disable ‘QuickTime Plug-in 7.6.6 The Totem 3.4.3 plugin handles video and audio streams.’) which solved the problem. An earlier blog post of mine also mentions this: Playing QuickTime videos in Firefox and Chromium + XVideo bug in AMD Catalyst 11.11 and 11.12 driver.

As the volume control thumb wheel on the laptop did not work in SL, I used Xfce’s Settings > Keyboard to configure the two unallocated function keys F9 and F10 to be Decrease Volume and Increase Volume, respectively:

amixer set Master 5%- allocated to F9
amixer set Master 5%+ allocated to F10

and I allocated F8 as the Mute button, as it already had a symbol for that printed on it:

amixer set Master toggle

Sound quality is excellent.

I installed Skype:

# equo install skype emul-linux-x86-medialibs

which works well apart from the video image from the laptop’s Acer CrystalEye Webcam (310,000 pixels, circa 640×480), which has flickering blue horizontal lines. I installed GUVCView, a GUI to configure the uvcvideo driver module.

# equo install guvcview

My adjustments using GUVCView helped slightly, but the image quality is still not great. The image is just about tolerable when the subject is illuminated by daylight, but poor in artificial light. Searching the Web tells me that plenty of Windows users have had problems with this model of Webcam too.

I wanted to be able to access computers running Windows on my home network, and to be able to print on printers connected via USB to those computers, so I added SAMBA to the default runlevel so that it would be started automatically when the laptop boots:

# rc-update add samba default

I also edited the configuration file /etc/samba/smb.conf to be as follows:

netbios name = Aspire5920
message command = /usr/bin/linpopup "%f" "%m" %s; rm %s
printcap name = cups
printing = cups
printer admin = @adm
log file = /var/log/samba/log.%m
max log size = 50
map to guest = bad user
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/private/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
name resolve order = wins lmhosts bcast
wins support = yes
dns proxy = no

comment = Home Directories
read only = no

comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes

comment = All Printers
path = /var/spool/samba
guest ok = yes
printable = yes
create mask = 0700
print command = lpr-cups -P %p -o raw %s -r   # using client side printer drivers.

path = /var/lib/samba/printers
write list = @adm root
guest ok = yes

path = /home/fitzcarraldo/Public/
guest ok = yes
read only = no

I installed the drivers for two of my printers:

# equo install gutenprint

and used the CUPS browser interface http://localhost:631/ to configure CUPS to use a Canon PIXMA MP510 via SAMBA connected to a PC running Vista, and to use a Canon PIXMA MP560 on my home network via WiFi.

When configuring CUPS to use the Canon PIXMA MP510 printer connected to the family PC that is running Windows Vista, I had to specify the printer’s SMB address as follows:


where username is the name of a user account on the Windows Vista PC, and password is the password of that user account.

For example, let’s say that I configured Windows Vista on the family PC some years ago as follows:

PC name: SA90

Work group name: WORKGROUP

Printer name: Canon_MP510_Printer

User name: Fitzcarraldo

User password: MollyAida

then the SMB address I would specify to the CUPS Manager for the printer would be:


I configured the Xfce top Panel to show the Xfce LCD brightness plugin, Xfce audio mixer, Xfce sensor plugin, Xfce battery monitor. By the way, Xfce Power Manager works correctly when the laptop is using its battery.

Xfce makes it easy to configure shortcut keys: ‘Applications Menu’ > Settings > Keyboard | ‘Application Shortcuts’. I configured the browser launch key on the left of the laptop’s main keyboard to launch Firefox. And, as I am used to launching Yakuaki in KDE using F12, I set up F12 in Xfce to run /usr/bin/terminal (I could instead have installed Guake and used Xfce’s ‘Applications Menu’ > ‘Session and Startup’ | ‘Application Autostart’ to configure Guake to launch automatically at start up).

Basically, almost everything works well.

Also, I installed superadduser and added another user successfully:

# equo install superadduser

Although the Xfce ALSA Mixer works fine, I installed PulseAudio Volume Control too:

# equo install pavucontrol

Actually you do need both an ALSA mixer and a PulseAudio mixer because you can get into the situation where the ALSA volumes are turned up but the PulseAudio volumes are turned down.

As I sometimes download YouTube videos for offline viewing, I installed the version of the excellent Python script youtube-dl that is in the SL Weekly repository:

# equo install youtube-dl

but it turned out to be the package net-misc/youtube-dl-2012.02.27, which wouldn’t download YouTube videos. I had to download the latest version of the script from the youtube-dl developer’s Web site, made it executable (chmod +x ~/youtube-dl) and copied it to the directory /usr/bin/ to overwrite the 2012.02.27 version installed via Entropy.

Thunar was taking a very long time to open the first time I launched it after each reboot, and was also launching twice. To stop this happening I edited the file /usr/share/gvfs/mounts/network.mount and changed AutoMount=false.

Furthermore, the following message sometimes appears in a pop-up window when launching Thunar:

Failed to open directory “fitzcarraldo”.
Error when getting information for file ‘/home/fitzcarraldo/.gvfs’: Transport endpoint is not connected.

Searching the Web indicated the following command might fix it:

# umount /home/fitzcarraldo/.gvfs

It seems to have helped, but the message does still appear sometimes.

One problem I experienced 18 months ago with the SL 5.4 E17 Edition — and I notice has been reported by several users in the SL Forums since then — is that SL does not always set up the user’s locale correctly. During installation I selected English as the language, the UK as my location and English (UK) for the keyboard, and ended up with the US locale:

# locale

What I want is the British locale. I rectified it by following Steps 3, 4 and 5 in the SL Forums post Re: en_GB language missing after install.. I think the SL Installer probably needs modifying.


SL 10 Xfce is an attractive installation demonstrating a fair amount of attention to detail, but the Installer has some frustrating problems with partitioning and the set up of the locale. These problems have been present for quite some time now and could be ‘brick walls’ for newcomers to Linux.

I use Xfce in Gentoo on a legacy laptop (Pentium III) and so am familiar with it, but it looks great in SL and just seems that little bit more polished.

But the main impression I get from this installation is just how zippy and responsive it is. Video runs smoothly however fast I jiggle around a media player window, and we’re talking a relatively low-end graphics processor here, not an AMD or NVIDIA GPU. Applications open really fast. Overall, it’s a pleasure to use.

When I think back to how Windows Vista ran on this laptop, the difference is like night and day. It’s like having a new, more powerful laptop. I’ve now added a user account for my wife as she has decided she will use it. Not bad for a laptop I thought I would give to my local repair shop for spares.

A guided tour of my KDE 4.8.4 desktop (Part 2)

In A guided tour of my KDE 4.8.4 desktop (Part 1) I gave a brief overview of the KDE desktop on my main laptop. This time I’m going to cover some applications, KDE and non-KDE, that I use. Just to prove that I don’t look at KDE through rose-tinted spectacles, I’ll also mention a few problems too.

I don’t use a desktop PC. This laptop is my main PC and I use it for all my professional and personal tasks. I travel frequently and have to connect to public and private networks (wired, wireless and broadband modems) and to many different network printers, so a reliable desktop environment and reliable network management software are essential. KDE satisfies the first requirement. The desktop environment-independent NetworkManager and its KDE front-end, the Plasma widget NetworkManagement, satisfy the second requirement. I also use my laptop for the usual leisure activities such as watching DVDs, video files and TV programmes; listening to music files, Audio CDs and Internet radio; messaging/telephony (PC-to-PC and PC-to-landline/mobile internationally); browsing the Web, blogging and so on.

So this is very much a mission-critical machine for me. The fact that I’m using KDE successfully for all these tasks is a testament to the power of KDE (and Linux, of course). I should also point out that, for a mission-critical machine, I’m living a little dangerously as I use the testing branch (a.k.a. unstable branch), rather than the stable branch, of Gentoo Linux. I’ve been using the unstable branch for several years on this laptop and its predecessor, with only a few hiccups, although I do have to keep an eye on the Gentoo forums in case someone reports a problem.

Office suites

Microsoft Word and LibreOffice Calc

Snapshot 1 - Microsoft Word and LibreOffice Calc

I use both LibreOffice and Microsoft Office 2007, the latter under WINE (see WINE tips: Giving each Windows application its own environment). Office 2007 guarantees me 100 per cent compatibility at work but I also find it easier and more reliable than LibreOffice with the large, complex documents and spreadsheets I create. That said, I also have many Word 97 documents and Excel 97 spreadsheets that I still need to access, and LibreOffice opens some of them that Office 2007 cannot. I prefer to use Writer rather than Word for simple tasks such as typing a letter, as I dislike the Ribbon Interface. And I’m happy to use Calc rather than Excel in the majority of cases.

Once I got Office 2007 running under WINE I did not have to boot into Windows any more, although recently that changed for one very specific task on one work project: checking out (downloading) a Microsoft Word file from a Microsoft SharePoint repository, editing it locally and checking it back in (uploading it). Using Firefox in Linux I can upload a Word file to the SharePoint repository initially, but I have to boot into Windows and use Internet Explorer and Word to check-out, edit and check-in the revised document. I’ve used third-party document management and collaboration software in the past that does not require the use of Internet Explorer and Word. I can see how Microsoft lock you into their product line, and I don’t like that.

For schematic diagrams and flowcharts I usually use an old version of Visio (5 Professional) I bought in 1999, again under WINE. I find Visio easier and faster to use than Dia, a GNOME application I also use sometimes for simple diagrams.

E-mail client

I use Thunderbird to access several POP3 e-mail accounts and, via the excellent DavMail, a couple of Microsoft Exchange OWA (Outlook Web Access) accounts at different companies. DavMail is a life-saver. Having to access those two accounts via a Web browser was a hassle and inefficient. A single e-mail client which can be used to access and manage all my e-mail accounts is a godsend. I still have work e-mails from more than ten years ago, and Thunderbird enables me to find information in them with ease. For professional use by ‘power users’, WebMail cannot hold a candle to a good e-mail client such as Thunderbird. I use a number of Thunderbird extensions which I find essential: Lightning (calendar); Provider for Google Calendar (bidirectional access to Google Calendar); Timezone definitions for Mozilla Calendar; Change quote and reply format (why isn’t this functionality built-in to Thunderbird?); ConfigDate (ditto); Enigmail (encyption/decryption of e-mails); ImportExportTools (conversion tools for different e-mail formats); Dictionaries for several languages.

One of the reasons I chose Thunderbird was because it is available for both Linux and Windows. As I can dual boot this laptop, I put Thunderbird’s data files on the Windows NTFS partition (Windows cannot access Linux file systems), and Thunderbird in either OS accesses the same data files. I virtually never boot into Windows, but it is good to know that I can access my e-mail accounts from either operating system using the same application.


I occasionally use SANE scanner interface software and its GUI front-end XSane for scanning images and documents to create image files. But I am much more likely to use the GUI front-end gscan2pdf, as I often need to create PDF files for work. gscan2pdf is another application I find indispensable.

Web browsing

Browsers and Google Earth

Snapshot 2 - Browsers and Google Earth

I use Firefox and the KDE browser/file manager/universal viewer Konqueror. I configured Konqueror to use the WebKit rendering engine instead of KHTML (Install the package kwebkitpart then launch Konqueror, select Settings > ‘Configure Konqueror…’ and select ‘WebKit’ as the ‘Default web browser engine’ on the General tab). There have been a few times when Firefox has not been able to display a Web page properly or at all, and Konqueror came to the rescue. The KIO Slaves I mentioned in Part 1 also add to Konqueror’s versatility.

I use the Oxygen KDE Firefox extension (see Snapshot 2), a theme for Firefox that makes it look like a native KDE application. Very nice indeed.

Google Earth needs no introduction. It runs well in KDE on my laptop, and I find it useful both in my work and for personal use.

I have the KDE blogging client Blogilo installed and it was easy to configure it to synchronise with my blog. In fact I started preparing this article in Blogilo but had to abandon it as Blogilo would not save reliably my incomplete work to my hard disk. After losing changes several times I gave up and turned to my tried and tested KWrite to draft the article offline first. Shame, really, as Blogilo looks really handy for preparing blog posts offline and then uploading them. Hopefully the next release will work for me.

For Web site creation and editing I use KompoZer. It’s not as sophisticated as Dreamweaver, but is easy to use and does a good job for my purposes.

Messaging and telephony

I use Skype for Linux for PC-to-PC and PC-to-phone communication domestically and internationally. There is simply no alternative if I want to communicate with my Windows-using friends, family and work colleagues: they are not going to switch to anything else. Actually, I find Skype for Linux perfectly usable (unlike Skype for Android on my Motorola Xoom tablet, which has a fiddly and rather annoying user interface). In some countries the state-owned telecom provider blocks Skype for commercial reasons, but I have been able to circumvent this using Tor (see How to install and use Tor for anonymous browsing or to access country-restricted content from another country). Furthermore, some office networks I use also block Skype, to enforce the use of another product or to stop personal communication, but Tor has helped me out there too.


I use the GIMP quite a lot, mostly for photo editing/retouching for work purposes but sometimes to edit/retouch personal photos. I have only used the vector graphics application Inkscape a few times at work and at home. I enjoyed using it to produce the graphics for a laptop ‘Powered by’ sticker.


Snapshot 3 - Gwenview

Apart from the excellent KDE image viewer Gwenview, which gets better with every release of KDE, I use GQView. GQview has been around for many years and its UI looks rather dated, but it has some powerful features which I find useful at work (and at home). GQview makes it easy for me to assign keywords to image files and to search on keywords; to examine EXIF data; to print thumbnail proof sheets; to view multiple image files and page through directories of image files, and so on. This application has often been of help to me at work.

Okular and Adobe Reader

Snapshot 4 - Okular and Adobe Reader

KDE’s Okular document viewer and Adobe Reader are in frequent use on my laptop. I use them both but resort to Adobe Reader for the huge PDF files I sometimes have to view at work, as they load quicker in Adobe Reader. Also, Okular has had a rather irritating habit of printing Landscape pages in Portrait, and vice versa. This problem seems to come and go with different releases of Okular.


I hardly ever need to use CAD applications, but occasionally I do need to view some old AutoCAD files. For this I use an old version (2009-en-1.06-1) of VariCAD Viewer which opens those old files although it can’t open newer AutoCAD files. I tried unsuccessfully to install newer versions of VariCAD Viewer in the past, but have not tried again recently.


I only recently began reading e-books. The EPUBReader Firefox extension is an excellent and easy-to-use e-book reader, library manager and shop window for both free and commercical e-books in ePub format. The display of book pages when using the extension as a reader is better than many of the dedicated e-book applications I have seen.

Calibre is an excellent dedicated e-book reader and format converter that I discovered by accident when reading a review of the Amazon Kindle. If you are looking for an application that can handle all the various e-book formats, convert between them, manage your e-book library, upload and download e-books, and act as a reader, look no further. Even the application’s Web site oozes class.


SMPlayer multimedia player, and YouTube in Firefox

Snapshot 5 - SMPlayer multimedia player, and YouTube in Firefox

I have far too many multimedia players installed, but I like to alternate between them. In any case it’s useful to have several players installed because sometimes one of them is able to play a certain file that another cannot.

SMPlayer, VLC and Xine play DVDs, CDs, music files, video files, Internet radio, and digital TV (DVB). I like all three.

Miro is a music and video player, torrent downloader, Internet TV and podcast viewer, and more. Another very polished application I enjoy using.

Dragon Player is a KDE player for CDs, DVDs, audio and video files. It plays DVDs, audio and video files well on my laptop, but cannot play Audio CDs for some reason. It is not as versatile or as polished as the multimedia players mentioned above, so I rarely use it.

UPDATE (January 10, 2014): As of KDE 4.11.3, Dragon Player can play Audio CDs on my laptop. I believe this was due to an update to KDE’s Phonon and/or the Phonon backends.

Clementine music player

Snapshot 6 - Clementine music player

The music players I have installed are Audacious, Clementine and Amarok. These three applications focus on playing and managing collections of music files, Audio CDs and streaming Internet radio.

In the days of KDE 3 I used exclusively Amarok 1.4, which was darn near a perfect music player. But new releases of Amarok were buggy in early releases of KDE 4, and today Amarok still does not work as well for me as the KDE 3 version did. Some of the album covers disappear randomly from the album cover manager, and it is irritating to have to restore covers. Clementine, on the other hand, has no trouble managing album covers and I find it is more polished than Amarok and nicer to use all round. I cannot get Amarok to play Audio CDs with the KDE GStreamer Phonon backend, only with the KDE VLC Phonon backend. Even then the optical drive in my laptop spins very fast and produces a loud noise, making listening to Audio CDs painful. Audacious, on the other hand, plays Audio CDs quietly and perfectly on my laptop. Although Clementine is superb in other respects, for some reason it cannot play Audio CDs on my laptop, whichever KDE Phonon backend is selected. All three players can stream Internet radio without problem, although the long pre-configured list of radio stations in Clementine is simply excellent. If Clementine could play Audio CDs on my laptop, it would be my favourite music player.

UPDATE (January 10, 2014): As of KDE 4.11.3, Clementine can play Audio CDs on my laptop. I believe this was due to an update to KDE’s Phonon and/or the Phonon backends.

MIDI players and Karaoke

I have four different MIDI players installed. PyKaraoke (see HOWTO: PyKaraoke) and KDE’s own KMid can both play MIDI files with and without embedded karaoke lyrics. TiMidity++ is a MIDI file player, as well as an ALSA sequencer which can be used by the other MIDI player applications here. Drumstick has three applications: a MIDI player, a drumkit sequencer and a virtual piano keyboard. I enter the following command once before launching any of them:

modprobe snd_seq && timidity -iA -Os

Actually, I have put the above command in a Desktop Configuration File with a nice icon in my Desktop directory, so I just double-click on it. I could have instead loaded the snd_seq module automatically at startup by specifying it in the file /etc/conf.d/modules.

Audio CDs

KsCD is a simple KDE application with a sole purpose: to play Audio CDs. For me it fails miserably in this task, and has done in several releases of KDE. The last time I remember it working for sure was in KDE 4.3.3, and here we are today with KDE 4.8.4. The KDE Bug Tracking System has quite a few bug reports regarding KsCD. I don’t know if the application itself has a bug, or if the KDE Phonon backends are buggy, or if KDE has a bug, or if there is a problem with udev, or a combination. Anyway, whatever the reason, in my case KsCD is useless. Come to that, for Audio CDs Amarok is next to useless. Luckily for me, Audacious, SMPlayer, VLC and Xine can play Audio CDs perfectly on my laptop.

UPDATE (January 10, 2014): As of KDE 4.11.3, KsCD can play Audio CDs on my laptop. I believe this was due to an update to KDE’s Phonon and/or the Phonon backends.


I should mention the excellent command line tool youtube-dl (‘YouTube download’) which is great for downloading videos from YouTube. You can specify the resolution, extract the audio, and various other tricks. Well worth adding to your set of mutlimedia tools. Or, if you prefer a GUI, Minitube is a cracking application for watching and streaming YouTube videos without using a Web browser, and also enables you to download them.

Backing up CDs/DVDs or ripping audio and video

K3b is a superb KDE application. It’s a one-stop shop for making back-ups of CDs and DVDs, creating data CDs and DVDs, and ripping CDs and DVDs. I use K3b to rip my Audio CDs to mp3 files.

Another well-known KDE application is the excellent K9Copy DVD ripper. Unfortunately the developer stopped working on it in July 2011. I hope someone else picks it up, as K9Copy has an intuitive GUI and I have used it on a number of occasions to rip my DVDs to my hard disk so that I could watch them when travelling.

dvd::rip does just what the name suggests, and I’ve used this excellent application too. The GUI is intuitive and the online documentation is very good.

Winki the Ripper is a good application for ripping DVDs to MKV files (it can also rip to AVI files). I have used it but noticed recently that the Web site is up for sale, so I hope the application is still being developed.


WINE menu in Lancelot Launcher

Snapshot 7 - WINE menu in Lancelot Launcher

I have mentioned Office 2007 already, but I have a few other Windows applications installed under WINE, such as IE7 (so that I can see how a Web site looks in a Windows browser), IrfanView, Lotus ScreenCam Player (so that it is still possible to view some videos of a specialist application running in Windows 95 many years ago), Notepad, Pinball and a few applications and utilities I need that are not available in Linux. WINE is not perfect, but it is wonderful software that also makes it possible to run some older Windows applications that are probably not able to run in Windows Vista and 7.


Some utilities

Snapshot 8 - Some utilities

I used to use the brilliant command line utility ImageMagick to scale image files, but have not had to resort to the command line since the GUI front-end Converseen was released (see Converseen, a GUI batch image converter and resizer using Qt4 and ImageMagick).

I encrypt and decrypt some of my sensitive files using GnuPG GUI front-ends KGpg and Kleopatra. Kleopatra is slightly easier to use than KGpg, but they’re much of a muchness. The Enigmail extension I use in Thunderbird also uses GnuPG.

KAlarm is a handy KDE utility to produce sounds or pop-up reminder messages, or issue commands, at specific times or time intervals. The GUI is easy to use and KAlarm can be used in many cases as an alternative to setting up a cronjob. It was simple to configure it as a talking clock (see Setting up a talking clock easily in Linux).

AutoKey is a macro utility I use frequently. It can be used in a number of ways, but I use it to insert text in documents and e-mails. For example, I have configured AutoKey to insert the output of the Linux date command where my cursor is in an open document or e-mail if I press Ctrl-Alt-D: Sun Jul 22 14:41:25 BST 2012. For another example, I have configured AutoKey to enter my full postal address when I type “adr” and press the Space key (but puts it back to “adr” if I press the Backspace key). It is a very handy utility and can be configured to execute simple or complex scripts.

Easystroke is the mouse equivalent of AutoKey. For example, I have configured Easystroke to type “———- Original Message ———-” when I press the mouse scroll wheel and move the mouse pointer diagonally from left to right on the screen. As another example, I have configured it to launch an instance of DavMail to access a specific company’s OWA Exchange Server when I trace the first letter of the company’s name on the screen with the mouse cursor. It’s a clever utility!

BasKet Note Pads is a KDE application for recording and reading notes. The notes can be simple text or complex with embedded pictures, hyperlinks and so on. I switched to BasKet from Tomboy as the latter is a GNOME application and requires some GNOME-specific packages that I didn’t want cluttering up my hard disk. However, I can’t say I like BasKet: I miss the simplicity and easy-to-use UI of Tomboy which was a pleasure to use. I think I may have to try another KDE application (KJots) instead of BasKet, as it may fit my needs better.

KRename is a batch file renamer for KDE that has come in handy both at work and at home.

Filelight is a KDE utility that shows you graphically how much of each partition is occupied and how much is free. I like it because it makes it easy for me to see at a glance how much disk space I have left.

JDiskReport is another utility for showing you disk occupancy graphically. You can select pie carts, segment charts or bar charts. It is freeware but not open-source, but is nevertheless a nice utility to have in your set of tools.

Antivirus software

BitDefender Antivirus for Unices

Snapshot 9 - BitDefender Antivirus for Unices

As I run some Windows applications under WINE, and as I dual boot with Windows 7, I use both BitDefender Antivirus Scanner for Unices and ClamTk, the GUI front-end to ClamAV. That way I can scan my Windows directories from Linux. My work colleagues sometimes pass work files to me on USB pen drives, and I use these two anti virus utilities to scan the pen drives just to be a bit safer. Yes, it has flagged the occasional malware in Windows files.



Snapshot 10 - Games

I hardly ever play games, but still installed the entire KDE Games suite (you never know, after all!). Of the KDE games, I play KPatience, KCheckers, KBlocks (a Tetris clone), KBreakOut (takes me back to playing BreakOut written in Applesoft BASIC on an Apple II+!) and KMahjongg, a solitaire game using beautifully rendered Mahjong tiles.

I have also installed a few non-KDE arcade games such as Missile Command and Pacman Arena (nicely done in 3D). I loved Pac-Mania on my Acorn Archimedes in the early 1990s, so I also use SDLMame and its GUI front-end GMameUI to play Pac-Mania and a few other old favourites such as Frogger.

As far as chess is concerned, I installed the 3D DreamChess, as well as the older but perfectly decent XBoard and eboard.

Scrabble and Boggle are popular games in my family, so I installed XScrabble and GBoggle, the latter being one of only a handful of the packages mentioned in this article that I had to install outside the Portage package manager because there is no ebuild (another being the commercial game Machinarium, which is available for Linux, beautiful and I recommend highly).

I occasionally play TORCS, which is not bad for a car racing game.

There are a lot more Linux games to discover, if you’re that way inclined.


I’ve just scratched the surface, but hopefully have given you a taste of how I use KDE (and Linux). Of course my needs and uses are different from everyone else’s, but I hope this and the previous article have shown you the breadth of KDE and Linux applications, and that they are completely viable on the desktop. If you have not tried KDE yet, I hope this has tempted you. And, if you’re new to Linux, I hope this has tempted you to try Linux too.

A guided tour of my KDE 4.8.4 desktop (Part 1)

I have used GNOME, LXDE, Xfce and others, but KDE is my favourite desktop environment and I’ve used every release since 3.5.2. Although there are a few things that still need improving, by and large I find KDE to be an excellent desktop environment with every feature and facility I need, and highly configurable. It is the only desktop environment I choose to use professionally (I virtually never have to touch Windows at work, although I can dual boot Windows 7 on my laptop just in case I come across an application that only runs in Windows), and it is the main Linux desktop environment I use at home, although from time to time at home I use Xfce on another laptop, Android 3.2 on my Motorola Xoom tablet and Windows Vista on the family PC. I can honestly say that Windows Vista and Windows 7 feel clunky and old fashioned to me after using KDE, not to mention less easy on the eye.

All but one of my work colleagues use Windows or Mac OS X, and they notice the KDE desktop on my laptop and ask questions about it. So I thought I’d provide a guided tour of the KDE desktop on my laptop, as it might be of interest to newcomers to Linux or to Linux users contemplating trying KDE. There is too much to show in one or even two articles, but I thought I’d at least cover some of the main features in a couple of articles. So here is the first installment…

KDM greeter screen

The KDM Greeter screen (log-in screen) is the first KDE screen to appear, and it follows the framebuffer console decoration (‘bootsplash’) displayed after I select Linux from the GRUB 2 bootloader menu. I chose a simple KDM log-in screen called gentoo-linux-kde that I downloaded from the Web site.

KDM Greeter screen

Snapshot 1 - KDM Greeter screen

Incidentally, if you’re wondering how I made a snapshot of the KDM log-in screen, I used a tip by Todd Partridge and added the following command to the file /usr/share/config/kdm/Xsetup and restarted my machine:

sleep 10 && import -window root /tmp/kdm.png &

KDE Splash Screen

The KSplash screen is displayed briefly after log-in. I chose the Air and Ariya Splash Screen, one of the splash screens that comes with KDE 4.8.4 and is selected via System Settings > Workspace Appearance.

KDE Splash Screen

Snapshot 2 - KDE Splash Screen

If you’re wondering how I made that screenshot, System Settings > Workspace Appearance has a ‘Test Theme’ button. I just clicked on that and pressed the Prt Sc key on my keyboard to capture it with the KSnapshot utility, which I had previously linked to the Prt Sc key by using System Settings > Shortcuts and Gestures.

My desktop

The five icons on KSplash pop up one by one and the KDE desktop itself then appears. I’m using the Air desktop theme with Oxygen windows decorations, Oxygen icon set, Oxygen Black cursor theme, Oxygen widget style and DejaVu Sans 8 fonts.

KDE desktop

Snapshot 3 - KDE desktop

I tend to change the wallpaper quite often, but the rest has been the same for I can’t remember how long. This wallpaper is a poster image of beautiful Chinese actress Ziyi Zhang (who doesn’t really have blue eyes) in Memoirs of a Geisha.

In KDE the number of Panels (‘task bars’, in Windows parlance) and their dimensions and position are up to the user, but I prefer to have only one Panel, and I prefer it to be situated at the bottom of the desktop. I suppose I’m traditional that way.

Everything you see on my desktop is a KDE Plasmoid (also known as a ‘Plasma widget’), and there are many KDE widgets to chose from, both bundled with KDE and available for download from the Web. Some excellent widgets have been developed by individuals who have nothing to do with the KDE development team. The positioning of widgets, be it on the desktop itself or on the Panel, is entirely up to the user. In fact, there is nothing stopping you from having mutliple instances of the same widget. For example you could have two instances of the Comic Strip widget, each showing a different comic strip.

The only widgets I want on the desktop itself are, clockwise from top left:

Folder View

I use the Folder View widget to view the icons in my ~/Desktop directory. This is perhaps one of the most confusing concepts for Windows users to grasp, and also confused a lot of KDE 3 users (me included). On a traditional desktop the user can place icons for applications, directories (folders), files and shortcuts. In KDE 4, if you wish, the icons in the ~/Desktop directory can be shown in a Folder View widget on the desktop instead of on the desktop itself. Initially I preferred the traditional way, but I finally came to like using a Folder View widget to show the contents of my ~/Desktop directory on my desktop. The width and height of a Folder View widget are user-configurable, so I can keep it out of the way of the wallpaper image yet still easily access my most commonly used applications, scripts, directories and files. The widget automatically adds scroll bars when you resize it.

Folder View widget

Snapshot 4 - Folder View widget

Folder View widget showing tooltip

Snapshot 5 - Folder View widget showing tooltip

By the way, you can see above that I have Microsoft Office 2007 installed on my machine. It runs under WINE (see my earlier article WINE tips: Giving each Windows application its own environment for how I installed Office 2007). I use LibreOffice too, but have found that Office 2007 does some things better. Those three Office 2007 icons in my ~/Desktop directory launch Bash scripts that set up the WINEPREFIX and WINEARCH environment variables and issue the WINE command to launch the relevant Office 2007 application.

Folder View also allows the user to preview the contents of directories and sub-directories, so you can drill down very quickly into nested directories without clicking.

Folder View widget viewing directory contents

Snapshot 6 - Folder View widget viewing directory contents

Note that you can have as many Folder View widgets as you want on your desktop, and they can be used to view any directory, not just the ~/Desktop directory.

Hardware Temperature

This widget displays the current reading of the two ACPI temperature sensors in my laptop, both as trend graphs and on dashboard-type dials.

Network Monitor

This widget displays trend graphs of throughput in KiB/s for network interfaces specified by the user. I choose to display both wired (eth0) and wireless (wlan0) network graphs.


yaWP is an excellent weather widget with a lot of options. It is easily configurable for multiple locations, which is handy for my frequent travels.

My Panel

The widgets I added to the left end of my Panel are Lancelot Launcher, Takeoff Launcher, Pager (the four rectangles; more about that later) and Dictionary. The widgets I added to the right end of my Panel are: System Tray, Digital Clock and Wastebin. With the exception of Wastebin, all the icons shown on the right side of the Panel are inside the System Tray widget. Additionally, I placed the Icon-Only Task Manager widget in the middle of the Panel, to display an icon for each running application (file manager, browser, and so on), be it maximised or minimised.

An application launcher is a common feature of any Desktop Environment, and a number of launchers are available for KDE. The standard launcher is Kickoff, which originated in openSUSE. Naturally it is also a widget and, as with any widget, can be placed anywhere on the Panel or on the desktop itself (or both, if you feel like it!). Although I find the Kickoff launcher good, I prefer another launcher: Lancelot. I placed the Lancelot widget on the left side of the Panel, and configured it to use the Genxigen KDE menu icon. A click on the icon reveals Lancelot’s intuitive menu:

Lancelot Launcher

Snapshot 7 - Lancelot Launcher

The three System Actions buttons along the bottom of the Lancelot launcher pane are configurable. I have configured them to be Lock Session, Leave and Switch User. Clicking on Leave displays a menu with buttons Log Out, Reboot, Shut Down, Suspend to Disk and Suspend to RAM. A nice feature is that you can configure KDE to display a sub-menu for Reboot that allows you to specify which of the entries in your GRUB 2 bootloader menu you wish to boot (see GRUB2/BURG Integration in KDE).

I used to have more widgets and icons on my Panel, to enable me to quickly launch the applications I use most frequently (Firefox, Konqueror, Thunderbird, Dolphin, KCharSelect, KWrite, KCalc and so on). However, the icons took up space on the Panel and reduced the space available to the Icon-Only Task Manager for displaying the icons of running applications. So I added a second launcher widget on my Panel: Takeoff Launcher, the icon next to the Lancelot widget’s icon. I downloaded a crisp SVG Gentoo icon to use as that launcher’s icon on the Panel. Takeoff Launcher is a full-blown launcher, but I only use its Favourites pane, to launch my most frequently used applications.

Takeoff Launcher

Snapshot 8 - Takeoff Launcher

Lancelot also has a Favourites pane, but Takeoff is easy to configure to have a large pane with big, widely-spaced icons, and it is therefore good for quickly launching my most-used applications. So the only application I have left on the Panel is the KDE dictionary widget:

Dictionary widget on my Panel

Snapshot 9 - Dictionary widget on my Panel

System Tray

System Tray on my Panel

Snapshot 10 - System Tray on my Panel

The System Tray widget is the ‘notification area’ and holds a number of applets and widgets. The KDE icons for Clipboard, Volume, Device Notifer, Network Management, Printer Applet, Notifications, KOrganizer Reminder daemon, Desktop Search File Indexing and Battery Monitor (some of which are themselves widgets) are monochrome. I don’t think it is a coincidence that they were made monochrome after Microsoft changed to monochrome icons in the notification area of Windows 7. I wish I could change those KDE icons, as I prefer coloured notification icons in a System Tray: I find coloured icons quicker to recognise and I also prefer coloured icons from an aesthetic point of view. The coloured icons you can see in my System Tray are, from left to right, Compiz Fusion Icon, Easystroke, AutoKey, BasKet Note Pads, KAlarm and Keyboard Layout (clicking on the flag allows me to switch to other keyboard layouts, each with its own flag). One of these days I’ll get rid of the Compiz Fusion Icon, as I rarely use Compiz anymore because KWin Desktop Effects are now a match for Compiz in most areas.

EDIT (July 16, 2012): I have just discovered that there is a way to change the System Tray icons: see How to Use Custom Tray Icons in KDE.

Notifications applet pop-up messages can be disabled, but I prefer to leave them enabled as they come in handy when I’m sending photos from my phone to my laptop via Bluetooth. Here is what a pop-up from the Notifications applet looks like when Yakuake is launched at start up:

Notifications applet

Snapshot 11 - Notifications widget

By the way, Yakuake is another cool KDE application. Pressing F12 toggles a slide-down/up terminal window:


Snapshot 12 - Yakuake slide-down window

System Settings

The main GUI configuration menu for KDE is System Settings, which I can launch from either launcher. This is used to configure account details, workspace and application appearance, file associations, shortcuts, hardware settings, applications to run at startup, and just about anything else you can think of. I never bother to use System Settings to configure printers, though, as I prefer to use the CUPS Management interface http://localhost:631/ in a browser window.

System Settings main window

Snapshot 13 - System Settings main window

The items in the System Settings menu depend on which KControl modules are installed. For example, I installed the UFW KControl Module (the package kcm-ufw) so there is an entry in System Settings for UFW.

Firewall - System Settings

Snapshot 14 - Firewall - System Settings

One of the other configuration menus in System Settings is Desktop Effects, to configure the 3D and compositing effects that the KWin window manager provides. For screenshots of some of the effects see my earlier article Pimping my Desktop: have KWin Desktop Effects improved in KDE 4.6.2?

UFW KControl Module

Snapshot 15 - Desktop Effects - System Settings

Some people derisively call these effects ‘eye candy’ or ‘wobbly windows’ (the latter being one of the available effects) but I find some of them useful. The Desktop Cube (Ctrl-F11) and windows transparency (Alt + mouse scroll wheel) are two that I often use at work. Being able to place open windows on different faces of the cube, and flip quickly between them either with a mouse click, mouse wheel scroll or keyboard shortcut is handy. And sometimes I need to refer to text in a window underneath the one I’m typing in, and being able to make the latter transparent or semi-transparent quickly just to check something is also handy. Wobbly windows themselves are pure eye candy, but cool nonetheless. I’m so used to wobbly windows that I miss the effect if using another machine without it.

KWin Desktop Cube

Snapshot 16 - KWin Desktop Cube

I have configured the Pager widget to display the four virtual desktops (cube faces) as a row of four rectangles on the Panel, and I can click on any of the four rectangles to rotate the cube to the relevant virtual desktop (cube face). I have also configured the Pager’s keyboard shortcuts so that Ctrl-Alt- and Ctrl-Alt- rotate the cube left and right, respectively (see Switching from Compiz to the KDE Native Composite Engine).

Selecting Plasmoids (widgets)

Adding widgets to a Panel or to the desktop is easy. There is a small Tool Box icon in the top right of the desktop. Because of its shape, this icon is often called ‘the cashew’.

Tool Box ('the cashew')

Snapshot 17 - Tool Box ('the cashew')

You just click on it, select ‘Unlock Widgets’ then ‘Add Widgets’ (right-clicking on the desktop allows you to select ‘Add Widgets’ too), and a scrollable menu bar with widgets appears above the Panel:

Widgets menu

Snapshot 18 - Widgets menu

You can then select the widget you want and drag it to a place on the Panel or on the desktop itself. A ‘Get New Widgets…’ button allows you to search for, select and download other widgets from the Web or to install a new widget from a local file you downloaded earlier.

While ‘Unlock Widgets’ is selected there is also a cashew icon (‘Panel Tool Box’) at the right end of the Panel. If you click on that a menu pops up to allow you to configure the Panel itself (position, length, height, auto-hide, spacers and so on).


Activities are another unique KDE feature, and probably the least understood and least used of all KDE features. If you select Activities in the cashew menu (see Snapshot 17) or in the Widgets menu (see Snapshot 18), a new menu pops up:

Activities config menu

Snapshot 19 - Activities menu

Apart from my existing ‘Desktop’ activity (my normal environment with its four virtual desktops), I have three template activities titled ‘Search and Launch’, ‘Photos Activity’ and ‘Desktop Icons’. I could delete any or all of those or customise them as I wish (I could also click on the ‘Create Activity’ button to create further activities). For example, if I click on the ‘Photos Activity’ icon, I see the following desktop, which I could go on to customise by adding widgets and wallpaper that are unique to this activity.

an Activity

Snapshot 20 - an Activity

To see a screencast of Activities in action, check out ChaniBlog post Activities in Action. To read more about KDE Activities, see The Mystery of KDE Activities.

To be honest, I’m not particularly interested in using Activities, as I find the traditional virtual desktops in KDE adequate for my purposes. But I can see that Activities might have their uses. You can read some comments on the current state of Activities design, and suggestions to improve it, in the article Nine Ways to Make KDE Activities More Useful.


Mac OS X has made the dock concept popular, and there are a number of dock widgets specifically for KDE, such as Daisy. Cairo Dock is not specifically designed for KDE but works well in KDE. As you can see from the snapshot below, I installed it. To be honest, though, I never use it, as Lancelot Launcher, Takeoff Launcher, Folder View and the Panel do everything I want and more.

Cairo Dock

Snapshot 21 - Cairo Dock

Desktop Search

‘Desktop Search’ is one of the entries in System Settings. If I double-click on that entry I can then enable or disable Nepomuk Semantic Desktop (tagging and rating of files), Nepomuk File Indexer (searching of files by content instead of just by name) and E-mail Indexing (full text search in e-mails and their attachments).

If I click on the ‘Desktop Search File Indexing’ icon in the System Tray (the icon to the left of the Keyboard Layouts icon in Snapshot 11) then the following window pops-up, telling me the status of file indexing:


Snapshot 22 - Nepomuk

To give you an example of how I use Desktop Search, I was looking for a MIDI file of The Monkees’ ‘I’m A Believer’ that I saved a long time ago. I can press Alt-F2 to launch KRunner, and enter a search string:

Searching via KRunner

Snapshot 23 - Searching via KRunner

or I can click on the Lancelot Launcher icon and enter the search string there:

Searching via Lancelot

Snapshot 24 - Searching via Lancelot

Either way, clicking on the file they find launches KMid, the KDE MIDI file player:

Searching via Lancelot

Snapshot 25 - KMid

By the way, both KRunner and Lancelot will accept commands as well as file names.

File Managers

Dolphin file manager

Snapshot 26 - Dolphin file manager

Dolphin is the default file manager in KDE. It has a raft of features and is very easy to use. Features have been added to Dolphin in each KDE release, and it is now a powerful file manager. Other KDE file managers I use frequently are Krusader and Konqueror, the latter also a Web browser that I have found will sometimes display Web pages that Firefox cannot (I installed the kwebkitpart package and configured Konqueror to use the WebKit rendering engine by default rather than the KHTML rendering engine). Konqueror is not so popular since the advent of Dolphin, but I use it quite often as it has several strings to its bow.

Konqueror and Dolphin can use KIO Slaves (in Gentoo these are available by installing the packages kdebase-kioslaves, kdemultimedia-kioslaves and kio-sysinfo), which provide additional functionality. One of the KIO Slaves for Konqueror is sysinfo:/, which I have bookmarked to save typing it in the address bar:

Konqueror using sysinfo:/

Snapshot 27 - Konqueror using sysinfo:/

For more detailed system information, I select System > KInfoCenter from the Lancelot menu, or enter the command kinfocenter in KRunner or in the input field of Lancelot or in a terminal window (you are spoilt for choice in Linux!).

Applications and Tools I use

If you’re wondering what I used to capture the images for this article, apart from the ImageMagick import command to capture the KDM Greeter screen, I used KSnapshot:


Snapshot 28 - KSnapshot

And, after installing the package media-gfx/scrot, I used the following command in a Konsole window to take the above snapshot of the KSnapshot window:

$ scrot -d 6 -b -s snapshot.png

Coming in Part 2…

In my next article I’ll show you a few of the other applications and tools – both KDE and non-KDE – that I use regularly in KDE on my laptop.

AMD Catalyst for Linux driver 12.2 fixes the XVideo bug that crashed X.Org Server 1.11.x

Just a brief ‘heads up’ for users of the closed-source FGLRX driver in Linux: In a previous blog post I mentioned a bug in the AMD Catalyst driver for Linux that caused X.Org Server 1.11.x to crash if you tried to play a video and your media player was configured to use XVideo (Xv) output. The bug also meant that people talking to you via Skype could not enable their Web cams or X.Org Server 1.11.x would crash on your machine, as Skype uses XVideo.

The problem occurred with versions 11.11, 11.12 and 12.1 of the FGLRX driver (the package x11-drivers/ati-drivers). Well, today I installed version 12.2 of the driver and am pleased to report that I can again set media players to use Xv output without causing the X.Org Server to crash (I’m currently using xorg-server-1.11.4). Likewise, other people who I am talking to via Skype can again enable their Web cams without causing the X.Org Server on my machine to crash.

Installing the Takeoff Launcher in KDE 4.8.0

My application launcher of choice is Lancelot, which comes as part of the package kde-base/kdeplasma-addons. If you haven’t already tried it, you really should.

Anyway, recently on the blogsphere I read about Takeoff, another Plasmoid application launcher for KDE, first issued end July 2011. Looking at screen snapshots of Takeoff reminded me of a tablet’s screen: an uncluttered array of large application icons. My curiosity was piqued, so I decided to install the Takeoff Plasmoid. Here’s what I did to install it in KDE 4.8.0 in Gentoo Linux. The same straightforward procedure should also work in other Linux distributions with KDE 4.8, although installation is a bit easier for Arch Linux, Chakra, Fedora, openSUSE and Ubuntu, as packages exist for those distributions (see the Download page on the project’s Web site for details).

I downloaded takeoff-1.0.tar.gz to ~/Desktop

I right-clicked on the tarball and selected Extract > Extract Archive To… and extracted the files to the directory ~/takeoff-1.0

I opened a Konsole window and entered the following commands:

cd ~/takeoff-1.0

The README file tells you exactly how to install the Plasma widget (although I ignored the instruction to create the directory ~/takeoff-1.0/build/ as it already existed):

cd build
cmake .. && make
sudo make install

Then I did the usual in KDE to add the Takeoff widget to the Panel.

To configure Takeoff I right-clicked on its icon, clicked on ‘Takeoff Settings’ and, under ‘General Settings’, I unticked ‘Show Takeoff in full screen mode’. I also clicked on the icon under ‘General Settings’ and changed the icon to one of my choice. If you fancy a picture as the background of the launcher’s panel, tick ‘Show background image’, click on the ‘browse for file’ icon and select any wallpaper file that you have stored on your disk. There are other configuration options you can play with, such as the number of columns and rows of application icons to display in the launcher’s panel.

To display the launcher’s panel, just click on the Takeoff icon on your Panel. The Takeoff panel will pop up, as shown in the snaphot below of my screen.

Takeoff Launcher in KDE 4.8.0

Notice that there are tabs across the top of the launcher’s panel; these are the different categories of application available: Favourites, All Applications, Accessories, Education, Games, Graphics, Internet, Office, and so on. Click on one of these tabs to view all the applications in that category. If there are too many applications in that category to fit on the launcher’s panel, there will be a slider button at the bottom of the panel; just click on the next number on it to view the next page of applications in the category.

By the way, in case you’re wondering, naturally those are Gentoo penguins on my Desktop wallpaper.🙂

EDIT (July 10, 2012): For users of Gentoo there is now an ebuild (kde-misc/takeoff) in the Portage main tree, so use that to install Takeoff Launcher.

Moving Compiz to a local overlay in Gentoo

Sadly, Compiz’s heyday has passed and the Compiz ebuilds in the Gentoo Portage main tree were recently masked for removal. I rarely use Compiz these days, as KWin’s Desktop Effects are now almost as good. Nevertheless I want to keep Compiz installed for the time being, so I decided to move the ebuilds to a local overlay before the Gentoo developers remove them from the main Portage tree. Here’s how I did it.

The masked Compiz packages installed on my machine were:

# eix -I compiz
[D] dev-python/compizconfig-python
Available versions: [M](~)0.8.4 [M](~)0.8.4-r1 [M](~)0.8.4-r3
Installed versions: 0.8.4-r3(00:52:18 01/09/11)
Description: Compizconfig Python Bindings

[D] x11-libs/compiz-bcop
Available versions: [M](~)0.8.4
Installed versions: 0.8.4(23:33:17 27/08/11)
Description: Compiz Option code Generator

[D] x11-libs/compizconfig-backend-gconf
Available versions: [M](~)0.8.4-r2
Installed versions: 0.8.4-r2(18:39:26 27/08/11)
Description: Compizconfig Gconf Backend

[D] x11-libs/compizconfig-backend-kconfig4
Available versions: [M](~)0.8.4 {aqua}
Installed versions: 0.8.4(23:35:31 27/08/11)(-aqua -kdeenablefinal)
Description: Compizconfig Kconfig Backend

[D] x11-libs/libcompizconfig
Available versions: [M](~)0.8.4-r2!t
Installed versions: 0.8.4-r2!t(18:32:41 27/08/11)
Description: Compiz Configuration System

[D] x11-plugins/compiz-plugins-extra
Available versions: [M](~)0.8.6-r1 {gconf libnotify}
Installed versions: 0.8.6-r1(23:35:08 27/08/11)(libnotify -gconf)
Description: Compiz Fusion Window Decorator Extra Plugins

[D] x11-plugins/compiz-plugins-main
Available versions: [M](~)0.8.6-r1 {gconf}
Installed versions: 0.8.6-r1(18:33:51 27/08/11)(-gconf)
Description: Compiz Fusion Window Decorator Plugins

[D] x11-plugins/compiz-plugins-unsupported
Available versions: [M](~)0.8.4-r1!m
Installed versions: 0.8.4-r1!m(18:36:55 27/08/11)
Description: Compiz Fusion Window Decorator Unsupported Plugins

[D] x11-wm/compiz
Available versions: [M](~)0.8.6-r3 {+cairo fuse gconf gnome gtk kde +svg}
Installed versions: 0.8.6-r3(18:54:59 23/11/11)(cairo gtk kde svg -fuse -gconf -gnome)
Description: OpenGL window and compositing manager

[D] x11-wm/compiz-fusion
Available versions: [M](~)0.8.4-r1 [M](~)0.8.6 {emerald gnome kde unsupported}
Installed versions: 0.8.6(18:55:16 23/11/11)(emerald kde -gnome -unsupported)
Description: Compiz Fusion (meta)

Found 10 matches.
# eix -I fusion
[D] x11-apps/fusion-icon
Available versions: [M](~)0.1-r2 {gtk qt4}
Installed versions: 0.1-r2(18:55:09 23/11/11)(gtk qt4)
Description: Compiz Fusion Tray Icon and Manager

[D] x11-wm/compiz-fusion
Available versions: [M](~)0.8.4-r1 [M](~)0.8.6 {emerald gnome kde unsupported}
Installed versions: 0.8.6(18:55:16 23/11/11)(emerald kde -gnome -unsupported)
Description: Compiz Fusion (meta)

Found 2 matches.
# eix -I ccsm
[D] x11-apps/ccsm
Available versions: [M](~)0.8.4-r1
Installed versions: 0.8.4-r1(23:33:31 27/08/11)
Description: Compizconfig Settings Manager

# eix -I emerald
[D] x11-themes/emerald-themes
Available versions: [M](~)0.5.2
Installed versions: 0.5.2(18:47:58 27/01/11)
Description: Emerald window decorator themes

[D] x11-wm/emerald
Available versions: [M](~)0.8.4-r2
Installed versions: 0.8.4-r2(21:28:46 27/08/11)
Description: Emerald Window Decorator

Found 2 matches.

Using the locate command I quickly located the ebuilds:


I first created the necessary directories in my local overlay:

# mkdir -p /usr/local/portage/dev-python/compizconfig-python
# mkdir -p /usr/local/portage/x11-libs/compiz-bcop
# mkdir -p /usr/local/portage/x11-libs/compizconfig-backend-gconf
# mkdir -p /usr/local/portage/x11-libs/compizconfig-backend-kconfig4
# mkdir -p /usr/local/portage/x11-libs/libcompizconfig
# mkdir -p /usr/local/portage/x11-plugins/compiz-plugins-extra
# mkdir -p /usr/local/portage/x11-plugins/compiz-plugins-main
# mkdir -p /usr/local/portage/x11-plugins/compiz-plugins-unsupported
# mkdir -p /usr/local/portage/x11-wm/compiz
# mkdir -p /usr/local/portage/x11-wm/compiz-fusion
# mkdir -p /usr/local/portage/x11-apps/fusion-icon
# mkdir -p /usr/local/portage/x11-apps/ccsm
# mkdir -p /usr/local/portage/x11-themes/emerald-themes
# mkdir -p /usr/local/portage/x11-wm/emerald

Then I copied the ebuilds and associated files into each directory and generated a manifest for each:

# cd /usr/local/portage/dev-python/compizconfig-python
# cp -r /usr/portage/dev-python/compizconfig-python/* .
# ebuild compizconfig-python-0.8.4-r3.ebuild manifest
# cd /usr/local/portage/x11-libs/compiz-bcop
# cp -r /usr/portage/x11-libs/compiz-bcop/* .
# ebuild compiz-bcop-0.8.4.ebuild manifest
# cd /usr/local/portage/x11-libs/compizconfig-backend-gconf
# cp -r /usr/portage/x11-libs/compizconfig-backend-gconf/* .
# ebuild compizconfig-backend-gconf-0.8.4-r2.ebuild manifest
# cd /usr/local/portage/x11-libs/compizconfig-backend-kconfig4
# cp -r /usr/portage/x11-libs/compizconfig-backend-kconfig4/* .
# ebuild compizconfig-backend-kconfig4-0.8.4.ebuild manifest
# cd /usr/local/portage/x11-libs/libcompizconfig
# cp -r /usr/portage/x11-libs/libcompizconfig/* .
# ebuild libcompizconfig-0.8.4-r2.ebuild manifest
# cd /usr/local/portage/x11-plugins/compiz-plugins-extra
# cp -r /usr/portage/x11-plugins/compiz-plugins-extra/* .
# ebuild compiz-plugins-extra-0.8.6-r1.ebuild manifest
# cd /usr/local/portage/x11-plugins/compiz-plugins-main
# cp -r /usr/portage/x11-plugins/compiz-plugins-main/* .
# ebuild compiz-plugins-main-0.8.6-r1.ebuild manifest
# cd /usr/local/portage/x11-plugins/compiz-plugins-unsupported
# cp /usr/portage/x11-plugins/compiz-plugins-unsupported/* .
# ebuild compiz-plugins-unsupported-0.8.4-r1.ebuild manifest
# cd /usr/local/portage/x11-wm/compiz
# cp -r /usr/portage/x11-wm/compiz/* .
# ebuild compiz-0.8.6-r3.ebuild manifest
# cd /usr/local/portage/x11-wm/compiz-fusion
# cp -r /usr/portage/x11-wm/compiz-fusion/* .
# ebuild compiz-fusion-0.8.6.ebuild manifest
# cd /usr/local/portage/x11-apps/fusion-icon
# cp -r /usr/portage/x11-apps/fusion-icon/* .
# ebuild fusion-icon-0.1-r2.ebuild manifest
# cd /usr/local/portage/x11-apps/ccsm
# cp -r /usr/portage/x11-apps/ccsm/* .
# ebuild ccsm-0.8.4-r1.ebuild manifest
# cd /usr/local/portage/x11-themes/emerald-themes
# cp -r /usr/portage/x11-themes/emerald-themes/* .
# ebuild emerald-themes-0.5.2.ebuild manifest
# cd /usr/local/portage/x11-wm/emerald
# cp -r /usr/portage/x11-wm/emerald/* .
# ebuild emerald-0.8.4-r2.ebuild manifest

My /etc/make.conf file contains the following lines required for my local overlay and to accept any licences:

PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/portage/"

and I named my local overlay ‘local_overlay’:

# mkdir /usr/local/portage/profiles
# echo "local_overlay" > /usr/local/portage/profiles/repo_name

I then unmasked the ebuilds in my local overlay by listing them in the file /etc/portage/package.unmask:


I right-clicked on the Fusion Icon on the Panel and selected Quit, then I uninstalled the packages and reinstalled them from my local overlay:

# emerge -aC compizconfig-python compiz-bcop compizconfig-backend-gconf compizconfig-backend-kconfig4 libcompizconfig compiz-plugins-extra compiz-plugins-main compiz-plugins-unsupported compiz compiz-fusion fusion-icon ccsm emerald-themes emerald

# USE="-kde qt4" emerge -1v compizconfig-python compiz-bcop compizconfig-backend-gconf compizconfig-backend-kconfig4 libcompizconfig compiz-plugins-extra compiz-plugins-main compiz-plugins-unsupported compiz compiz-fusion fusion-icon ccsm emerald-themes emerald

The installed packages are now:

# eix -I compiz
[I] dev-python/compizconfig-python
Available versions: [M](~)0.8.4 {M}(~)0.8.4[1] [M](~)0.8.4-r1 {M}(~)0.8.4-r1[1] [M](~)0.8.4-r3 {M}(~)0.8.4-r3[1]
Installed versions: 0.8.4-r3[1](02:03:18 28/01/12)
Description: Compizconfig Python Bindings

[I] x11-libs/compiz-bcop
Available versions: [M](~)0.8.4 {M}(~)0.8.4[1]
Installed versions: 0.8.4[1](02:01:00 28/01/12)
Description: Compiz Option code Generator

[I] x11-libs/compizconfig-backend-gconf
Available versions: [M](~)0.8.4-r2 {M}(~)0.8.4-r2[1]
Installed versions: 0.8.4-r2[1](02:03:34 28/01/12)
Description: Compizconfig Gconf Backend

[I] x11-libs/compizconfig-backend-kconfig4
Available versions: [M](~)0.8.4 {M}(~)0.8.4[1] {aqua}
Installed versions: 0.8.4[1](02:03:59 28/01/12)(-aqua)
Description: Compizconfig Kconfig Backend

[I] x11-libs/libcompizconfig
Available versions: [M](~)0.8.4-r2!t {M}(~)0.8.4-r2!t[1]
Installed versions: 0.8.4-r2!t[1](02:01:31 28/01/12)
Description: Compiz Configuration System

[I] x11-plugins/compiz-plugins-extra
Available versions: [M](~)0.8.6-r1 {M}(~)0.8.6-r1[1] {gconf libnotify}
Installed versions: 0.8.6-r1[1](02:05:19 28/01/12)(libnotify -gconf)
Description: Compiz Fusion Window Decorator Extra Plugins

[I] x11-plugins/compiz-plugins-main
Available versions: [M](~)0.8.6-r1 {M}(~)0.8.6-r1[1] {gconf}
Installed versions: 0.8.6-r1[1](02:02:55 28/01/12)(-gconf)
Description: Compiz Fusion Window Decorator Plugins

[I] x11-plugins/compiz-plugins-unsupported
Available versions: [M](~)0.8.4-r1!m {M}(~)0.8.4-r1!m[1]
Installed versions: 0.8.4-r1!m[1](02:06:11 28/01/12)
Description: Compiz Fusion Window Decorator Unsupported Plugins

[I] x11-wm/compiz
Available versions: [M](~)0.8.6-r3 {M}(~)0.8.6-r3[1] {+cairo fuse gconf gnome gtk kde +svg}
Installed versions: 0.8.6-r3[1](02:41:46 28/01/12)(cairo gtk svg -fuse -gconf -gnome -kde)
Description: OpenGL window and compositing manager

[I] x11-wm/compiz-fusion
Available versions: [M](~)0.8.4-r1 {M}(~)0.8.4-r1[1] [M](~)0.8.6 {M}(~)0.8.6[1] {emerald gnome kde unsupported}
Installed versions: 0.8.6[1](02:07:11 28/01/12)(emerald -gnome -kde -unsupported)
Description: Compiz Fusion (meta)

[1] "local_overlay" /usr/local/portage

Found 10 matches.
# eix -I fusion
[I] x11-apps/fusion-icon
Available versions: [M](~)0.1-r2 {M}(~)0.1-r2[1] {gtk qt4}
Installed versions: 0.1-r2[1](02:06:20 28/01/12)(gtk qt4)
Description: Compiz Fusion Tray Icon and Manager

[I] x11-wm/compiz-fusion
Available versions: [M](~)0.8.4-r1 {M}(~)0.8.4-r1[1] [M](~)0.8.6 {M}(~)0.8.6[1] {emerald gnome kde unsupported}
Installed versions: 0.8.6[1](02:07:11 28/01/12)(emerald -gnome -kde -unsupported)
Description: Compiz Fusion (meta)

[1] "local_overlay" /usr/local/portage

Found 2 matches.
# eix -I ccsm
[I] x11-apps/ccsm
Available versions: [M](~)0.8.4-r1 {M}(~)0.8.4-r1[1]
Installed versions: 0.8.4-r1[1](02:05:30 28/01/12)
Description: Compizconfig Settings Manager

[1] "local_overlay" /usr/local/portage
# eix -I emerald
[I] x11-themes/emerald-themes
Available versions: [M](~)0.5.2 {M}(~)0.5.2[1]
Installed versions: 0.5.2[1](02:07:05 28/01/12)
Description: Emerald window decorator themes

[I] x11-wm/emerald
Available versions: [M](~)0.8.4-r2 {M}(~)0.8.4-r2[1]
Installed versions: 0.8.4-r2[1](02:06:55 28/01/12)
Description: Emerald Window Decorator

[1] "local_overlay" /usr/local/portage

Found 2 matches.

I launched KRunner (Alt-F2) and entered the command “fusion-icon” (without the quotes) to get the Fusion Icon back on the Panel, and then rebooted to check if everything was working correctly.

The only way I could get compiz-0.8.6-r3 to build this time was to specify "-kde" as a USE flag. The last time I merged that package, back in November 2011, it would build with USE="kde qt4" and enable me to select Emerald, GTK Window Decorator or KDE Window Decorator as the window decorator in Compiz. But, as the package will no longer build with the kde USE flag, I now only have the choice of Emerald or GTK Window Decorator. Perhaps this old, unmaintained compiz ebuild will no longer build with USE="kde" because I have since installed new versions of other packages on which it depends, and/or because I am now using KDE 4.8.0 instead of KDE 4.7.3. Anyway, at least I now have Compiz available for a while yet and can still select KWin or Compiz as the Window Manager.

EDIT (February 1, 2012): The stuff overlay has the following ebuilds, which do enable the KDE4 Window Decorator to be used with Compiz in KDE 4.8.0:


which can be installed as follows:

# layman -a stuff
# USE="kde qt4" emerge -1v compizconfig-python::stuff compiz-bcop::stuff compizconfig-backend-gconf::stuff compizconfig-backend-kconfig4::stuff libcompizconfig::stuff compiz-plugins-extra::stuff compiz-plugins-main::stuff compiz-plugins-unsupported::stuff compiz::stuff compiz-fusion::stuff fusion-icon::stuff ccsm::stuff emerald-themes::stuff emerald::stuff

Toggle KWin compositing on and off easily from your Desktop

KWin’s Desktop Effects work well and I usually have them enabled, only disabling compositing temporarily while I play a game (I’m a sucker for old arcade games running in GMAMEUI).

One way to enable/disable compositing in KWin 4.7.0 is via System Settings > Desktop Effects > tick/untick ‘Enable desktop effects at startup’ > Apply. This change only takes effect when you restart KDE. A way to toggle compositing on/off is to use a keyboard shortcut. The default keyboard shortcut for this in KWin is Alt-Shift-F12, but KDE on my machine tells me that Qt does not like the use of the Alt key in this shortcut, so I used System Settings > Desktop Effects to change the shortcut to Ctrl+Shift+U, which does toggle compositing on/off.

A toggle icon on the Desktop is another way of achieving the same thing, and is handy if you are using your mouse at the time. Now, a Plasma widget called Toggle-Compositing exists and is a nice way of enabling/disabling compositing at the click of a mouse. However, it has to be compiled — which some users may feel reluctant to do — and it requires the user to know the $KDEDIR, and I’ll wager some users don’t.

Below I describe one way of adding an icon to your Desktop that you can use to toggle compositing in KWin and that does not require any compiling, so it should be more straightforward to implement by a newcomer to KDE.

Use your preferred text editor to create the following Desktop Configuration File named toggle_compositing_in_KWin in your Desktop directory:

[Desktop Entry]
Comment[en_GB]=toggles compositing in KWin
Comment=toggles compositing in KWin
Exec=sh /home/fitzcarraldo/
GenericName[en_GB]=toggles compositing in KWin
GenericName=toggles compositing in KWin

(Replace “fitzcarraldo” with your user name, of course.)

Then create a text file ~/ containing the following:

echo -n "Current compositing state: "
qdbus org.kde.kwin /KWin compositingActive
echo -n "Changing compositing state..."
qdbus org.kde.kwin /KWin toggleCompositing
echo -n "Current compositing state: "
qdbus org.kde.kwin /KWin compositingActive
echo -n "All done. Press ENTER to close window: "
read ENTRY

Finally, open a Konsole window and enter the following command under your own user account:

chmod +x

And there you have it. You’ll have an icon on your Desktop that looks something like the following:

KWin icon

KWin icon

All you need to do is double-click (or single-click, if you have configured KDE that way) on the icon toggle_compositing_in_KWin on your Desktop and a window will pop-up telling you:

Current compositing state: true
Changing compositing state...
Current compositing state: false
All done. Press ENTER to close window:

To re-enable compositing, just double-click the icon again. And so on.

And now the final touch…

Actually, it’s not necessary to include the last two lines:

echo -n "All done. Press ENTER to close window: "
read ENTRY

in the Bash script above; I just put them in to display the current compositing state. If you omit those two lines then toggling compositing on and off simply becomes a double-click on the icon on the Desktop (or a single click if you have configured KDE that way). In fact, if you also change Terminal=true to Terminal=false and StartupNotify=true to StartupNotify=false in the Desktop Configuration File, then you won’t even see a Konsole window pop-up briefly: compositing will just be toggled on and off seamlessly, so to speak. Just like the keyboard shortcut, only easier to remember!


Get every new post delivered to your Inbox.

Join 68 other followers