Open Source im professionellen Einsatz

© Sandra Cunningham, 123RF

Perl-Skripte erweitern Cut&Paste mit nützlichen Optionen

Ausgussverfahren

Text auf dem Desktop mittels Cut&Paste ablegen – das gehört selbst bei Kommandozeilen-Liebhabern zum Standardrepertoire. Dabei unterstützt der Windowmanager auf dem Linux-Desktop zwei Puffermechanismen: die primäre Selektion und das Clipboard [2]. Wer mit der Maus Text markiert, lässt den Inhalt dieser primären Selektion über die mittlere Maustaste wieder herauspurzeln. Das Clipboard dagegen verlangt, nach der Auswahl den Copy-Mechanismus in Gang zu setzen, etwa mit [Strg]+[C], und am Ziel die Paste-Funktion aufzurufen.

Verwirrte User

Applikationen steht es frei, eines oder beide Verfahren zu implementieren, deshalb kommt es auf der freien Wildbahn oft zu Verwirrung und frustrierten Anwendern: Während zum Beispiel ein einfaches Xterm nur die primäre Selektion kennt, bietet der Adobe Flashplayer nur den Clipboard-Mechanismus an. Wer Text aus Xterm in ein Flashplayer-Formular übertragen möchte, schaut mit dem Ofenrohr ins Gebirge. Googles Chrome-Browser beherrscht zwar sowohl die primäre als auch die Clipboard-Selektion, läuft in Chrome aber die Webapplikation von Evernote, funktioniert die primäre Selektion nicht.

Wer eine URL aus einem Textfenster kopiert und sie an einen Browser überreichen möchte, steht oft vor dem Problem, dass die URL im Text umbrochen wurde und der Browser dann nur den ersten Teil aufschnappt. Als bekennendes Unix-Urgestein lese ich Mails in Pine in einem Screen-Fenster. Damit die Übertragung derartiger URLs klappt, habe ich in Firefox unter »about:config« die Option »editor.singleLine.pasteNewlines« auf den Wert 3 gesetzt.

Nachhilfe für Chrome

Chrome beherrscht dies allerdings nicht, daher befindet sich in meinem Gnome-Panel am oberen Bildschirmrand ein Propellerhut (Abbildung 1), hinter dem das Skript in Listing 1 Dienst tut. Es schnappt sich die URL in der primären Selektion, entfernt Leerzeichen und Zeilenumbrüche und überreicht die gesäuberte URL dem Chrome-Browser.

Listing 1

chrome-select

01 #!/usr/local/bin/perl -w
02 use strict;
03 use local::lib;
04 use Clipboard;
05
06 my $browser = "/usr/bin/google-chrome";
07 my $url = Clipboard->paste;
08
09 $url =~ s/\s+//g;
10
11 system( $browser, $url );

Zum Zugriff auf die primäre Desktop-Selektion nutzt Listing 1 das CPAN-Modul Clipboard [3], das auf X-Window unter der Haube das Programm »xclip« verwendet. Letzteres lässt sich auf Ubuntu mit »sudo apt-get install xclip« installieren.

Abbildung 1: Das hinter der Propellermütze steckende Perl-Skript schnappt sich die URL aus der primären Textselektion und startet Chrome.

Das CPAN-Modul hat gegenüber der direkten Verwendung von »xclip« den Vorteil, dass es auch auf einem Mac oder sogar einem Windows-Rechner funktioniert, da es auf diesen Plattformen automatisch auf die nativen Clipboard-Mechanismen umschwenkt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook