LABYRINTHOFORM

EIN ANFANG, EIN ENDE. UND DAS DAZWISCHEN...

Claws Mail mag ich recht gerne als Email-Client, eine Dust-Variation mit dunklen Toolbars auch – nur wollen die beiden per Default nicht unbedingt miteinander harmonieren:

Claws-Mail hat um den Fensterinhalt einen 2px breiten, weissen Rahmen. Der fällt bei Themes mit hellen Toolbars nicht weiter auf, wird die Werkzeugleiste allerdings mit dunklem Hintergrund angezeigt stört dieser Rahmen dann doch merklich.

claws_border

Die Lösung ist einerseits aufwändig (selbst compilieren, dauert auf einem Samsung NC10 Netbook ca. 15 Minuten), andererseits simpel – man muss im Source von Claws Mail nur den Rand von 2px auf 0px setzen.

Vorbereitungen

Man braucht alles was zum compilieren von Claws-Mail nötig ist, APT installiert uns Abhängigkeiten und Sourcen (selbige landen im Home-Verzeichnis):

sudo apt-get build-dep claws-mail
sudo apt-get source claws-mail

Rahmenbreite im Source ändern

Die Definition des Rahmens steckt in der Datei src/toolbar.c.

cd ~
cd claws-mail-3.7.2
sudo gedit src/toolbar.c

Irgendwo ab Zeile 2000 (im Zweifelsfall einfach per Strg-F nach “border” suchen, kommt nur zweimal im Quelltext vor) steht folgender Abschnitt:

#ifndef MAEMO
	gtk_container_add(GTK_CONTAINER(container), toolbar);
	gtk_container_set_border_width(GTK_CONTAINER(container), 2);

Hier werden die 2 Pixel durch 0 Pixel ersetzt, danach speichern und den Editor beenden:

#ifndef MAEMO
	gtk_container_add(GTK_CONTAINER(container), toolbar);
	gtk_container_set_border_width(GTK_CONTAINER(container), 0);

Compilieren und Installieren

Wieder zurück im Terminal (immernoch im Claws-Mail-Verzeichnis sh. oben) muss zuerst die heruntergeladene Datei claws-mail_3.7.2.orig.tar.gz gelöscht werden:

rm ~/claws-mail_3.7.2.orig.tar.gz

Danach wird das zu bauende Paket vorbereitet:

dh_make --createorig

Und compiliert/gebaut:

sudo dpkg-buildpackage -rfakeroot

Als Resultat erhält man diverse *.deb-Pakete im Hoomeverzeichnis die mit

sudo dpkg *.deb

installiert werden können (Achtung, falls auch noch andere Pakete dort vorhanden sind werden mit obiger Zeile auch diese mitinstalliert!).

Naach einem Claws-Mail-Neustart sollte der weisse Rahmen verschwunden sein. Danke an root’in the.net für die Idee.

Edit: Patch dazu:

--- toolbar2.c	2009-10-31 16:20:22.756785977 +0100
+++ toolbar.c	2009-10-31 11:30:03.915784469 +0100
@@ -2150,7 +2150,7 @@
 	
 #ifndef MAEMO
 	gtk_container_add(GTK_CONTAINER(container), toolbar);
-	gtk_container_set_border_width(GTK_CONTAINER(container), 2);
+	gtk_container_set_border_width(GTK_CONTAINER(container), 0);
 #else
 	if ( GTK_IS_WINDOW(container) ) {
 		hildon_window_add_toolbar (HILDON_WINDOW(container), GTK_TOOLBAR(toolbar));

Als erstes “follow-up” zum letzten Artikel über mein derzeitiges Theme möchte ich über die Möglichkeit die Uhr des Gnome-panels relativ frei formatieren zu können schreiben, eine Möglichkeit die schon länger existiert aber doch relativ selten in Screenshots zu sehen ist.

tray

Anstelle der Standardanzeige kann das Clock-Applet auch eine eigene, auf Pango Text Attribute Markup (Danke @Meckerer) und der Syntax des C-Befehls strftime() basierende Darstellung nutzen, auf diese Weise lassen sich die angezeigten Werte variieren, Zeilenumbrüche einfügen oder z.B. auch die Schriftart ändern.

Aktivierung in Gconf

Die Konfiguration erfolg über zwei Schlüssel in Gnomes’ “Registry-Äquivalent” Gconf: Man öffne den Gconf-Editor (ALt-F2, dann “gconf-editor”) und folge dem Pfad “apps -> panel -> applets -> clock_screen0 -> prefs“.

Dort wird der Inhalt von “format” auf “custom” (Rechtsklick -> Schlüssel bearbeiten -> Wert entsprechend ändern) gesetzt, damit wird die Anzeige einer eigenen Formatierung aktiviert.

custom_clock2

Die eigene Formatierung

Der Wert von “custom_format” (per Default leer) wird mit dem Code unserer eigenen Formatierung (1. Screenshot) gefüttert (alles eine Zeile, Umbrüche ggf. bitte entfernen da sonst die Darstellung unvollständig sein kann):

%H:%M %n
%d.%m.%g

Mit <span>...</span> werden hier die zu formatierenden Bereiche eingegrenzt, der Parameter font_desc enthält Schriftart und -grösse, foreground beschreibt die Schriftfarbe in Hexadezimalform. < sup>...</sup> führt zu einer “Hochstellung” des eingeschlossenen Textbereiches, hier genutzt um den Abstand der zwei Zeilen etwas zu verringern. Der entscheidende Teil des Codes ist allerdings das %n – hiermit wird ein Zeilenumbruch erzeugt. Die Platzhalter:

  • %H: Stunde (24h, 2stellig)
  • %M: Minuten (2stellig)
  • %n: Zeilenumbruch
  • %d: Tag des Monats (2stellig)
  • %m: Monat (2stellig)
  • %g: Jahr (2stellig)

Screenshot 2: Mit Zeitzone und Monat

%H:%M %Z%n
%d.%b.%Y

Die Schriftgrösse der zweiten Zeile ist etwas grösser, ausserdem sind zwei neue Platzhalter verwendet worden:

  • %Z: Zeitzone
  • %b: Monat (Abkürzung)

Alle Parameter: strftime()

Ich muss zugeben – alles ausprobiert habe ich nicht, in vielen Quellen ist aber zu lesen dass custom_format mit allen Formatierungen des C-Befehls strftime() zurechtkommen soll. Eine entsprechende Auflistung gibt es z.B. hier auf cplusplus.com.

So, ich wünsche viel Spass beim experimentieren – und wenn jemand ein eigenes interessantes Layout kreiert hat – ruhig Bescheid geben, interessiert mich immer :)

…und ausserdem bastelt der Cywhale recht gerne am Aussehen des Gnome-Desktops.

Nachdem ich wg. akutem Zeitmangel lange Zeit nichts mehr veröffentlicht habe hier ein kleiner Einblick in die aktuellen Design-Basteleien, ausserdem interessiert mich natürlich auch was die werte Leserschaft am Desktop-Design ändert :)

tray

In obigem Screenshot sieht man Anpassungen des Gnome-panels, (Ausgangspunkt für alle hier beschriebenen Anpassungen sind Ubuntu 9.10 Karmic, Humanity Icontheme, die Idee überhaupt den Versuch zu unternehmen an den Notification Icons etwas zu ändern habe ich vor längerer Zeit aus diesem Blogbeitrag bekommen.):

  • Menü-Logo verkleinert und farblich angepasst
  • Mail-Icon (Humanity-Theme)
  • Pidgin-Icon (verkleinert, farblich angepasst)
  • Liferea (neue Standard-RSS-Icons, farbig=neue Nachrichten verfügbar, sonst auch grau)
  • Lautstärke und NetworkManager (verkleinert,Humanity-Theme)
  • Zweizeiliges Clock-Applet (so geht’s)
nautilus

Das gesamte Theme ist mittlerweile aus mehreren Einzelkomponenten zusammengebaut:

  • GTK: Dust Burnt (für die schönen, dunklen Toolbars :) )
  • Fensterdekorationen: Emerald/Gommoso-Theme (farblich angepasst, Icons aus dem Shiki-Theme, Fenstertitel linksverschoben, rahmenlos, minimaler Schattenwurf)
  • Icons: Humanity (Navigationspfeile farblich geändert)
cydust_full

Warum nun das Ganze – naja, es macht einfach Spass. Ausserdem bieten sich durch die unbeschränkten gestalterischen Möglichkeiten unter Linux immer neue Möglichkeiten “das eigene”, perfekte Theme zu entwickeln, was wieder direkt zurück zum Spassfaktor führt. Bisher hat noch kein Theme genau meinen Geschmack getroffen, da heisst es eben einmal mehr nicht meckern, selber machen. Oder es ist doch nur Spieltrieb.

Wie auch immer, das neue Humanity-Icon-Theme Ubuntus’ empfinde ich als recht gelungen, ausgenommen die Grössenvorgaben für die Icons in der Notification Area – meiner Meinung nach sehen selbige in kleinerer Version deutlich angenehmer aus als wenn sie nahezu das gesamte Panel ausfüllen.

Verwendete Tools: Inkscape für SVG-Anpassungen, ImageMagick (convert, mogrify) für PNGs, hauptsächlich die Tray-Geschichten.

Wie sieht das nun bei euch aus, ändert ihr auch gerne mal das eine oder andere Designelement? Oder belasst ihr das Original-Theme wie es ist und beschäftigt euch mit sinnvolleren Dingen?

Edit 26/10/2009: Bösen Rechtschreibfehler entfernt. Desktop-Screenshot eingefügt. Link zum “Urheber” der Notification-Icon-Idee ergänzt, habe ihn endlich wiedergefunden :)