OX5 – Login Problem mit Konqueror – Nachtrag III

Das Problem mit dem Login in einen OpenXchange-Server und der korrekten Abarbeitung von http-Headern - siehe

http://linux-blog.anracom.com/2007/10/06/konqueror-ox5-login-problem-nachtrag-i

und

http://linux-blog.anracom.com/2007/10/06/konqueror-ox5-login-problem-nachtrag-ii/

- ist in den aktuellen KDE Version 3.5.8 endlich behoben!

Ein großes Dankeschön an die KDE-Entwickler !

2 Defizite von Konqueror (KDE 3.5.8)

Wenn man täglich mit Webseiten-Entwicklung zu tun hat, bleibt es nicht aus, dass man über Fehler in diversen Browsern stolpert.

Ärgerlich finde ich Bugs, die entstanden sind und auch nicht entdeckt wurden, weil die Entwickler/Tester nur den Normalfall betrachtet haben. Zwei schöne Beispiele liefert hier der Konqueror in seiner Rolle als Web-Browser.

Bug 1: Nur teilweise Darstellung von Bildern, wenn Webseiten geladen werden, nachdem (!) der Browser auf einen Zoomfaktor > 1 eingestellt wurde

Konqueror behandelt Bilder, deren Größe mit "em"-Vorgaben festgelegt sind, solange richtig, wie man die entsprechenden Webseiten bei normaler Schriftgröße lädt. Selbst eine nachfolgende Vergrößerung der Schriften bzw. des Browser-Bildes über "Ctrl +" (bzw. Strg +) skaliert die Bilder im erwarteten Maße. Lädt man jedoch Webseiten mit Bildern (deren größe mit "em" definiert wurde) bei bereits eingestelltem Zoomfaktor >1 (z.B. 1.5 durch zweimalige Anwendung von CTRL +), so werden die Bilder nur abgeschnitten dargestellt. Der Browser vergisst, Bildbereiche zu rendern, die über die Bildgröße hinausgehen, die bei einem Zoomfaktor von 1.0 gültig wären.

Meine Meinung: Hier wurde unzureichend getestet.

Bug 2: Properties von Iframes werden beim Laden einer Seite zu spät für Scripts bereitgestellt

Tritt im Zuge des Ladens einer Webseite das sog. "onLoad" - Ereignis auf, so sollten zu diesem Zeitpunkt alle Webseiteninhalte fertig aus dem Netz geladen sein und im Browser alle relevanten Informationen zu den geladenen Objekten zur Verfügung stehen. Eine solche Eigenschaft ist die (Gecko-spezifische) Eigenschaft "innerWidth" von "window"- oder "(i)frame"-Objekten. Firefox und Opera stellen diese Eigenschaft auch bereit, wenn das Onload-Ereignis eintritt. Nicht dagegen Konqueror - er liefert zwar "genauere" Daten als die anderen Browser, da er auch die breite von evtl. auftreteden Scrollbars der "(i)frames" berücksichtigt. Diese Daten stehen u.U. aber erst zeitverzögert nach dem Eintreten des "onLoad"-Ereignisses für die Verarbeitung in Javascript-Programmen zur Verfügung.

Meine Meinung: Ich weiß nicht, wie oft man "innerWidth" beim onLoad-Ereignis in der Praxis benötigt. Ich meine aber, dass die Vorgehensweise beim Konqueror die Verletzung einer natürlichen Erwartungshaltung an die Verfügbarkeit zu Seitenelementen billigend in Kauf nimmt. Der Sinn des onLoad-Ereignisses ist in gewisser Weise in Frage gestellt, wenn Objektinformationen erst nach diesem Zeitpunkt bereitgestellt werden. Der Bug riecht förmlich nach einem konzeptionellen Fehler bei der Behandlung von Iframes.

Compiz: Fehler mit Nvidia Treiber x86_64_169

Compiz Fusion und Fehler mit Nvidia treiber x86_64_169

Beim Einsatz dieses Treibers kann es je nach Grafikkarte unter Opensuse 10.3 passieren, dass ein Starten von Compiz über das das Compiz-Fusion-Icon dazu führt, dass die Fensterrahmen (window decoration) nicht angezeigt werden.

Dies geschieht ggf. auch dann, wenn alle notwendige Einträge im xorg.conf File vorhanden sind.

Hier helfen:

1) Beibehalten des Nvidia-Treibers -> Starte Compiz über eine Konsole mit "compiz-manager &" . Hier werden dann offenbar sinnvolle Parameter beim Start gewählt, die mit dem Treiber kompatibel sind.
2) Downgrade des Treibers.

Der 169-Treiber ist dennoch interessant. Er erlaubt nämlich eine viel bessere Synchronisierung der OpenGL-Darstellung mit der Vertikalfrequenz des Monitors (Einstellung im Compiz Einstellungsmananger unter dem Punkt "Allgemein"). Dies beseitigt das bemerkenswerte und üble Tearing der Kanten von "wobbling windows", das mit Compiz-Fusion Einzug gehalten hat.

Es bleibt zu hoffen, dass demnächst ein besseres Treiber erscheint.