XSel, dict.leo.org und KDialog vereint
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.
Leave a comment
You must be connected to write a comment.

