Firefox 4 Beta 4

Mittwoch, 25. August 2010

Es wird fleißig an Firefox geschraubt. Gestern ist die Beta 4 erschienen, 3 weitere und ein RC sollen noch folgen.

Mit Version 4 werde ich aufhören, Linux-x64-Versionen zu kompilieren, das macht Mozilla mittlerweile selbst. Die Beta 4 ist z.B. hier als x64 erhältlich.

Nun möchte ich noch zu einigen Neuerungen kommen. Die Oberfläche wurde schon mehrfach verbloggt, wird wohl mittlerweile jeder wissen: Tabs sind standardmäßig on Top, Windows Aero wird unterstützt, Menü wurde in einem Button zusammengefasst. Einige schreien hier vielleicht “geklaut!”, aber im Gegensatz zu z.B. Chrome lässt sich das in Firefox alles wieder ändern. Im folgenden möchte ich noch einige technische Neuerungen zeigen. Das ist eher für Web-Entwickler interessant.

Unter der Haube arbeitet eine neue JavaScript-Engine namens JägerMonkey, die derzeit auch noch stark entwickelt wird. Damit holt Firefox wieder etwas auf. Zugegeben, Firefox ist im Moment einer der langsamsten Browser, aber auf meinem Laptop läuft der immer noch. Und ich habe 40 AddOns installiert. Viele dieser Dinge gibt es gar nicht für Chrome.

Viele Dinge aus HTML5 und CSS 3 werden jetzt unterstützt. Dabei ist vor allem eine echter HTML5-Parser, Formular-Validierung, SVG-Animationen und CSS-Übergänge. CSS-Animationen sollen noch folgen. SVGs sollen auch als Bilder gerendert werden, sodass sie als <img> oder CSS-Hintergrund benutzt werden können. WebM wird in HTML5-Videos unterstützt, damit ist YouTube teilweise schon ohne Flash möglich. Neben 2D-Grafiken erlaubt <canvas> auch 3D-Bilder mittels WebGL.

Danke des HTML5-Parsers können SVG-Bilder und MathML-Objekte direkt in ein HTML-Dokument eingebettet werden.

Die Gecko-Engine erlaubt in CSS den calc()-Selecktor, mit dem Größen- und Positionsangaben viel flexibler angegeben werden können. Sollen z.B. zwei gleich große Boxen nebeneinander angezeigt werden, mit 1em Abstand außen und 3cm Abstand innen, kann man ihnen die Breite calc(50%-1.5cm-1em) geben.

In JavaScript wird es einfacher, mit Dateien des Benutzers zu arbeiten (<input type="file"> oder Drag’n'Drop). Neben dem FormData-Objekt, dass ein einfaches Hochladen von Dateien mittels XMLHttpRequest erlaubt, lässt mit der url-Eigenschaft eines File-Objektes eine Bild fast überall in der Webseite benutzen, z.B. als Quelle für ein <img>-Element oder als CSS-Hintergrund.

Unter Windows Seven wird Multi-Touch unterstützt, wenn der Bildschirm es unterstützt. Webseiten können also erkennen, dass ein Multitouch-Gerät verfügbar ist, können Touch-Eingabe von Mausklicken unterscheiden und mehrere Finger gleichzeitig verarbeiten.

Als eine der letzen Änderungen ist eine neue CSS-Funktion eingeflossen. Damit können beliebige HTML-Elemente einer Webseite als Hintergrund für ein anderes Element benutzt werden. Zwei sinnvolle Nutzungsmöglichkeiten sind Reflektionen von Elementen, die automatisch generiert werden sowie Galerien, die Vorschaubilder aller Seiten anzeigen. Da die die Hintergründe live aktualisiert werden, funktioniert das ganze sogar mit Videos und Iframes.

Fenstermanager unter Linux

Freitag, 30. Juli 2010

Stefan Münz hat mich in Buzz auf die Idee gebracht, mal was über die Aufgabe des Fenstermanagers unter Linux zu schreiben. Dabei möchte ich insbesondere auf Compiz eingehen, dazu später mehr.

Eins vorweg: relativ bildlastig!

Unter Windows ist man es gewohnt, dass jedes Fenster eine Titelleiste hat, in der auch die Buttons zum Minimieren, Maximieren und Schließen sind. Wenn man auf die Titelleiste klickt, kommt das Fenster nach vorne und ist aktiviert. An den Rändern kann man ein Fenster in der Größe verändern. Das ist bei Linux im Prinzip nicht der Fall. Eine Anwendung, die ein neues Fenster erzeugt, sieht zunächst mal relativ nackt aus, bei Nautilus z.B. so:

Ein Fenster ohne Decoration-Manager

Ohne Decoration-Manager sieht ein Fenster so aus

Wenn mehrere Fenster geöffnet sind, werden sie auch nicht einfach nach vorne geholt, wenn man sie anklickt. Hier kommen erst zwei Programme zum Einsatz: zum einen der Fenster-Manager, zum anderen der Decoration-Manager.

Der Fenster-Manager verwaltet alle Fenster für den X-Server. Der X-Server ist unter Linux allgemein die graphische Oberfläche, im Gegensatz zu den virtuellen Terminals. Wer es einmal ausprobieren will, kann mit [Strg+Alt+F1] bis [Strg+Alt+F8] (erst weiterlesen!) auf eins der virtuellen Terminals schalten. Hat man erst mal die graphische Oberfläche verlassen, kann man mit [Alt+F1] bis [Alt+F8] umschalten. Der X-Server läuft normalerweise auf #7, also mit [Alt+F7] wieder zurückschalten.

Zurück zum Fenster-Manager. Der ist dafür zuständig, die Fenster in der richtigen Reihenfolge übereinander zu legen, ein Fenster zu aktivieren, verschieben, vergrößern und so weiter. Er sorgt auch dafür, dass das aktivierte Fenster Tastatureingaben annehmen kann. Er bietet dies Funktionen an, aber zeichnet selbst noch keine Titelleiste, so dass man immer noch nicht viel mit den Fenstern machen kann.

Hier kommt der Decoration-Manager ins Spiel. Er zeichnet letztlich den Rahmen mit den Buttons um die Fenster herum. Allerdings sei gesagt, dass meistens der Decoration-Manager zum Fenster-Manager gehört. Die am häufigsten genutzten Programme sind:

  • Metacity, der Standard-Fenster-Manager von GNOME, zusammen mit dem gtk-window-decorator als Decoration-Manager
  • KWin, der Fenster-Manager von KDE, zusammen mit dem kde-window-decorator
  • Compiz, ein Fenster-Manager mit vielen Effekten, kann bei GNOME und KDE alternativ benutzt werden. Benutzt den compiz-decorator, welcher wiederum auf den gtk-window-decorator zurückgreift.
  • Emerald ist kein Fenster-Manager, sondern nur ein alternativer Decoration-Manager für Compiz, sehr gut anpassbar.

Zuletzt sei noch die Existenz sogenannter Composition-Manager erwähnt. Bei Fenster-Managern ohne einen solchen zeichnen die Fenster direkt über die Grafikkarte auf den Bildschirm. Das ist zwar relativ ressourcenschonend, hat allerdings auch ein paar Nachteile. Wenn ein Fenster, das vorher verdeckt war, wieder sichtbar wird, muss der verdeckte Teil neu gezeichnet werden. Graphische Effekte wie Alpha-Transparenz sind nicht möglich. Bei Fenster-Managern mit Compositing zeichnen alle Programme dagegen in einen eigenen Zeichenbereich, den der Fenster-Manager dann auf der Grafikkarte zusammensetzt. Dabei können einzelne Fensterbereiche auch transparent gezeichnet werden.

KWin und Metacity arbeiten normalerweise ohne Compositing, wenn die Grafikkarte (bzw. der Treiber) 2D-Beschleunigung unterstützt kann aber auch Compositing eingeschaltet werden. Das ergibt dann “leichte” Desktop-Effekte wie Live-Vorschau der Fenster im Umschalter (Alt+Tab) oder den Schatten um Fenster herum. Wenn 3D-Beschleunigung möglich ist, kann man auch Compiz benutzen. Compiz ist immer auch ein Compositing-Manager, und bekannt für die vielen Effekte, dazu jetzt mehr.

Compiz

Compiz hat eine relativ komplexe Geschichte, die aus einigen Abspaltungen und Wiedervereinigungen besteht. Compiz wird manchmal auch als Compiz Fusion bezeichnet. Compiz ist dabei im Prinzip der reine Fenster-Manager, während Compiz Fusion alle Plugins für Compiz bereitstellt.

Compiz ist stark modular aufgebaut, sogar das Verschieben oder Vergrößern wird durch Plugins realisiert. Daneben gibt es aber auch sehr viel mehr.

Wer in GNOME unter “Erscheinungsbild” die einfachen Desktop-Effekte aktiviert, schaltet von Metacity auf Compiz mit einer “Standard-Ausstattung”. Die erweiterten Effekte aktiveren darüber hinaus einigen graphischen Schnickschnack, den manch einer braucht, während andere ihn gar nicht wollen. Daneben gibt es noch zwei weitere Einstellungsmöglichkeiten: da ist zum einen ein “Einfacher CompizConfig Einstellungsmanager” (simple-ccsm in den Paketquellen und im Terminal) oder der normale “CompizConfig Einstellungsmanager” (ccsm). Während der Simple-CCSM einige übliche Einstellungsmöglichkeiten bei sehr einfacher Oberfläche bietet, ist der CCSM relativ umständlich, bietet dafür alle möglichen Einstellungen für Compiz. Im CCSM können auch gezielt einzelne Plugins (de)aktiviert werden.

Der einfache CompizConfig Einstellungs-Manager (simple-ccsm)

Der einfache CompizConfig Einstellungs-Manager (simple-ccsm)

Der CompizConfig Settings-Manager (ccsm)

Der CompizConfig Settings-Manager (ccsm)

Einige der Plugins möchte ich hier noch erwähnen. Für einige Aufgaben gibt es verschiedene Alternativen. Um zwischen den virtuellen Desktops umzuschalten gibt es z.B. die Desktop-Tafel (alle Desktops werden virtuell auf einer großen Fläche angeordnet) oder den bekannten Würfel. Genauso gibt es auch verschiedene Anwendungs-Umschalter.

Die meisten Plugins lassen sich mit mehreren Methoden aktivieren. Meistens steht ein Tastaturkürzel, ein Mausbutton oder eine Bildschirmecke zur Verfügung, auch mit Modifiern (Strg,Alt,Shift,Super). Super ist die “Windows-Taste”. Bei Mausbuttons ist:

  1. Links
  2. Mitte
  3. Rechts
  4. nach oben scrollen
  5. nach unten scrollen
  6. nach links scrollen
  7. nach rechts scrollen
  8. Zusatzbutton 1 (Im Browser: zurück)
  9. Zusatzbutton 2 (Im Browser: vor)

Konzentrationshilfe (unter Barrierefreiheit)

Die Konzentrationshilfe blendet automatisch alle Fenster außer dem aktiven ab, um nicht abzulenken. Es lassen sich Einstellungen wie Helligkeit, Transparenz und Sättigung einstellen.

Konzentrationshilfe im Einsatz

Konzentrationshilfe im Einsatz

Sichtbarkeit (unter Barrierefreiheit)

Dieses Plugin arbeitet ähnlich wie Aero Peak unter Windows Seven. Wenn man ein Fenster mit der Maus berührt, werden alle anderen Fenster stark durchsichtig.

Sichtbarkeits-Plugin

Sichtbarkeits-Plugin

Desktop-Würfel (unter Arbeitsfläche)

Compiz ist für diesen Würfel bekannt. Er zeigt die virtuellen Arbeitsflächen auf den Seiten eines Würfels.

Der Desktop-Würfel

Der Desktop-Würfel

Hier möchte ich noch ergänzen, das einige Plugins speziell für den Würfel geschrieben wurden, also nur mit ihm funktionieren. Ich habe mit von der Compiz-Website noch das Atlantis-Plugin installiert:

Das Atlantis-Plugin

Das Atlantis-Plugin

Expo (unter Arbeitsfläche)

Eine Übersicht über alle Arbeitsflächen:

Expo

Expo

Animationen (unter Effekte)

Hier lassen sich einige Animationen für das Öffnen, Schließen, Einrollen und Aktivieren von Fenster einstellen.

Fenster ein-/ausblenden (unter Effekte)

Wenn dieses Plugin aktiviert ist, faden die Fenster im Anwendungsumschalter (Alt+Tab). Außerdem werden nicht reagierende Programme dunkler und schwarz-weiß.

Fensterdekoration (unter Effekte)

Wie gesagt, bei Compiz ist alles ein Plugin. Mit diesem Plugin wird der Decoration-Manager aktiviert, hier lassen sich auch die Fenster-Schatten einstellen.

Fensterunschärfe (unter Effekte)

Der Effekt ist von Vista/7 bekannt: unter transparenten Bereichen sind andere Fenster unscharf.

Fensterunschärfe

Fensterunschärfe

Reflektionen (unter Effekte)

Ebenfalls von Vista/7 bekannt: Unter den transparenten Bereichen erscheinen noch Reflektionen. Ich habe mir die Reflektionen von Windows geklaut, weil mir die von Compiz nicht gefallen haben.

Reflektionen

Reflektionen

Wacklige Fenster (unter Effekte)

Eigentlich nur eine Spielerei: Wenn Fenster verschoben werden, wackeln sie als wären sie aus Gummi. Nebeneffekt: Sie kleben beim verschieben an anderen Fenstern.

Wacklige Fenster

Wacklige Fenster

Vorschaubilder (unter Sonstiges)

Nicht viel zu sagen: Vorschaubilder in der Taskliste bzw. im Dock.

Vorschaubilder

Vorschaubilder

Grid (unter Fensterverwaltung)

Fenster lassen sich in einem 2×2- oder 3×2-Gitter anordnen, änhlich wie AeroSnap unter Windows 7.

Grid

Grid

Maximumize (unter Fensterverwaltung)

Mit Maximumize können Fenster einfach auf die größtmögliche noch freie Fläche gebracht werden.

Maximumize - Vorher

Maximumize - Vorher

Maximumize - Danach

Maximumize - Danach

Skalieren (unter Fensterverwaltung)

Skalieren bedeutet nicht ein Fenster in der Größe zu ändern, dafür gibts ein anderes Plugin ;-) (“Fenster skalieren”). Bei “Skalieren” werden alle Fenster auf dem Desktop verteilt, sodass man durch Klicken eins auswählen kann.

Skalieren

Skalieren

Unter “Werkzeuge” gibt es noch die “Scale-Erweiterungen” (Fenster aus der Übersicht heraus schließen oder eine Vollbildvorschau) sowie den “Scale-Fenstertitelfilter” (Fenster durch Tippen filtern)

Anwendungsumschalter

Die meisten kennen ja die [Alt+Tab]-Funktion. Die gibts unter Windows wie unter den meisten Linux-Fenstermanagern. Bei Compiz gibts es dagegen verschiedene, die sich auch nebeneinander benutzen lassen (z.B. auf verschiedenen Tastenkombinationen). Einige möchte ich hier noch vorstellen. Sie finden sich alle unter “Fensterverwaltung”.

Anwendungsumschalter

Der Standard von Compiz: Die Fenster bewegen sich unter dem Rahmen durch.

Anwendungsumschalter

Anwendungsumschalter

Static Application Switcher

Ähnelt eher dem von Windows: Die Fenster bleiben stehen, der Rahmen bewegt sich.

Static Application Switcher

Static Application Switcher

Shift Switcher (Modus Hülle)

Fenster auswählen im Coverflow-Stil:

Shift Switcher - Hülle

Shift Switcher - Hülle

Shift Switcher (Modus Umdrehen)

Fenster auswählen im Vista/7-Stil (Aero Flip):

Shift Switcher - Umdrehen

Shift Switcher - Umdrehen

Ring-Anwendungsumschalter

Die Fenster werden in einem sich drehenden Ring angeordnet:

Ring-Anwendungsumschalter

Ring-Anwendungsumschalter

Stack Switcher

Der ist standardmäßig nicht dabei, hab ich manuell installiert. Netter 3D-Effekt.

Stack Switcher

Stack Switcher

Firefox 3.6.6 erschienen + x64-Version für Linux

Sonntag, 27. Juni 2010

Heute ist Firefox 3.6.6 erschienen. Die 3.6.5 wurde übersprungen, da sie eigentlich eine Übergangsversion zu  Version 4 sein sollte, jetzt sollen Verwechslungen vermieden werden.

Den Release Notes ist zu entnehmen, dass im Vergleich zu 3.6.4 nur ein einziger Bug gefixed wurde. Die Zeit, bis ein nicht reagierendes Plugin beendet wird, wurde erhöht, da wohl einige Benutzer mit zu schnell abstürzendem Flash hatten.

Caschy hat mal wieder die portable Version für Windows gebastelt, ich die x64-Version für Linux.

Thunderbird 3.0.5 + x64-Version für Linux

Freitag, 18. Juni 2010

Heute erschien Mozilla Thunderbird 3.0.5. Die Release Notes gibts bei Mozilla Messaging. Caschy hat schon die portable Version für Windows gebastelt.

Meine Version ist zwar ein wenig aufwendiger, aber ich habe mal wieder die 64Bit-Version für Linux gebastelt. Gibts in meinem GoogleDocs-Ordner.

Offizieller Firefox mit 64 Bit

Montag, 31. Mai 2010

Mozilla plant, künfitge Firefox auch als 64-Bit-Version zu veröffentlichen. Heise meldet heute, dass die ersten Nightly Builds für Windows verfügbar sind. Versionen für Mac und Linux seien seit dem 9. April verfügbar. Die Dateien sind auf Mozillas FTP verfügbar. Wie üblich der Hinweis, dass es sich um ungetestete Entwicklerversionen handelt, die auf keinen Fall produktiv genutzt werden sollten.

Seit Firefox 3.6 und Thunderbird 3.0 habe ich mir die Mühe gemacht, die Version als x64 für Linux zu kompilieren. Wer möchte, kann sie sich vom meinem GoogleDocs-Account laden (Benutzung auf eigene Gefahr, ich konnte bis jetzt keine Probleme feststellen).

Gerade bei Plugins ist es sinnvoll, durchgehend eine Architektur zu benutzen. Ich habe Probleme mit 32-Bit-Flash, egal ob 32-/64-Bit-Firefox. Der 64-Bit-Flash läuft aber nicht mit 32-Bit-Firefox. Deswegen habe ich alles auf 64 Bit gesetzt und benutze die Beta von Flash. Hoffentlich setzt sich HTML5 schnell durch… :-D