<< zum Runter-Laden
Von Oktober 2011

Plasmoid für USB-Steckdosenleiste

Gembird's Silver Shield Steckdosenleiste unter Linux (KDE4) vom Desktop aus steuern, mit Hilfe des Plasmoids USB-Steckdose.
... mehr [Download als Zip]
Bild: Screenshot von Plasmoid USB-Steckdose

Wozu ist das Plasmoid gut?

Das Plasmoid "USB-Steckdose" ermöglicht es, auf dem Desktop Icons anzuklicken, um die Steckdosenplätze (Revolt INtelli-Plug, Gembird SIS-PM, 4 Steckdosenplätze) an- und auszuschalten. Die Icons zeigen an, ob die Steckdosenplätze an oder aus sind.

Installiert sein sollten

  1. Linux, KDE4 --- das Design wurde auf Debian Squeeze, KDE 4.4 entwickelt. Andere Distributionen wurden nicht getestet, aber es sollte dort analog funktionieren.

  2. Steckdosenleiste:
    • Eine USB-Steckdosenleiste (Revolt INtelli-Plug, Gembird SIS-PM).
    • Sowie das Programm: sispmctl (http://sispmctl.sourceforge.net).
    • Beides funktionsfähig angeschlossen und eingerichtet, sodass mit Root-Rechten Eingaben auf der Konsole im Stil
      sispmctl -o 1
      funktionstüchtig sind.

  3. Das Programm/Paket: sudo.
    In /etc/sudoers (nur mit dem Befehl visudo editieren, nicht in irgendeinem anderen Editor! Unbedingt die Man-Page von visudo lesen!) sollte eine solche Zeile stehen:
    username ALL=NOPASSWD: /usr/bin/sispmctl
    Aufpassen, dass diese Zeile erst hinter anderen Zeilen steht, wie zum Beispiel
    root ALL=(ALL) ALL
    denn die Reihenfolge der Zeilen spielt bei der Rechtevergabe in /etc/sudoers eine Rolle! Danach sollte es möglich sein als Nicht-Root-Nutzer
    sudo sispmctl -o 1
    in der Konsole durchzuführen.

  4. Weitere Programme/Pakete:
    • Debian-Paket "plasma-scriptengine-python" (packages.debian.org/squeeze/plasma-scriptengine-python)
    • Dafür wird wiederum "phython" und "python-kde4" benötigt. (Falls nicht ohnehin schon vorhanden, werden diese bei der Installation von "plasma-scriptengine-python" automatisch mit installiert.)

Plasmoid zum Laufen bringen

  1. "steckdose-plasma.zip" in Home entpacken, z.B. in einer Konsole im Home-Verzeichnis ausführen:
    unp steckdose-plasma.zip
  2. Das Plasmoid mit "plasmapkg" installieren:
    plasmapkg -i steckdose-plasma/
  3. Das Plasmoid als Miniprogramm auf den Desktop hinzufügen:
    1. Rechte Maustaste auf den leeren Desktop
    2. Miniprogramm hinzufügen ...
    3. "USB-Steckdose" auf den Desktop ziehen

Fehler-Behebung

Plasmoid bedienen

  1. Die Icons zeigen den Zustand des jeweiligen Steckplatzes der Steckdosenleiste an, also ON oder OFF.
  2. Klickt man auf eines der Bilder, so schaltet man den entsprechenden Steckdosenplatz in den anderen Zustand, also OFF oder ON.
  3. Wenn neben der Bedienung durch dieses Plasmoid die Steckdosenleiste auch noch anderweitig (über Konsole, Online-Anwendungen, von Programmen, etc.) geschaltet wird, so wird der Zustand der Buttons nach ca. 5 Sekunden automatisch aktualisiert.

Plasmoid an eigene Bedürfnisse anpassen

Plasmoid deinstallieren: plasmapkg -r steckdose-plasma/
Quelltext editieren. Plasmoid wieder neu installieren.

  1. Das Icon im Miniprogramm-Auswahlmenü soll ersetzt werden:
    In steckdose-plasma/metadata.desktop:
    - Zeile "Icon=/salz-on.png" anpassen

  2. Es soll das Zeitintervall (5 Sekunden) des automatischen Updates geändert werden:
    In steckdose-plasma/contents/code/steckdosen.py:
    - "RefreshInMilliSekunden=5000" im Abschnitt "1.FIXME" anpassen
    Kürzere Zeitintervalle (z.B. 500) können durch die häufigen sudo-Aufrufe zu einer hohen System-Last führen!

  3. Es sollen Steckplätze an der Steckdose umgewidmet werden, ohne die Buttonreihenfolge zu ändern:
    In steckdose-plasma/contents/code/steckdosen.py:
    - String-Variablen der Steckplätze im Abschnitt "2.FIXME" anpassen

  4. Es sollen die Bilder der Buttons ersetzt werden:
    In steckdose-plasma/contents/code/steckdosen.py:
    - Pfade der Bilddateien im Abschnitt "3.FIXME" anpassen
    Parameter der Icons: 100x100 Pixel, Auflösung: 72x72 Pixel/Inch

  5. Es werden weniger Steckplätze benötigt, weil die Steckdose weniger Steckplätze hat:
    In steckdose-plasma/contents/code/steckdosen.py die überflüssigen Objekte und Absätze entfernen/anpassen:
    - globale Variablen entfernen/anpassen
    - String des Steckplatzes entfernen/anpassen
    - Pfade der Bilddateien entfernen/anpassen
    - Position der Bilder im Widget entfernen/anpassen
    - Funktion changeXyzZustand() anpassen
    - Buttons in initExtenderItem anpassen
    - clicked-Funktionen entfernen/anpassen
    - dataUpdated-Funktion anpassen

Plasmoid Testlauf

Für das Arbeiten an den Dateien steckdose-plasma/contents/code/steckdosen.py und steckdose-plasma/metadata.desktop empfiehlt sich folgender Ablauf:
  1. Alle Instanzen auf dem Desktop schließen und das Plasmoid mit "plasmapkg" deinstallieren:
    plasmapkg -r steckdose-plasma/
  2. Am Quelltext arbeiten und das Plasmoid mit "plasmapkg" neu installieren:
    plasmapkg -i steckdose-plasma/
  3. Das Plasmoid mit "plasmoidviewer" testweise anschauen anstatt für jeden Testlauf ein Miniprogramm zum Desktop hinzuzufügen:
    plasmoidviewer steckdose-plasma/
    Außerdem sieht man so auch die Fehlermeldungen auf der Konsole.

Oder noch einfacher: Jedes Mal nach dem Ändern und Speichern des Quelltextes in der Konsole mit der folgenden Zeile alle drei Schritte auf einmal ausführen:
plasmapkg -r steckdose-plasma/ && plasmapkg -i steckdose-plasma/ && plasmoidviewer steckdose-plasma/

Hilfreiche Internetadressen

Zu Plasma und Python: techbase.kde.org/Development/Tutorials/Plasma

Von Rainer Dorsch 2015 für Debian Jessie umgebaut und Code verbessert: netcup.bokomoko.de/~rd/steckdose-plasma.tgz

Author

Das Skript steckdosen.py wurde von Annette Huck (annette auf hopfenwiesen punkt de) geschrieben. Die Bilder lampen-on.png, lampen-off.png, glaskugel-on.png, glaskugel-off.png, salz-on.png, salz-off.png, klavier-on.png, klavier-off.png wurden von Annette Huck (annette auf hopfenwiesen punkt de) mit Gimp 2.2/2.6 gezeichnet.

Lizenz

Copyright 2011 Annette Huck.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.