blog.alexanderkoch.net Nerdy news from /home/alex

6Sep 090

xfce4-notifyd: bold summary

Wieder ein ziemlicher dirty-hack, der mir einen Dorn aus dem Auge zieht - diesmal an xfce4-notifyd, dem lightweight-Ersatz für notification-daemon.

Gestört hatte mich die Formatierung der Popup-Überschriften (summaries), die sich nicht von der des Textes unterscheidet, weshalb man Text und Überschrift auf den ersten Blick kaum trennen konnte. Ein Eingriff in die Sourcen macht die Überschriften bei mir jetzt fett, hier der Patch (für die xfce-notify-window.c aus xfce4-notifyd-0.1.0).

Wenn jemand eine Lösung über die gtkrc der Themes findet, möge er mich doch bitte erleuchten ;)

9Mai 090

rc.multi und laptop-mode

Konnte mich endlich aufraffen, einen schon lange vorhandenen Schönheitsfehler bei Verwendung von laptop-mode unter Arch zu beseitigen: die Dienste. Unter /etc/laptop-mode/batt-stop verlinkte Dienste werden von laptop-mode beim Wechsel auf Batterieversorgung beendet und beim Wechsel zurück auf Netzteil wieder gestartet - soweit so gut. Startet man die Kiste allerdings schon auf Batterie, werden die Dienste zuerst per init gestartet und dann direkt wieder gestoppt - unschön.

Folgender Hack (Zeile 11-17) für die rc.multi entfernt alle unter /etc/laptop-mode/batt-stop verlinkten Dienste aus $DAEMONS, sodass diese erst garnicht gestartet werden (natürlich nur bei Batteriebetrieb).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#
# /etc/rc.multi
#
 
. /etc/rc.conf
. /etc/rc.d/functions
 
# Load sysctl variables if sysctl.conf is present
[ -r /etc/sysctl.conf ] && /sbin/sysctl -q -p &>/dev/null
 
# Check for battery state, filter DAEMONS
[ -r /proc/acpi/ac_adapter/ACAD/state ] && grep on-line /proc/acpi/ac_adapter/ACAD/state &>/dev/null
if [ $? -gt 0 ]; then
    for n in $(seq 0 $((${#DAEMONS[@]} - 1))); do
        [ -e /etc/laptop-mode/batt-stop/${DAEMONS[$n]} ] && unset DAEMONS[$n]
    done
fi
 
# Start daemons
for daemon in "${DAEMONS[@]}"; do
    if [ "$daemon" = "${daemon#!}" ]; then
        if [ "$daemon" = "${daemon#@}" ]; then
            start_daemon $daemon
        else
            start_daemon_bkgd ${daemon:1}
        fi
    fi
done
 
if [ -x /etc/rc.local ]; then
    /etc/rc.local
fi
 
# vim: set ts=2 noet: