Saturday 17 July 2010

Building tint2 panel on fedora13

Why: trying to make LXDE usable on Fedora13.
Want: try tint2, e.g. howto replace lxpanel with tint2 trayer
Because: I've observed the window list extending behind other items (the system tray or pager) in my lxpanel.

Starting from:
  • install Fedora13 from DVD (not a Live disk) choosing default Gnome desktop.
  • Add LXDE by yum groupinstall LXDE

This might or might not be overkill, but it works:
  • Add development tools:
yum groupinstall "Development Tools" "Legacy Software Development"
Download, build and install cmake
  • from cmake
  • tar zxf , cd into cmake directory:
./bootstrap
gmake
sudo make install
Download tint2 sources,
  • in my case from tint2
  • tar jxf, cd into tint2 directory
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
and at this point discover that many dependencies are not met.
sudo yum install imlib2-devel glib2-devel cairo-devel pango-devel libXcomposite-devel libXdamage-devel libXinerama-devel libXrandr-devel gtk2-devel
then
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
make
sudo make install
Now then: trayer?
sources for this came from fbpanel but have migrated to fvwm-crystal.
Hmm not sure about that; it's pretty ancient, and doesn't compile; and doesn't attempt to build a program, its only a plugin for fvwm.
Source and executables are available from debian repositories; comments note that someone has hacked a standalone app from the fvwm code.
I unpacked the debian sources, applied the patches, and attempted the build, but there were some problems that I didn't pursue.
Unpacked the debian binary which is just /usr/bin/trayer and some man pages.
Copied trayer to my own /usr/local/bin, and it works.

Applied the config changes described in the link given at the start of this page.
Sort of - my installation of openbox doesn't have an autostart as described, so I added lines to /etc/xdg/lxsession/LXDE/autostart instead - without the sleep instructions.
@tint
@trayer --expand true --transparent true --alpha 255 --edge bottom --align right --expand true --SetDockType true --widthtype request --margin 130
Hmm. tint fails. It isn't called tint anymore, it should be tint2.
Now it starts, but two problems
  1. an error is issued about a tray already running.
  2. tint2 and trayer do not work well together. Each can expand until they meet - and after they meet, so that eventually tint2 obscures trayer.
Turns out I've started from an old document. The most recent tint2 contains its own system tray, so trayer is not required. I've used it as part of fvwm, where it works quite well, but it has no place with lxpanel or tint2.
Also, the tint configuration file has moved to .config/tint2/tint2rc, and usefully a default version is created by tint2 itself. The documentation in the current tint website is pretty good too. See the wiki page here

Finally, I'm starting tint2 and lxpanel from ./config/lxsession/LXDE/autostart (which I created myself, instead of editing the global /etc/xdg/lxsession... )
@lxpanel --profile LXDE
@tint2
@conky
This is set up so that the lxpanel is top of screen, and contains a pager and various app starters, while tint2 is at the bottom and has only a window list and a tray.

So, time to return to the initial requirements: is tint2 better than lxpanel?
I'm not sure. It doesn't really have a pager, although the window list can be split to show windows on different screens simultaneously - this clutters the panel too much. Similar windows can't be grouped. The clock has no calendar function.
Running with lxpanel is an interesting compromise.

I've tried reverting to lxpanel top and bottom, and strangely now I can't repeat the original problem where the window list and pager items overlap.

I still have an issue with lxpanel where the "show desktop" button hides one of the panels as well as the open windows. But I can live without that feature.

tint2 might become more interesting as it matures. Not sure if its ready for prime time yet.

No comments:

Post a Comment