Eclipse #1: KDE, Copypasta und unklickbare Buttons – eine Hassliebe

Dieser Post ist hautpsächlich eine Memo an mich selbst, damit ich in Zukunft die einzelnen Lösungen schneller finde, wenn ich mal wieder eine neue Installation vor mir habe 😀

Eclipse-Benutzer unter KDE können sich seit etwa 2008 an einem bekannten, aber immer noch nicht behobenen Bug erfreuen. Man markiert einen Auszug seines Quellcodes, drückt das allseits beliebte Kürzel Strg-C, springt in eine andere Datei und erwartet, nach einem Druck auf Strg-V seinen gewünschten Code-Auszug wieder zu erblicken. Funktioniert auch manchmal. Aber eben nur manchmal. Öfter kommt es vor, dass nur ein Teil des kopierten Textes wieder erscheint. Mal fehlt der Anfang, mal das Ende. Mal passiert beim Einfügen gar nichts. Und manchmal erscheint etwas völlig unerwartetes, das man nicht einmal vorher kopiert hat. Oder etwas vom Tag zuvor. Die Möglichkeiten sind fast endlos. Etwa jeder zweite bis fünfte Copy/Paste-Vorgang funktioniert wie man es erwartet, der Rest verblüfft immer wieder durch fast schon nicht-deterministisches Verhalten.

Nun ist die Ursache hierfür eigentlich seit über zwei Jahren bekannt – es liegt am Zusammenspiel zwischen Eclipse und Klipper, der Zwischenablage-Verwaltung von KDE. Diese bietet einerseits ein Mittel, die unterschiedlichen Copy/Paste-Protokolle von X11, KDE, Qt, GTK, usw. usf. unter einen Hut zu bringen. Aber sie bietet auch einige komfortable Features, wie beispielsweise eine durchsuchbare Historie der Zwischenablage. Es ist also möglich, etwas einzufügen, was man vor Tagen mal in die Zwischenablage kopiert hat. Wenn man nun (z.B. als Windowsbenutzer ohne große Linuxkenntnisse) nichts von diesem Tool weiß, und annimmt, dass einfach immer nur der zuletzt kopierte Text in der Zwischenablage sein kann und sonst nichts, kann man von diesem unerwarteten Eclipse-Verhalten ganz schön verwirrt sein. Ohne Hintergrundwissen über die Zusammenhänge weiß man vielleicht auch nicht direkt, wonach man überhaupt suchen soll, daher kann dieser Eintrag vielleicht dem einen oder anderen doch irgendwann mal behilflich sein. Also legen wir mal los…

Es gibt im Prinzip keine wirklich saubere Lösung, sondern nur zwei Workarounds. Vielleicht sieht das in weiteren zwei Jahren ja anders aus…

Erste Möglichkeit: Strg-C in Eclipse immer zweimal drücken. Komischerweise funktioniert der zweite Copy-Vorgang immer, egal ob der erste erfolgreich gewesen wäre oder nicht. Geht problemlos, aber ist nervig. Ständig vergisst man es doch wieder, oder man hämmert unnötig auf seiner Tastatur rum und geht damit seinen Kollegen auf die Nerven 😀

Zweiter Weg: Klipper deaktivieren. Die Probleme verschwinden sofort. Alles geht wie gewohnt. Nachteil: Man verliert auch alle Features. Sprich: Die durchsuchbare Historie gehört der Vergangenheit an. Geht problemlos, wenn man auf dieses Feature keinen Weg legt. Für den Rest der Benutzer aber auch eher unschön.

Dritte und optimale Möglichkeit: Man deaktiviert in den Klipper-Einstellungen lediglich den Punkt „leere Zwischenablage vermeiden“ (in englischer Sprache: „prevent empty clipboard“). Genau diese Einstellung ist es nämlich, die das unvorhersehbare Verhalten in Eclipse auslöst. Die Option ist standardmäßig eingeschaltet, was leider bei jedem Eclipse-Benutzer unter KDE erstmal dieses Fehlverhalten auslöst, bis er sich darum gekümmert hat…

Übrigens ist Eclipse nicht die einzige Anwendung, die hiervon betroffen ist. Azureus/Vuze ist ein weiteres Programm mit dem gleichen Problem, hier fällt es allerdings nicht wirklich auf. Bei einer IDE da schon eher, dort nervt es stündlich, wenn nicht sogar öfter.

Nun kommen wir zum nächsten Bug in der Eclipse IDE: Die unklickbaren Buttons. Man bemerkt es zum Beispiel, wenn man mit Strg-F eine Datei nach einem Muster durchsuchen will, und sich der Suchbutton nicht anklicken lässt. Er wechselt zwar den Status (man sieht also, dass er gedrückt wird), aber das GUI-Event des tatsächlichen Klicks (loslassen des Buttons) wird nicht ausgelöst. Mehrere Buttons in der IDE sind betroffen (z.B. „Finish“ beim Fertigstellen eines neuen Projektes), aber nicht alle.
Ich will hier nicht lange auf die Ursache des Problems eingehen, das würde den Rahmen sprengen, so viel wollte ich eh schon nicht schreiben. Kurz gesagt liegt es an einem geänderten Fensterverhalten ab einer gewissen GTK-Version.

Die einfache Lösung: Man startet Eclipse mit dem Parameter „GDK_NATIVE_WINDOWS=1“. Also in der Kommandozeile:
GDK_NATIVE_WINDOWS=1 eclipse

Das kann man z.B. seiner Startverknüpfung oder einem Skript hinzufügen, dann muss man in Zukunft nicht mehr dran denken.
Oder man drückt nach dem Mausklick (der den Button nur selektiert, aber nicht auslöst) die Entertaste, funktioniert ebenfalls, ist aber deutlich nerviger 😀

Songbird 1.4.3

Keine riesige Neuigkeit, aber ich halte es für erwähnenswert. 🙂

Gerade eben hat mich mein derzeitiges Lieblings-Musikabspielprogramm mit einem kleinen Update-Notification-Popup überrascht. Bei der nun aktuellen Versionsnummer 1.4.3 dachte ich eigentlich zuerst nur an ein kleines Bugfix-Update und habe selbiges natürlich gleich installiert – woraufhin mich Songbird nach dem Neustart mit einem vollkommen neuen User Interface überrascht hat. Auch das interne Datenbank-Format scheint sich geändert zu haben, da beim Neustart zuerst einmal die Medien-Bibliothek neu aufgebaut wird. Das hat schon relativ lange gedauert, hoffen wir einfach, dass sich das positiv auf größere Sammlungen auswirkt, denn bei mittlerweile etwa 400 GB Musik hat es beim alten Songbird schon eine spürbare Weile gedauert, bis das Programm gestartet und wirklich benutzbar war.

Bis jetzt finde ich die neue Version auf den ersten Blick sehr schick und gut gelungen. Seit ich (vor mittlerweile etwa einem Jahr) auf Songbird umgestiegen bin (von Amarok, den ich bisher favorisiert hatte), bin ich damit vollkommen zufrieden und kann das Programm nur weiter empfehlen.

Besorgen, los los! 8)

Ein paar Worte zum HTC HD2

Nachdem ich mein neues aktuelles Smartphone nun seit etwas mehr als anderthalb Monaten in Betrieb habe, wird es Zeit, ein paar Worte darüber zu verlieren.

Aber womit fange ich an? Nehmen wir doch die positiven Seiten. Am besten rufe ich mir noch einmal die Schwachpunkte des iPhones in Erinnerung, welches ich letztes Jahr für einige Wochen zum Testen (naja, eigentlich für ein Projekt an der FH) zur Verfügung hatte. Damals haben mich hauptsächlich die folgenden Punkte gestört:

– die schwache Kapazität des Akkus, mehr als ein Tag Einsatz ist damit nicht drin
– die eher schlecht benutzbare Touch-Tastatur
– das unübersichtliche Menü
– die miese Kamera
– die Darstellung der SMS-Konversationen und E-Mails
– das ohne Jailbreak nicht vorhandenes Multitasking

Teilweise ist das HD2 um einiges besser, teilweise auch nicht.
Der Akku ist ein wenig besser. Nicht deutlich, aber im direkten Vergleich spürbar. Man kann das Gerät wenigstens zwei Tage lang einsetzen. 😉 Es liegen zwar keine Welten zwischen den Geräten, aber immerhin kann man den Akku des HD2 problemlos gegen einen größeren austauschen, was beim iPhone nicht möglich ist und somit einen großen Pluspunkt darstellt, wenn man mehr Kapazität benötigt.

Die Tastatur ist beim HD2 deutlich besser ausgefallen. Auch hier steht natürlich nur der Touchscreen zur Verfügung, keine physikalische Tastatur. Allerdings finde ich, dass sie spürbar besser implementiert ist. Natürlich liegt das zum einen daran, dass das Display mit seinen 4,3 Zoll sehr groß ausgefallen ist und damit natürlich auch die Tasten größer und leichter zu treffen sind. Aber auch die automatische Tippfehlerkorrektur arbeitet meiner Meinung nach gebrauchbarer als die des Apfelfons. Blindes Tippen ist natürlich hier wie da nicht möglich, aber man kann fließend schreiben, für SMS, kurze Mails oder Twitter reicht es vollkommen aus. Größere Postings verfasst man ja sowieso nur am Rechner.

Nun gut, das Menü ist so eine Sache. Windows Mobile eben. HTC hat einerseits gute Arbeit dabei geleistet, die Windows-Oberfläche weitestgehend zu verstecken und durch das eigene „Sense“ zu ersetzen. Die Oberfläche ist äußerst hübsch gestaltet und funktioniert problemlos. Man hat diese vertikale Scrollleiste, mit der man durch die wichtigsten (einstellbaren) Screens blättern kann. Funktioniert meistens ganz gut, ist nur dann störend wenn man versehentlich seitwärts scrollt und das aktuelle Programm versehentlich umschaltet. Aber allzu oft passiert das nicht, wenn man sich daran gewöhnt hat. Im Homescreen sind einige Plätze, die man mit Verknüpfungen zu seinen favorisierten Programmen/Kontakten/Anderem belegen kann. Für mich sind sie ausreichend, alles was ich benutze findet seinen Platz. Manch einem könnte es zu wenig Platz sein, ist Geschmackssache. Wenn diese Plätze ausgereizt sind, wird es allerdings problematisch – dann muss man sich die Programme aus dem Startmenü suchen, das im Endeffekt genauso unübersichtlich wird wie Apples Menü, wenn es voller wird.

Die Kamera ist klar besser als die des iPhones. Aber sie ist immer noch nicht besonders gut, bei Smartphones liegt dort einfach nicht das Hauptaugenmerk. In etwa ist die Qualität der Bilder vergleichbar mit der meines alten Handys (Sony Ericsson K850i), manchmal etwas besser, manchmal etwas schwächer. Auch hier fehlt leider ein physikalischer Button an der Seite des Gerätes, womit die Bedienung einfach ein wenig umständlicher ist als nötig. Platz wäre ausreichend vorhanden, aber nunja, man kann wohl nicht alles haben…

Die Darstellung von SMS und E-Mail ist natürlich um einiges besser und benutzbarer ausgefallen als die bunten, nicht konfigurierbaren Sprechblasen vom iPhone. Die Konversationen sind schön übersichtlich geordnet, alles ist dort wo man es vermutet. E-Mails sind (ähnlich wie auch Fotos) in einer Voransicht auf kleinen Kärtchen schön durchscrollbar. Lässt sich nicht ganz so gut beschreiben, aber es funktioniert wunderbar. 😀 Allerdings hat das System auch einen Nachteil, der besonders auffällt, wenn eine SMS-Konversation mit einem Kontakt etwas länger wird. Je mehr Nachrichten angezeigt werden müssen, umso länger wird die Ladezeit. Gegen 100 Nachrichten dauert es schon einige Sekunden lang, bis alles geladen ist. Und vorher ist es leider nicht möglich, die Tastatur zu benutzen. Man öffnet also eine Konversation nachdem man eine neue Nachricht erhalten hat, drückt auf das Textfeld um zu antworten, und dann wartet man mitunter 10-20 Sekunden bis die Tastatur erscheint und man endlich lostippen kann. Natürlich kann man alte Nachrichten löschen, um Konversationen und damit die Ladezeit kürzer zu halten, aber ist das der Sinn der Sache? Das ist noch nicht das einzige Problem. Alle paar Tage einmal, vielleicht einmal in der Woche, wird ein Reboot nötig. Windows eben, Reboot tut gut. Es äussert sich so, dass es nicht mehr möglich ist, SMS wegzuschicken. Alles andere funktioniert noch problemlos, man kann SMS empfangen, telefonieren und im Netz surfen, aber keine ausgehende SMS erreicht mehr ihr Ziel, bis das Handy neugestartet ist. Vielleicht wird hier mit einem Update noch nachgebessert, wer weiß.

Multitasking? Vorhanden. Schon hat das iPhone verloren. 😀 Hier ist es gar nicht nötig, große Worte zu verlieren. Musik hören, diese automatisch im Hintergrund zu Last.fm scrobbeln, einen GPS-Tracker betreiben, an einer Mail tippen und während dessen noch im Netz surfen, alles kein Problem.

Damit wäre der Vergleich mit dem iPhone auch schon am Ende angelangt – insgesamt bin ich froh, es mir nicht gekauft zu haben, sondern noch ein paar Monate länger bis zu diesem Modell zu warten, das meine Vorstellungen deutlich besser trifft.

Ein Nachteil sollte dennoch noch erwähnt werden. Zwar hat das Gerät einen wunderbaren kapazitiven Touchscreen, der auf Fingerbedienung ausgelegt ist und wunderbar benutzt werden kann. Allerdings sind die meisten Apps für Windows Mobile einfach noch nicht darauf ausgelegt, da die meisten (bzw. im Moment noch alle) anderen WinMo-Smartphones resistive Touchscreens besitzen und mit einem Stylus bedient werden, nicht mit dem eher unpräzisen Finger. Das betrifft zum Beispiel das Jogging-Tracking Programm meiner Wahl, „Joggah“. Die Grundfunktionen der App sind gerade noch benutzbar, aber ständig kämpft man mit Buttons und Textfeldern, die so klein sind, dass man sie mit der Fingerspitze kaum treffen kann, was die Bedienung schwer bis teilweise unmöglich macht. Hier ist es natürlich nur eine Frage der Zeit, da in Zukunft fast nur noch Smartphones mit kapazitivem Screen kommen sollten, bis die Apps nach und nach alle darauf ausgelegt sind.

Mittlerweile ist auch von HTC angekündigt worden, dass das HD2 auf Windows Mobile 7 aktualisiert werden wird, sobald das System erscheint. Spätestens dann sollten die Probleme der Vergangenheit angehören, aber bis dahin heißt es abwarten…

Mein Fazit: das Gerät ist sicherlich das derzeit beste Windows Mobile Smartphone auf dem Markt. Besser als das iPhone ist es für mich ebenfalls, wobei natürlich jeder andere Ansprüche hat. Aber noch ist die Entwicklung nicht am Ende angelangt, und auf die eine oder andere Verbesserung darf man noch hoffen.