Open Source im professionellen Einsatz
Linux-Magazin 03/2012
© Sandra Cunningham, 123RF

© Sandra Cunningham, 123RF

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

Ausgussverfahren

420

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.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • K-Steuerung

    KDE-Programme mit Maus und Tastatur bedienen ist in vielen Fällen sehr zeitraubend. Hier hilft DCOP, das Desktop Communication Protocol. Es steuert GUI-Programme per Kommandozeile oder Skript.

  • Mehrere Sicherheitslücken in Google Chrome
  • Guacamole

    Den VNC-Client auf den Desktops kann sich sparen, wer einen Server mit Guacamole füttert. Die Tomcat-App bringt entfernte Anwendungen beliebiger Betriebssysteme in den Browser. Dank HTML 5 und Javascript funktionieren auch die eingebauten Erweiterungen wie die Zwischenablage oder eine On-Screen-Tastatur.

  • Chrome OS

    Die meisten Desktops haben eine Menge Intelligenz eingebaut und fordern damit auch die entsprechende Aufmerksamkeit bei Wartung und Pflege. Der Gegenentwurf dazu beschränkt die Clients auf das Allernotwendigste. In Zeiten des Web ist das der Browser – meint Google und präsentiert einen radikalen Ansatz.

  • Stets zu Diensten

    Der Complete-Mechanismus der Shell vervollständigt angefangene Eingaben, sobald der User die Tabulator- taste drückt. Ein Perl-Skript erweitert die Funktion maßgeschneidert.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.