I wrote long time ago a post about Openbox and I thought I could put it back in order (it was in bit of mess after several moves between different blogging platforms). While doing this, it crossed in my mind that I could make a similar post about Pekwm, which I use nowadays. I’m not going to go thru how to install it and do various tricks but rather tell about my own experiences with it as well as give some resources where you find more information.

I have had few encounters with Pekwm before this, but usually I went back to Openbox pretty fast. Now I have been staying with it longer and the more I use Pekwm the more I like it. What is Pekwm:

pekwm is a window manager that once up on a time was based on the aewm++ window manager, but it has evolved enough that it no longer resembles aewm++ at all. It has a much expanded feature-set, including window grouping (similar to ion, pwm, or fluxbox), autoproperties, xinerama, keygrabber that supports keychains, and much more.

From: Pekwm

I have mostly used Openbox so for me it is easiest to compare Pekwm to it. At first glance the differences aren’t that big and I could easily make my Openbox and Pekwm desktops almost identical. But there are some differences:

  • No graphical configuring tools – all happens by editing text files (for some reason I really like this).
  • Pixmap theme support – basically this means that you can have more complicated and fancier window decorations.
  • Bases on Aewm++ – Openbox bases on Blackbox.
  • You can group/tab windows.

Pekwm has similar right click menu as Openbox (or for example Fluxbox), and it doesn’t update itself when you install new applications. Some may not like this but after getting used to it (which didn’t take long) I have started appreciate the freedom to put things in the exact order I want to.

Pekwm and the tabs.

screenshot - pekwm tabs

This is one of my favourite features in pekwm, makes life little easier especially if you don’t have much screen estate to waste. How: Place the cursor over the title bar of one window and then click and hold with the center mouse button (or both buttons on a two button mouse) and drag towards another open window title bar. A small rectangle with the word “Grouping” and the name of the first app will appear. Drop the rectangle onto the title bar of the second app and the two applications will be in one window. In this way you could for example achieve kind of fake tabs in Thunar.

Menu stuff. You can see there also the config files and themes I have, as well as a list of applications I’m using.

screenshot - pekwm menus

Config files

I will talk little bit about the configuring, just some basic stuff. In ~/.pekwm you find all the config files (autoproperties, config, keys, menu, mouse, start, vars) and the themes. Most of them are very easy. For example start -file follows same form as Openbox’s autostart.sh -file.

#loads the right gtk theme for pekwm...
cp /home/hanna/.gtkrc-2.0.Pekwm /home/hanna/.gtkrc-2.0 &
export OOO_FORCE_DESKTOP=gnome
#Set-up automounting
thunar --daemon &
alsactl restore &
#desktop wallpaper
nitrogen --restore &
#network
#wicd-client &
#apps
(sleep 4s && nm-applet) &
(sleep 2 && conky) &
(sleep 4 && tint2) &
(sleep 6 && pidgin) &
(sleep 8 && gwibber) &
(sleep 10 && mpd) &
(sleep 12 && mpdscribble) &

Menu, config and vars are very straightforward (you can use MenuMaker to create the menu with all the applications that are installed, I prefer to do it by hand because I don’t like the order in which MenuMaker puts everything). There ends the really easy parts. But I think I have keys and mouse quite well under control. Autoproperties gives me headache.

/* This should start making sense to you by now. */

Comment from autoproperties -file

No, it doesn’t really. I’m still bit a lot lost with autoproperties, but I’m sure I’ll figure it out eventually. And when I have figured that I’ll post about it. Probably I have to read the manual – again.

I don’t like how for example windows or menu behave by default so it was one the first things to change (focus on hover instead of on click). I’d say default is fine if you use keyboard more than your mouse. Mouse -file has good inline comments how to change behaviour and more tips in this entry by Urukrama. What I still would like to change is that I could shade and unshade window by scrolling over the title bar (like in Openbox ;)).

As said menu is easy. This is part of my Rootmenu (right click over desktop).

Rootmenu = "Ossiriand" {
	Entry = "Päivitä" { Actions = "Reload" }
		Separator {}
	Entry = "Terminaali" { Actions = "Exec terminator -b --geometry 700x680+300+50 &"}
		Separator {}
	Submenu ="paikat" {
		Entry = "~/" { Actions = "Exec thunar ~/ &"}
		Entry = "~/musiikki" { Actions = "Exec thunar ~/musiikki/ &"}
		Separator {}
		Submenu = "~/." {
		          Entry = "~/.config" { Actions = "Exec thunar ~/.config/ &"}
		          Entry = "~/.pekwm" { Actions = "Exec thunar ~/.pekwm/ &"}
                                }
			  }
		        }

I like having “reload” first in my menu, in case I screw something in menu I may be still able to reload and repair (well obviously you could also just press Ctrl+Alt+Del). You can also modify menu (WindowMenu) that pops up when you right click over the title bar. I had forgotten one brace (}) between Rootmenu and WindowMenu, so obviously WindowMenu didn’t work.

This is part of my keys file (~/.pekwm/keys). Mod1 refers to alt and Mod4 to freedom key. There is a lot pre configured keybindings and making your own isn’t difficult after you realise where you are supposed to put them. In Global, not in Chains. (RTFM, it’s there. That’s was for myself.)

	#APPS
	KeyPress = "Mod1 F2" { Actions = "Exec gmrun &" }
	KeyPress = "Mod4 E" { Actions = "Exec urxvt &" }
	KeyPress = "Mod4 M" { Actions = "Exec roxterm --geometry 103x4+286+671 &" }
	KeyPress = "Mod4 P" { Actions = "Exec pidgin &" }
	KeyPress = "Mod4 L" { Actions = "Exec liferea &" }
	KeyPress = "Mod4 G" { Actions = "Exec gpodder &" }
	KeyPress = "Mod4 N" { Actions = "Exec nitrogen --sort=time /home/hanna/kuvat/wallpapers/ &" }
	KeyPress = "Mod4 S" { Actions = "Exec skype --style GTK &" }
	KeyPress = "Print" { Actions = "Exec scrot -e 'mv $f ~/kuvat/screenshots/' &"}
	KeyPress = "Mod1 Print" { Actions = "Exec scrot -d 15 -e 'mv $f ~/kuvat/screenshots/' &" }
	KeyPress = "Ctrl Print" { Actions = "Exec scrot -s -e 'mv $f ~/kuvat/screenshots/' &" }

Aesthetics and making the desktop work

And in the beginning there is a blank screen. The default theme is surprisingly pretty (a lot better than what they had before): orange, white and grey. There is dynamic submenu to change themes (you can choose between default and default-plain). You can easily add new themes in ~/.pekwm/themes/. Making own theme requires opening GIMP and your favourite text editor.

Pekwm isn’t desktop environment, it’s window mangar, so you may want to add something to the desktop to work exactly the way you want. Panels, docks, wallpaper etc… I use same apps as I used with Openbox.

  • Panel – Tint2 (Or BMPanel, which seems to be quite common among Pekwm users. LXPanel works too.) Tint2 has a systray in newest version.
  • Wallpaper – Nitrogen (I have also tried Feh)

Because I use different GTK themes with Openbox and Pekwm, I set themes in two different .gtkrc-2.0 files (.gtkrc-2.0.pekwm and .gtkrc-2.0.openbox). I use also LXApperance, but you could also use also Gtk-chtheme.

On eye candy, I’m not big fan of it, but sometimes I like using xcompmgr. Unfortunately it seems that Pekwm doesn’t get along with it very well. Having shadows isn’t worth of that everything goes bit sluggish on desktop.

The supply isn’t very wide but here is some places where you can find Pekwm themes:

Resources

In the end

I use Pekwm because it’s light, I like little tweaking and twiddling here and there with text files. You have more freedom with theming and I love the grouping. I think this gives some idea whether this is for you or not.

Notes:

Pekwm and gtk: under construction, in second screenshot gtk: perfection
Wallpaper: Part of TABDwallpapers. Release, Lush