Andreas-Loibl.de Linux :: Scripte
Hintergrundbild

Wurmloch

Beschreibung/Features

Mit diesem Script kann man zwischen mehreren Computern im Netzwerk die Zwischenablage tauschen. Das ist z.B. dann praktisch, wenn man auf einem PC gerade auf einer Webseite surft und die URL auf den anderen Computer übertragen will.

Dieses Script kann man mit einem Tastatur-Shortcut belegen (bei mir z.B. Windows+C entspricht wurmloch -s) und wenn man diesen dann drückt wird die Zwischenablage von Klipper (das Dienstprogramm für die Zwischenablage von KDE) ausgelesen und per UDP-Netzwerk-Broadcast versendet. Alle Clients, die den Wurmloch-Daemon (wurmloch -d start) oder Wurmloch im listen-Modus (wurmloch -l) gestartet haben, empfangen den Inhalt der Zwischenablage und legen ihn per DCOP in die eigene Klipper-Ablage. Danach kann er wie gewohnt mit Strg+V oder Umschalt+Einfg eingefügt werden.

Screenshots

... gibts keine, da dieses Script eigentlich nur im Hintergrund tätig ist und nicht wirklich was davon zu sehen ist.

Installation

Das Script ist zur Zeit noch in Entwicklung und deshalb gibt es auch noch keine richtige Installation. Es reicht, das Script ausführbar zu machen und kann dann verwendet werden.

Wenn man es aber in das System einbauen möchte empfehle ich es unter /usr/local/bin/wurmloch zu speichern

Changelog

01.06.2005 - Erste Version

Listing/Download

Hier runterladen: wurmloch.bash

Hier ist das Listing:

#!/bin/bash
#
# Wurmloch - written by Andreas Loibl (http://www.andreas-loibl.de)
#
# Version: 01.06.2005
#
 
PORT=13872
IP_RANGE="255.255.255.255"
AUTO_ACTIVATE="yes"
DEBUG=""
 
case $1 in
-l|--listen)
    while true
    do
        DATA_RECEIVED=$(echo | nc -u -l -p $PORT)
        DATA_CONTENT=$(dcop klipper klipper getClipboardContents)
        if [ "$DATA_RECEIVED" != "$DATA_CONTENT" ]; then
            [ "$DEBUG" ] && echo "Daten empfangen: $DATA_RECEIVED"
            dcop klipper klipper setClipboardContents "$DATA_RECEIVED"
            [ -z "$AUTO_ACTIVATE" -o "$AUTO_ACTIVATE" = "no" ] && klipper klipper setClipboardContents "$(dcop klipper klipper getClipboardHistoryItem 1)"
        fi
    done
    ;;
-s|--send)
    CONTENT=$(dcop klipper klipper getClipboardContents)
    echo "$CONTENT" | nc -b -q 0 -u "$IP_RANGE" $PORT
    echo "Daten gesendet: $CONTENT"
    ;;
-d|--daemon)
    case $2 in
    start)
        wurmloch -l &
        echo "Daemon wurde gestartet"
        exit 0
        ;;
    stop)
        killall wurmloch
        ;;
    esac
    ;;
"")
echo "Usage: $0 option"
cat <<"EOF"
-l, --listen			Wartet auf Netzwerk-Daten und übernimmt sie in die Zwischenablage
-s, --send			Sendet den aktuellen Inhalt der Zischenablage
-d, --daemon (start|stop)	Startet/Stoppt einen Wurmloch-listen-Daemon
EOF
    ;;
esac
 
exit 0