Skip to main content

Show desktop (or minimize all) in KDE 4

Disclaimer: Please correct me if you know better. Thank you. Back in KDE 3 I've been using WIN+D repeatedly to minimize all open windows ("show desktop"). In KDE 4 the "show desktop" feature seems to have been replaced by "show dashboard" (CTRL+F12), which is quite a different thing and not what I want. As missing the minimize-all hotkey started really bugging me I invested a little time to find out if this is really the end. Luckily it's not though I can only present a workaround rather than a "real solution". The easiest (only?) way to assign global hotkeys to programs in KDE 4 is adding an item to the KDE menu. So if we had a program/command to trigger a toggle on "show desktop" we were done. I found a tiny Bash script to do that:

#!/bin/sh
target=on
if xprop -root  _NET_SHOWING_DESKTOP | fgrep '= 1' ; then
    target=off
fi
wmctrl -k ${target}

(requires xprop and wmctrl, i.e. x11-apps/xprop and x11-misc/wmctrl in Gentoo) Put that in a file called toggle-show-desktop.sh or so, make it executable and add a KDE menu entry for it: (The Menu Editor can be found in the contect menue of the "KDE button" also know as Application Launcher Menu.)

Now assign a hotkey in the "Advanced" tab, done.
For comparison/completeness in KDE 3 it's here:

.. and in XFCE here:

My next post/rant on KDE4 will probably be about the removal of vertical gradiants as desktop backgrounds. No, I don't wat to do that with Gimp. Seems like I'm the only one ever having used it. Anyway...

Repeated "No space left on device" from Portage or inodes need space, too

I just ran into "No space left on device" from Portage again. In such a situation previously I ran

# df -H

just to find that there was space left on all mounted devices! Confused I deleted a few distfiles through

# rm -vf /usr/portage/distfiles/*

and found Portage to work again magically. This time I remembered a chat with rbu: Inodes can run out, too.

Checking the number of free inodes I was in trouble indeed:

# df -i -H
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
..
/dev/sda7               1.3M    1.3M       1  100% /var
..

That's all I wanted to share.

(PS: With /var on a different partition now deleting distfiles no longer helps...)

gentoo-dev for Gentoo users

Maybe I'm the last to stumble upon this... anyway: Nabble is monitoring gentoo-dev offering a search and browse interface and two feeds for it: "new message" and "new threads". I was thinking the "new threads" one could be a great tool to Gentoo users that are not interested in every single mail (I currently am) but still would like to keep on track of the big picture of gentoo-dev. I would have needed just that for the Google Summer of Code mailing list.

Linux Mint, logos and wallpapers

I think I stumbled upon Linux Mint on DistroWatch, upon this screnshot:

Somehow I wanted to see that wallpaper on my desk. Finally I found the image and put it up my desk:

It didn't take long to where I wanted a version without the mint logo on it. The logo is nice but I don't like to look at logos all day long. So I contacted the wallpaper's author Zwopper who sent me a no-logo version in both green and blue in no time also allowed me to share it with you under a CC-BY-SA-3.0 license here. As far as I understand they have not been published like that elsewhere before. Here they are.

Click the thumbnails for PNG downloads with 2560x1600 pixels size.

Python, Git and a post-checkout hook

When switching between branches with different sets of .py files it can easily happen that code containing broken imports is slipping through unnoticed. By broken import I mean import foo with no foo.py around on that branch. Such thing can happen, as the .pyc file is still laying around. To prevent it you could stuff this into .git/hooks/post-checkout:

#! /usr/bin/env bash
find . -name '*.pyc' -print -delete | \
   sed 's|^|[post-checkout] Deleting |'

or a slightly smarter version of it:

#! /usr/bin/env bash
find . -type f -name '*.pyc' -exec bash -c '
pyc_file="{}"
py_file=${pyc_file/\.pyc/.py}
if [[ ! -f "${py_file}" ]]; then
    rm -v "${pyc_file}"
fi
' \; | \
sed 's|^|[post-checkout] |'

Looking at Smolt

Since release 1.3.2 Smolt comes with a tab "Distribution" to show distribution- specific information:

(The new Qt-based GUI client was introduced somewhere after Smolt 1.2 by Carlos Gonçalves, see here for details.) The currently quasi-empty tab is shown no matter what distro you run Smolt on. However, on my "gentoo" branch it looks slightly different:

I have also been working on simple extractors for dpkg and rpm to better understand the distribution specific interface that I'm introducing on code level. After all one of the long term goals is to feed Smolt statistics with PackageMapped installation data from across distros, not just Gentoo. So if you read this and feel like bringing support for another distro (say Arch) to Smolt now is a great time to contact me.

PS: Check my "sping" overlay for a Smolt 1.3.2 ebuild.

GNU IceCat 3.5.1 and the "njw" overlay

Nick J. White's "njw" overlay has been added to the list of "registered" overlays (i.e. to layman-global.txt) recently. Besides other ebuilds it features an ebuild for the lastest version of GNU IceCat, the GNU project's zero- non-libre-bytes edition of Mozilla Firefox. Check it out through

# layman -a njw
# autounmask www-client/icecat-3.5.1
# emerge -av =www-client/icecat

I want Nick to become a Gentoo dev so please tell him if you like his ebuilds :-)