Beispiele mit DCOP


+f#DCOP#f+ heisst +f#Desktop Communication Protocol#f+. Jede KDE-Anwendung stellt Teile ihrer Funktionalität (bei amaroK etwa die Abfrage des aktuell gespielten Titels) zum DCOP-Zugriff bereit. Welche das genau sind, lässt sich mittels der Anwendungen dcop (Kommandozeile) oder kdcop (grafische Oberfläche) ermitteln: Wenn du KDE nutzt, kannst du dies ausprobieren: kdcop Hier nun die Beispiele die man auch in Scripts verwenden kann: Ansehen von aktiven Progammen: +tf=cyan#dcop#tf+ Auswählen eines Programmes, zb Konsole: +tf=cyan#dcop konsole#tf+ +tf=cyan#dcop konsole-5081#tf+ +tf=cyan#dcop konsole-`pidof konsole`#tf+ Auswählen der Hauptkonsole: +tf=cyan#dcop konsole-`pidof konsole` konsole-mainwindow#1#tf+ Auswählen einer Untergruppe: +tf=cyan#dcop konsole-`pidof konsole` session-9#tf+ Hinzufügen eines neuen tabs (in KDE heisst dies neue Session, ein String wird hier zurückgegeben, welches den Namen der Session kennzeichnet): +tf=cyan#dcop konsole-`pidof konsole` konsole newSession#tf+ +tf=cyan#dcop dcop konsole-3782 konsole nextSession#tf+ +tf=cyan#dkonsolepid konsole sendAllSessions ". /masterrc"#tf+ Ändern des Titels von einer Konsolen-Untergruppe (also Titel eines Tab): +tf=cyan#dcop konsole-`pidof konsole` session-2 renameSession "TEST"#tf+ +tf=cyan#dcop konsole-`pidof konsole` session-5 renameSession "test"#tf+ +tf=cyan#dcop konsole-`pidof konsole` session-9 renameSession "h"#tf+ Herausfinden der aktuellen Konsole Session (geht auch mittels der Environment Variablen $KONSOLE_DCOP_SESSION): +tf=cyan#echo $KONSOLE_DCOP_SESSION#tf+ +tf=cyan#echo $KONSOLE_DCOP#tf+ Das erste beispiel würde zb das hier anzeigen: DCOPRef(konsole-31880,session-2) +tf=cyandcop konsole-`pidof konsole` konsole currentSession#tf+ Herausfinden des aktuellen KonsoleTab Titel: +tf=cyandcop konsole-`pidof konsole` session-2 sessionName#tf+ +tf=cyandcop konsole-31880 session-5 sessionName#tf+ Kommando an ein Tab (Session) schicken: +tf=cyandcop konsole-`pidof konsole` session-4 sendSession "cd /Users"#tf+ +tf=cyandcop konsole-`pidof konsole` session-4 sendSession "cd /Users;pwd"#tf+ +tf=cyandcop konsole-31880 session-4 sendSession "startapa"#tf+ Erhöhen der Lautstärke von kmix: +tf=cyandcop kmix Mixer0 increaseVolume 1#tf+ Lautstärke auf 50% setzen: +tf=cyandcop kmix Mixer0 setMasterVolume 50#tf+ Lautstärke des 2. Mixers auf 10% setzen, aber nicht das Master Volume: +tf=cyandcop kmix Mixer1 setVolume 0 10#tf+ Verstecken des kmix GUI Window mittels hide: +tf=cyandcop kmix kmix-mainwindow#1 hide#tf+ Anzeigen des kmix-mainwindow mittels show: dcop kmix kmix-mainwindow#1 show Resizen von kmix zum minimal-punkt: dcop kmix kmix-mainwindow#1 resize 1 1 Anzeigen des Namens des ersten Mixer: dcop kmix Mixer0 mixerName Ausloggen aus KDE: dcop kdesktop default logout Ausloggen ohne Confirmation Dialog: dcop ksmserver default logout 0 -1 -1 Maximieren der Hauptkonsole: dcop konsole-7266 konsole-mainwindow#1 maximize Ausloggen aller User egal welche Session: dcop --all-sessions --user $USER ksmserver default logout 0 -1 -1 Name des Tabs in Konsole abfragen (mittels ENV Variable): echo $KONSOLE_DCOP_SESSION Beenden einer kedit Instanz: dcop kedit-5996 MainApplication-Interface quit Klipper's Clipboard History löschen: dcop klipper klipper clearClipboardHistory KDE als Nicht-SuperUser-Benutzer herunterfahren dcop ksmserver ksmserver logout 0 2 0 In Knotes eine neue Note hinzufügen: dcop knotes KNotesIface newNote "A note" "Stuff I want to keep track of" Auswählen des kde Desktop mittels DCOP: dcop kdesktop Setzen eines neuen Hintergrund: dcop kdesktop KBackgroundIface setWallpaper $IMG/WALLPAPERS/ANIME_LADY_AND_KNIFE.png 2 (Die int Werte am Schluss sind Modes, die folgendes bedeuten: 1 zentriert, 2 gekachelt (von oben nach unten), 3 zentrierte kacheln (wiederholt noch mehr als 2), 4 zentriert und skaliere Fokussierung (korrektes Seitenverhältnis), 5 gekachelt (mit korrektem Seitenverhältnis, ist sehr elegant), 6 skaliert, 7 zentriert mit automatischer Anpassung, 8 skaliert und beschnitten sein. 9 scheint das Bild entweder transparent oder auszuschalten. ) Ändern der HintergrundFarbe (das 2. Argument steht für Primär und Sekundärfarbe: ist er false, dann gibt es nur eine durchgehende Farbe. Ist er true, gibt es einen Gradienten.) dcop kdesktop KBackgroundIface setColor '#ffffff' false dcop kdesktop KBackgroundIface setColor darkblue false # Trivial Namen gehen auch dcop kdesktop KBackgroundIface setColor '#330033' false # dunkler hintergrund dcop kdesktop KBackgroundIface setColor '#000000' false # schwarzer hintergrund Den Nutzer benachrichtigen mittels kio_uiserver und messageBox (statt 4 kann man Werte von 0-4 verwenden) dcop kio_uiserver UIServer messageBox 0 4 "Text" "Title" Button1 Button2 Wechseln zu einem anderen Desktop, zb Nr4 (switch to another desktop): dcop kwin default setCurrentDesktop 4 Starte konqueror mit einem bestimmten ULR-Fenster: dcop konqueror-17776 default opEBRowserWindow http://www.kde.org/ Neue Mails kann man abfragen an kmail: dcop kmail default checkMail Eine Email kann man auch schicken und zwar so: # Zuerst die langweilige Doku dazu int openComposer(QString to,QString cc,QString bcc,QString subject, \ QString body,int hidden,KURL messageFile) dcop kmail default openComposer heroes@kde.org losers@redmont.com "" "KDE rocks" \ "Thanks, you are my heroes!" 0 "" Melde einen neuen Job an beim UIServer von kio (gibt seine ID zurück: dcop kio_uiserver UIServer newJob 0 0 Schick diesem job eine messageBox dcop kio_uiserver UIServer messageBox 12 5 "



+ Verweise
+ Textformate
+ Smilies


Fügt entweder links und rechts vom blinkenden Zeiger, oder links und rechts von markiertem Text ein.

JavaScript muss aktiviert sein.