Nach einer sehr intensiven Phase des Lernens & Verstehens habe ich gestern endlich Version 0.1 von „kio-clipboard“ freigegeben.
Mein erstes öffentliches Release einer Software nach meiner Tätigkeit bei IWC. Bin ein klein wenig stolz 🙂
Na ja, hat fast drei Wochen gedauert bis zum jetzigen Stand. Endlose Versuche, viel Recherche, wie das eben so ist, wenn man sich in ein zwar ungemein spannendes, aber eben fremdes Thema einarbeitet. Das ganze ist für mich eigentlich mehr ein Experiment, Ziel ist das Lernen. Und der io-Slave bot die Möglichkeit, ohne zuviel Aufwand diverse Stellen des KDE-internen Unterbaus kennen zu lernen, dazu Qt-Techniken zu verstehen. Ob das Ergebnis sinnvoll ist mögen andere oder die weitere Entwicklung entscheiden. Für mich hat es seinen Zweck voll erfüllt.
Mal sehen, was an Feedbak kommt (oder ob überhaupt…). Kann mir durchaus vorstellen, da noch ein wenig weiter dran herum zu basteln, aber jetzt ist erst einmal ein Break angesagt. Andere Projekte schreien auch nach Zeit 🙂
Oh, wozu das da ist ? So erklärt, dass der normale Nutzer das verstehen kann ? Oha…
Also das ganze ist keine ausführbare Applikation, es ist eine Art Plugin für KDE, eine graphische Nutzeroberfläche für unix-artige Betriebssysteme, Linux etwa. Anders als das verbreitete MS-Windows sind unix-artige Systeme prinzipiell durchgängig netzwerkfähig. Es besteht also aus Sicht des Anwenders kein Unterschied, ob Daten, Dateien, Ressourcen lokal vorgehalten werden oder eben irgendwo im Netzwerk oder Internet. Ein praktisches Beispiel wäre etwa eine Office-Applikation, die selbstverständlich nicht nur Dateien auf der Lokalen Festplatte öffnen, bearbeiten und wieder speichern kann, sondern eben auch solche an entfernten Orten, auf einem sftp-Server etwa. Ein Web-Server wäre ein anderes Beispiel, aber das Web (oder eben http-Protokoll) macht nur einen kleinen Teil des Internets aus. Und nein, das geschieht nicht so, dass eine lokale Kopie der Datei angelegt wird, die dann nachträglich synchronisiert wird (wenn überhaupt), sondern direkt, eben „netzwerk-transparent“, wie der IT-ler sagt. Nun ist das Netzwerk aber natürlich kein starres Gebilde, sondern ein wachsendes, sich ständig weiter entwickelndes Gebilde. Entsprechend existieren unzählige Arten der Kommunikation, auch Protokolle genannt. Ungefähr vergleichbar wie die Auswahl zwischen Telefonieren, ein Fax schicken oder ein Telegramm. Und nun muss also jede Applikation jedes Protokoll verstehen und nutzen können, auch etwa exotische oder zukünftige. Das geschieht durch erwähnte Plugins, die den KDE-Unterbau an sich dazu befähigen, weitere Protokolle bedienen zu können. Damit „erbt“ jede Applikation die Fähigkeit, ohne selber aufgebläht oder auch nur darauf vorbereitet werden zu müssen. Ja und ein solches Plugin ist auch „kio-clipboard“, technisch bezeichnet man das als KIO-Slave. KIO ist KDEs IO-Sytem, also die Ein-/Ausgabe-Schicht, ein Slave ist (nur hier!) ein tüchtiger Diener, der auf Anforderung seinen Dienst leistet, hier eben das Kommunizieren zwischen verschiedenen Parteien.
„kio-clipboard“ ist aber ein Sonderfall solcher Plugins: er bietet (noch) nicht ein zusätzliches Protokoll für Netzwerkkommunikation. Vielmehr Spricht er Clipboards an, also Zwischenablagen, wie man sie vom täglichen Einsatz her kennt. Heutige Clipboards können ja nicht nur einen Eintrag speichern und wieder heraus rücken, sondern viele Einträge, haben also ein Gedächnis. Zudem können Sie Aktionen starten. Dieses Gedächnis betrachtet kio-clipboard als eine Art Mini-Dateisystem und macht den Inhalt als Dateien zugänglich. Auch hier gilt wieder: nicht, indem es irgendwo temporäre Dateien generiert, sondern eben transparent. Also schlank, schnell, effizient und vor allem ohne lästiges Aufräumen und Synchronisieren.
Nutzbar ist so etwas an jeder Stelle im System, an der mit Dateien umgegangen wird. Da unter unix-artigen Systemen ja das Prinzip gilt „alles ist eine Datei“, also auch etwa Geräte (Bildschirm, DSL-Interface, Tastatur, …) sind das sehr viele Stellen. Also kann man etwa in Dialogen, die sich mit Dateien beschäftigen auf die Inhalte des Clipboards zugreifen. Also etwa „Datei öffnen“, oder eben auch jeden Dateimanager. Man kann Einträge im Clipboard öffnen also wären sie normale Dateien, kann Einträge löschen & hinzufügen.
Das ist derzeit noch etwas langweilig, nur eine wirkliche Anwendung könnte Sinn machen: es werden die URLs von 10 Bildern aus einem Webbrowser in das Clipboard kopiert. Anstatt diese Dateien nun einzeln z.B. in einem Grafikbearbeitungsprogramm öffnen zu müssen öffnet man im „Datei öffnen“-Dialog das Clipboard, markiert die 10 Einträge, et voila, 1, 2, 3, … alles meins !
kio-clipboard selbst ist wiederum so aufgebaut, dass in Form von Plugins weitere Protokolle unterstützt werden können, hier also weitere Clipboard-Applikationen. Derzeit ist ‚Klipper‘ die einzige, Klipper ist das Standard-Clipboard unter jeder KDE-Oberfläche. Spannend könnte das werden, wenn künftig nicht nur auf lokale Clipboards zugegriffen werden kann. Wenn Online-Clipboards unterstützt werden oder eben auch Clipboards auf anderen Rechnern, etwa bei meinen Kollegen, die gerade am gleichen Projekt arbeiten: richtig, ein sehr einfacher und intuitiver Dateiaustausch. Aber bis dahin ist es noch etwas hin, jetzt ist nur der erste Schritt gemacht, und auch der jetzige Stand ist noch fehlerbehaftet und muss korrigiert werden…
Hier die Release-Ankündigung im Internet und drei Screenshots, die helfen vielleicht nicht-Linuxern (soll es ja noch geben…) beim Verständnis: