Logo von Guschtel.de Nicht eingeloggt.  
Main |  Privat |  Linux |  Clausthal |  Studium |  Stuff |  UniInfos II |  Userbereich |  Block |  Admin | 

 
Sie sind hier: Main > Linux > Linux-Tipps
KrabbelViech

Linux-Tipps

Auf dieser Seite möchte ich einige Scripte vorstellen die ich geschrieben habe, die einem das leben unter Linux erleichtern.

Tipps: licq | KDE-Desktop Hintergrund | BitchX mit pseudo-transparentem Hintergrund im aterm

licq

Nach oben
Bei licq hat mich eine ganze Weile angenervt, dass man z.B. Sounds die abgespielt werden können nicht pro User oder pro Gruppe eingestellt werden koennen. Abhilfe dafür schafft dieses inzwischen etwas kompliziertere Shell-Script, das bei licq in der Event-Sektion angegeben werden muss.
#!/bin/bash

#####################################
# icqevent.sh (C) Christoph Hermann #
#####################################

MINPARAMS=2
if [ $# -lt $MINPARAMS ]
then
    echo "Usage: $0 <type> <uin>"
    echo "WHERE <type> is one of the following: (msg|url|chat|file|online|system|sent)"
    exit 1;
fi

LICQ_DIR=$HOME/.licq/
LICQ_USER_DIR=${LICQ_DIR}users/
LICQ_CONF=$LICQ_DIR/licq.conf
GROUP_COUNT=`awk -F = '/NumOfGroups/ {printf "%i",$2}' < $LICQ_CONF`

# Command Line Parameter
TYPE=$1
UIN=$2
PLAYCMD=/usr/bin/play
# echo UIN: $UIN TYPE: $TYPE

function playsound {
	if ! [ -z $1 ]
	then
		$PLAYCMD $1
		PLAYED=1
	fi
}

# Usergruppe ermitteln
GROUP_NAME=""
GRUPPENANZAHL=0
DATEI=${LICQ_USER_DIR}$UIN.uin
# echo USERDATEI: $DATEI
SYSTEM_GROUP=`cat $DATEI | awk -F = '/Groups\.System/ {print $2}'`
if  ([ -n "$SYSTEM_GROUP" ] && ! [ $SYSTEM_GROUP -eq 8 ])
    then
    GROUP_CODE=`cat $DATEI | awk -F = '/Groups\.User/ {print $2}' | sed "s/^ *//"`
        if (! [ -z "$GROUP_CODE" ] && ! [ "$GROUP_CODE" -eq 0 ] )
	then
	for ((j=0; $j <= $GROUP_COUNT; j++))
          do
	  TEST_GROUP=$((2**($GROUP_COUNT - $j) ))
	  TEST_ERG=$(( $GROUP_CODE & $TEST_GROUP ))
	  if ! [ $TEST_ERG -eq 0 ]
	  then
	      GROUP_NUM=$(($GROUP_COUNT - $j + 1))
	      GROUP_NAME=`cat $LICQ_CONF | grep "Group$GROUP_NUM.name" | sed 's/^[^=]*= //'`
	      GRUPPE[$GRUPPENANZAHL]=$GROUP_NAME
	      GRUPPENANZAHL=$(($GRUPPENANZAHL + 1))
	  fi
	done
    fi
fi

# Sound already played?
PLAYED=0

# per-user settings
case $TYPE in
    "msg")
    # Check if groups match
    for ((k=0; $k < $GRUPPENANZAHL; k++))
    do
	GRUPPE=${GRUPPE[$k]}
	case $GRUPPE in
		"GRUPPE XY")
			# playsound /usr/share/licq/sounds/icq/Message.wav
		;;
	esac
    done
    # if not Played sound because in group?
    if ! [ $PLAYED -eq 1 ]
	then
	case $UIN in 
	    # User 123
	    "123456789")
	    	# playsound /usr/share/licq/sounds/icq/Message.wav
	    ;;
	    # User 321
	    "987654321")
	    	playsound /usr/share/licq/sounds/icq/Message.wav
	    ;;
	esac
    fi
    ;;
    # end msg
    
    "url")
    ;;
    "chat")
    ;;
    "file")
    	playsound /usr/share/licq/sounds/icq/File.wav
    ;;
    "online")
    	playsound /usr/share/licq/sounds/icq/Online.wav
    ;;
    "system")
    ;;
    "sent")
    ;;
esac


Events in licq

licq Optionen

%u in den Optionen steht für die ICQ Nummer des jeweiligen Kontakts der das Event auslöst. Dieses Skript kann man natürlich beliebig erweitern, dass es noch ganz andere Aktionen ausführt, aber ich denke die Idee wird hier erstmal klar.

KDE-Desktophintergrund per Konsole ändern

Nach oben
Mit folgendem Befehl kann man ganz einfach den KDE-Desktop Hintergrund via dcop ändern an der Konsole. Damit kann man sich dann z.B. Skripte schreiben, die je nach Tageszeit oder sontigem den Hintergrund ändern.
dcop kdesktop KBackgroundIface setWallpaper /path/to/filename.ext <mode>
Wobei <mode> für einen Integer steht, mir persönlich ist Mode 7 am liebsten (angepasst zentriert).

BitchX

Nach oben
Mit diesem Befehl kann man BitchX innerhalb eines aterms mit pseudo-transparentem Hintergrund starten.
aterm +sb -title "BitchX IRC" -tr -sh 50 -fg white -bg black -e bitchx irc.quakenet.org




Main |  Privat |  Linux |  Clausthal |  Studium |  Stuff |  UniInfos II |  Userbereich |  Block |  Admin |   
Montag, 6. Februar 2012 11:42:57 - http://old.guschtel.de/HP5/linux/tipps.php - Impressum
krabbel