[mythtv-users] My experience with the ratpoison window manager

Yeechang Lee ylee at pobox.com
Wed Nov 8 05:02:43 UTC 2006


Richard Bronosky <mythtv at bronosky.com> says:
> I'm thinking that Ion3 is an obvious choice for a WM on a set top
> box.  There really is no point in a desktop or unused space on a
> Television screen.

I completely agree. That's why I use Ratpoison
(<URL:http://www.nongnu.org/ratpoison/>), the window manager without
any visible windows! Rather, each window takes up the full screen,
with no decorations of any kind.

My ~/.ratpoisonrc file:

    escape F12
    deffont *-lucidatypewriter-*-*-*-*-34-* # I have a 47" LCD, you see
    bind c exec rxvt -fn "*-lucidatypewriter-*-*-*-*-34-*"
    bind Left prev
    bind Right next


My ~/.Xclients and ~/.Xclients-ratpoison files:

    #!/bin/sh

    exec ~/.Xclients-ratpoison

---------------

    #!/bin/sh

    [Snipped]

    ratpoison &
    urxvt -fn "*-lucidatypewriter-*-*-*-*-34-*" -sl 65535 \
    -e nice -n 19 tail -f /var/log/mythtv/mythbackend.log &
    urxvt -fn "*-lucidatypewriter-*-*-*-*-34-*" -sl 65535 \
    -e mythfrontend -v playback

I have bound one of the editable buttons on my MX-500 remote control
to F12. This way, I can push that button then left or right on the
directional pad to flip between windows (I have one set up to display
the contents of mythbackend.log, and another to show the console
output from mythfrontend).

This setup has worked perfectly for ten months. The only oddity is
that sometimes, when mythfrontend pops up that little window that says
that for one reason or another it can't talk to mythbackend, I can't
click the "Ok" button with my remote. I'm not sure if this is a focus
issue because this only happens some of the time the little window
appears. In such a case I simply restart mythfrontend with the remote
button I've wired to call the following script if pushed twice within
three seconds' time (note that this is an improved version of what
appears at
<URL:http://www.gossamer-threads.com/lists/mythtv/users/208553#208553>):

#!/bin/bash
PROG=mythfrontend
STATUS=`ps -e | grep $PROG | grep -v grep | wc -l | awk '{print $1}'`

if [ `echo $DISPLAY | grep -c ":0"` -ge 1 ]
then
    if [ $STATUS -eq 0 ]
    then
        ( $PROG & )
    else

        if [ -a /tmp/mythpowerbutton-off ]
        then
                touch /tmp/mythpowerbutton-on;
                exit;
        else
                touch /tmp/mythpowerbutton-off;
                sleep 3;
                if [ -a /tmp/mythpowerbutton-on ]
                then
                    rm -rf /tmp/mythpowerbutton-o* && killall $PROG
                fi
                rm -rf /tmp/mythpowerbutton-o*
        fi
        rm -rf /tmp/mythpowerbutton-o*
    fi
fi
exit 0

Yeechang, who unsurprisingly also uses GNU screen
-- 
Yeechang Lee <ylee at pobox.com> | +1 650 776 7763 | San Francisco CA US


More information about the mythtv-users mailing list