Mein Bruder hat mir von diesem sehr praktischen Progrämmchen namens XSel erzählt, welches die X-Selektion verändern kann.

Damit lassen sich lustige Dinge anstellen:

require 'open-uri'
require 'hpricot'
require 'iconv'

word = `xsel`.split(" ").first

exit 1 unless word =~ /\w+/

doc = Hpricot(open("http://dict.leo.org/ [...] search=#{word}"))

translation = doc/"table[@id=results]"

translation.search("img").remove

translation.search("a") { |a| a.swap(a.innerHTML) }

(translation.search("tr")[20..-1] || []).each { |e| e.swap("") }

translation = Iconv.conv("UTF-8", "ISO-8859-1", translation.to_s)

translation.gsub!("'", "&#x#{?'.to_s(16)};")

`kdialog --passivepopup '#{translation}'`

(die Leo-URL musste ich aus Layoutründen hier kürzen)

Ok, was macht das? Es holt sich das erste Wort aus der X-Selektion und holt sich dafür die Uebersetzung von dict.leo.org. Danach noch etwas Kosmetik am HTML, Encoding verändern, Anzahl Einträge beschränken, böses Zeichen ersetzen und dann mit kdialog –passivepopup darstellen. Das Ergebnis sieht dann so aus:

Das Script habe ich mir auf die ThinkVantage-Taste gelegt, per Selektion und Knopfdruck kriege ich jetzt als die Uebersetzungen direkt auf den Bildschirm.

Wer lust hat, kann mit dem Leo-Script machen was er will, gewidmet sei es meinem gleichnamigen Kollegen, auch wenn es ihm wahrscheinlich nicht viel nützt.