Some Gnome fit and finish work

I would like to convince work colleagues using recent Ubuntu and RedHat distributions to give a tiling wm a try. For many jarring visuals may be enough to create resistance. Thus I have taken it upon myself to produce a well polished Gnome integration. Here I am posting some results of that work. I started with a vanilla Ubuntu Gnome setup. I dropped the lower Gnome panel and its applets. On the remaining upper panel I included left to right: - a standard Gnome separator applet - the Gnome Window Selector applet - a recent dzen2 build with Xft support, configured to occupy the middle half of the bar and to display only the current window's title in a style identical to the rest of the panel - the Gnome Workspace Switcher applet Attached bar.png exhibits this basic configuration. I particularly like having the Window Selector display the current window's icon to the left of the title. Attached window-selector.png shows the applet in its dropped-down state. The biggest effort was getting a dmenu that looked right on the bar. I know nothing about graphics, font rendering, etc. But between Alexander Polakov's patch for dmenu 3.4 and the example of Robert Manea's xft support in dzen I got it to work (dmenu-4.0-xft.diff). To get a properly sized dmenu bar I had to add a -bh option to configure bar height. Net net effect is a dmenu bar using the same font and colors (see dmenu.png). My xmonad.hs at the moment is utterly sparse but does attempt to simplify the process of accommodating additional themes. /john

Excerpts from John Yates's message of Wed May 20 06:02:58 +0100 2009:
- the Gnome Window Selector applet - a recent dzen2 build with Xft support, configured to occupy the middle half of the bar and to display only the current window's title in a style identical to the rest of the panel
Very nice, however why not just use the Window List applet instead of Window Selector? Then you don't have to bother with dzen at all. -- Henri

On Wed, May 20, 2009 at 5:29 AM, Henri Ducrocq
Very nice, however why not just use the Window List applet instead of Window Selector? Then you don't have to bother with dzen at all.
Because the Window List applet generates the series of every narrowing buttons that typically appears in a bottom bar. Having such a UI element appear at the top of the screen would be disconcerting. Also, since I use layouts without title bars I need some place to render the full title of the current window. The most common tiling wm solution is as part of the top bar. At present I consider the Window Selector mostly a learning aid, clarifying for new users the distribution of windows across workspaces. This is because using it requires using a mouse. I may shift to viewing the Window Selector as a more integral part of the UI if I can figure out how to activate / navigate it using only the keyboard. /john

Line 69: it could result in a pattern match failure if it is applied to lists shorter than 3 elements. Most likely DynamicLog doesn't do that, so the function is safe (and IIRC xmonad would catch the error anyways). The alternative using take and drop is shorter too:
, ppOrder = \(_:_:title:_) -> [title] -- no easier way?
, ppOrder = take 1 . drop 2
There is also XMonad.Config.Gnome.gnomeConfig which hides the ewmh and avoidstruts stuff. It may be worth considering using instead of XMonad.defaultConfig. Adam

On Wed, May 20, 2009 at 10:37 AM, Adam Vogt
Line 69: it could result in a pattern match failure if it is applied to lists shorter than 3 elements. Most likely DynamicLog doesn't do that, so the function is safe (and IIRC xmonad would catch the error anyways). The alternative using take and drop is shorter too:
, ppOrder = \(_:_:title:_) -> [title] -- no easier way?
, ppOrder = take 1 . drop 2
Done.
There is also XMonad.Config.Gnome.gnomeConfig which hides the ewmh and avoidstruts stuff. It may be worth considering using instead of XMonad.defaultConfig.
Thanks for the pointer. gnomeConfig definitely simplifies my xmonad.hs though currently it is not a total ewmh solution. I still have to include ewmhDesktopsLogHook in myLogHookWithPP (see attached). /john

On Wed, May 20, 2009 at 01:02:58AM -0400, John Yates wrote:
The biggest effort was getting a dmenu that looked right on the bar.
Why not use XMonad.Prompt.Window from contrib? I believe you have to compile contrib with xft support (see xmonad-contrib.cabal), but at least there's no patching, and I think it looks better. -- Anyone can memorize things, but the important thing is to understand it. Lucky Numbers 6, 7, 19, 24, 26, 29
participants (4)
-
Adam Vogt
-
Devin Mullins
-
Henri Ducrocq
-
John Yates