Markierten Text im Web suchen.

Das geht mit folgendem Makro:

marksuche {menu="Markierten Text im Web suchen"; $suchmaschine=getpref(STRING, "kmeleon.general.searchEngine"); $temp=""; $suchen=""; $temp=getclipboard(); id(ID_EDIT_COPY); $suchen=getclipboard(); setclipboard($temp); $adr=$suchmaschine.$suchen; $erg=$suchen == $temp ? "keintext" : "oeffnen"; macros ($erg); } keintext {alert("Es ist kein Text markiert", "Markierten Text im Web suchen");} oeffnen {open($adr);}

Siehe auch Makros erstellen und Einbinden.

Zunächst wird mit menu=... der Text für das Menü definiert. Dann wird die Suchmaschine, die unter Einstellungen definiert ist, in die Variable '$suchmaschine' eingelesen. Mit getclipboard() wird der gegenwärtige Inhalt der Zwischenablage 'gerettet'. id(id_edit_copy) kopiert den markierten Text in die Zwischenablage, deren (neuer) Inhalt anschließend mit getclipboard() in die Variable '$suchen' eingelesen wird. Danach wird der ursprüngliche Inhalt der Zwischenablage mit setclipboard($temp) wieder hergestellt. Die nächste Zeile des Makro definiert die Variable $adr aus $suchmaschine und $suchen. Dies ist die Adresse (URL), die aufgerufen wird. Die nächste Zeile prüft, ob überhaupt Text markiert war. Falls also der ursprüngliche Inhalt der Zwischenablage $temp und der neue $suchen gleich sind, war kein Text markiert. (id(id_edit_copy) verändert die Zwischenablage nur, wenn Text markiert ist). Dann nimmt die Variable $erg den Wert 'keintext' an, ansonsten, wenn Text markiert ist, den Wert 'oeffnen'. Damit ergibt sich für die letzte Zeile des Makros marksuche, daß macros($erg) entweder keintext, oder oeffnen aufruft.