Saturday, August 15, 2009

VLC & Mplayer

VLC
vlc is in the zubuntu repository, on the desktop it is very reliable player. It is part of the zubuntu repository and can be installed easily. Running it might be a little more complicated, because vlc does not allowed to be run by the root user (which is the default user in zubuntu). After
searching in google a little, I found out that either vlc has to be recompiled with the "--enable-run-as-root" switch or using the vlc-wrapper. In the later case, I used the following command,

SUDO_UID=4212 vlc-wrapper as root
The problem with this method is that vlc does not have permissions to change the configuration file (~/.config/vlc/vlcrc).
Searching a little more I found this post which describe how the vlc binary (/usr/bin/vlc) can be modified to be able to run as root. This method is (not so) elegant, but it beats recompiling. To summarize, using a hex-editor (I used hexedit from the zubuntu repositories), line 630, change geteuid to getppid.

The video playback though, is very disappointing, even when using vlc-sdl-plugin (also from the repositories)...

MPlayer
For some reason mplayer is not included the jaunty arm repositry. But it can be found in the Debian one. The easiest way I found it could be installed was simply to add the Sid repository to /etc/apt/sources.list. To install mplayer, add at the end of the file,
deb http://ftp.de.debian.org/debian sid main
then update the package cache by,
apt-get update
then install mplayer,
apt-get install mplayer
and that's that. It may be advisable to remove the line from sources.list. mplayer shows better performance than vlc, but still not enough to watch movies (to my taste).

Wednesday, August 12, 2009

Chess & Comics

QComicBook
Browsing the internet I stumbled upon this comicbook reader (which is in the repository). Supposedly it can read cbr files (rar compressed files), but I didn't manage to use it like that. But It's ok I can unrar the comics to a folder and read it there.
After install there wasn't a launcher in the icewm menu, so I have to start it from the terminal (until I'll manage to manually putting a launcher there...)

Crafty, XBoard
I got armel version of crafty from the maemo repository. xboard is in the default repository.
xboard can be started by issuing the following command:

xboard -font -*-fixed-bold-r-normal--*-*-*-*-*-*-*-* -clockFont -*-fixed-bold-r-normal--*-*-*-*-*-*-*-* -coordFont -*-fixed-bold-r-normal--*-*-*-*-*-*-*-* -fcp crafty
The default fonts have to be overridden because xboard uses by default helvetica font which is not installed (I couldn't find it anyway...).
The fonts and engine can be set as default in the ~/.Xdefaults file, at the end of the file add,
xboard*font:*-*-fixed-medium-r-normal--*-130-*-*-*-*-iso8859-1
xboard*clockFont:*-*-fixed-medium-r-normal--*-130-*-*-*-*-iso8859-1
xboard*coordFont:*-*-fixed-medium-r-normal--*-130-*-*-*-*-iso8859-1
xboard*firstChessProgram:crafty
then xboard can be started simply by,
xboard
Additional settings can be found in the xboard manpage.

Saturday, August 8, 2009

Power button & Wifi scripts

Power Button
There is a little bug, where when pressing the "power" button, the window list opens. I guess it can also be fixed through the IceWM settings, but I chose to fix it by mapping the power button to Control_L using xmodmap. In the ~/.xinintrc file, I added after the xbattbar command the following line:

xmodmap -e "keycode 8 = Control_L"

Wifi Scripts
I added an osd message when turning on and of the wifi via the "Mail" button. The script /usb/bin/pci is responsible for turning on the wifi and /usb/bin/pce for turning it off. So I added:
osd.sh "Wifi On" &
to /usb/bin/pci and
osd.sh "Wifi Off" &
to /usb/bin/pce

By default, after waking up from standby, the zaurus tries to turn on the wifi. I prefer the wifi to be be off by default. So i change, in /etc/apm/scripts.d/wifi
pci
to:
pce

Thursday, August 6, 2009

Conky

I've found Conky, first for my desktop, and then I installed it on the Z. This utility can present a lot of information to the desktop, such as CPU usage, disk usage, battery levels, wifi signal strength etc. It uses a config file in the home directory (~/.conkyrc). Here's my conkyrc file.

I also wrote this script (/bin/apmStat.sh) to report the battery status.

Tuesday, August 4, 2009

Some more tweaks to Zubuntu

/bin/bl
For some reason in the /bin/bl script the line setting the highest brightness is marked out and the MAX_BRIGHTNESS is set to 15. So I unmarked the following line:

#MAX_BRIGHTNESS=`cat /sys/class/backlight/$DRIVER/max_brightness`
Next, to restore the original brightness value after suspend/lid closed (according the original script the brightness is set to the maximum value). I added after
elif [ "$1" = "on" ]; then
the following lines:
if [ -a /tmp/BrightnessBeforeOff ]; then
echo `cat /tmp/BrightnessBeforeOff` >> $BRIGHTNESS_FILE
rm /tmp/BrightnessBeforeOff
else
echo $MAX_BRIGHTNESS >> $BRIGHTNESS_FILE
fi
which reads the brightness level from /tmp/BrightnessBeforeOff. After
elif [ "$1" = "off" ]; then
I added the following:
echo $BRIGHTNESS > /tmp/BrightnessBeforeOff
which saves the brightenss level to /tmp/BrightnessBeforeOff.

Last, I added a third case, "low", to the if, before the else statement, I added,
elif [ "$1" = "low" ]; then
echo 5 >> $BRIGHTNESS_FILE
which sets a low level brightness.
Then I use Xbindkeys to to bind Fn-5,6 and 7 to /bin/bl on, low and off respectively.
The whole thing can be downloaded from here.

OSD
Next, I installed osd_cat for some nice on-screen-display:
apt-get install xosd-bin
and I created the following script /bin/osd.sh
#!/bin/bash
OSDFONT="-*-*-medium-r-normal-*-16-*-*-*-*-*-*-*"
DELAY=3

killall osd_cat -q
if [ "$2" = "" ]; then
echo "$1" | osd_cat -d $DELAY -P 5 -p bottom -c yellow -O 8 -A right --font=$OSDFONT -o -110&
else
osd_cat -d $DELAY -T "$1" -b percentage -P $2 -p middle -c $3 -O 8 --font=$OSDFONT
fi
which can be used to display messages or percentage bar (for the brightness or battery level) and can be downloaded from here.

/bin/dispaly-brightness.sh
here too the MAX_BRIGHTNESS is marked out, so I unmarked it. I also added calls to osd.sh (see above) to display the brightness level. It can be found here.
I linked Fn-3 and 4 to /bin/display-brightness.sh down and up using xbindkeys.

/etc/zaurusd/scripts/zaurus-hinge
IIRC the values in the zaurus-hinge script are switched, which breaks the automatic rotation. The values should be for landscape:
STATE = 0
and for portrait:
STATE = 2

I also added a call to osd.sh here too, to report the rotation. In the landscape section, After bl on I added:
osd.sh "Landscape mode"&
and in the portrait section, after /usr/bin/xrandr -o right I added:
osd.sh "Landscape mode"&
/bin/batStat.sh
I created /bin/batStat.sh to report the battery status to the screen.
#!/bin/bash

TIMEOUT=3
HIGH=95
MED=50


bat=`apm`
stat=${bat:0:3}
bat=${bat:(-4)}
bat=${bat:0:`expr length "$bat"`-1}
bat=$((bat))


color=green
if [ "$stat" = "Off" ]; then
stat="Off-line"
if [ $bat -lt "$HIGH" ]; then
color=yellow
fi
if [ $bat -lt "$MED" ]; then
color=red
fi
else
stat="On-line"
if [ $bat -lt "$HIGH" ]; then
color=yellow
fi
if [ $bat -lt "$MED" ]; then
color=red
fi
fi
killall osd_cat -q
osd.sh "Battery: $stat ($bat%)" $bat $color
This script, when runs prints the battery status to the screen. And changes the color according to the charge level of the battery. It also indicate if he battery is charging. The script can be downloaded from here.

I linked the script to Fn-8 (saving 9 and 0 for the volume control).

HDD led
Last, a nice tweak is to connect the green (mail) led to the sd access. This can be done by,
echo mmc0 > /sys/class/leds/corgi\:green\:mail/trigger
This can be permanently changed by adding the line to ~/.xinitrc. to see the avalabe triggers and the active one type,
cat /sys/class/leds/corgi\:green\:mail/trigger