gtk fonts/look anpassen
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Bisher hatte ich noch die das Beduerfnis, das Aussehen von GTK-Applikationen anzupassen. Aber jetzt habe ich gerade das Problem, dass die Schriftart, die GTK fuer Monospace waehlt, einfach furchtbar ist. Das kann man doch sicher zentral irgendwo einstellen oder? Weiss jemand, wo?
-
- User
- Beiträge: 61
- Registriert: Freitag 7. März 2003, 19:28
- Kontaktdaten:
Wenn du z.B. GNOME wählst kannst du es einfach unter System->Einstellungen->Schrift machen.
Gibt aber auch ne möglichkeit das GTK-Only zu machen (und somit auch unter Windows) weis aber net wie
mfg Betz Stefan
Gibt aber auch ne möglichkeit das GTK-Only zu machen (und somit auch unter Windows) weis aber net wie

mfg Betz Stefan
"zentral" ?
Für jede widget-Klasse für sich ist auf jeden Fall die rc-Datei das Beste, ginge aber auch mit modify_font(pango.FontDescription(..)). Mit rc liegt die Sache außerhalb des Codes - fürs Herumprobieren am bequemsten. Leider ist der Umgang mit diesen Dateien unangenehm und wieder einmal sehr dünn dokumentiert. Ich schaffe irgendwie immer nur, circa drei Viertel der Zeilen darin zur Wirkung zu bringen.
Für jede widget-Klasse für sich ist auf jeden Fall die rc-Datei das Beste, ginge aber auch mit modify_font(pango.FontDescription(..)). Mit rc liegt die Sache außerhalb des Codes - fürs Herumprobieren am bequemsten. Leider ist der Umgang mit diesen Dateien unangenehm und wieder einmal sehr dünn dokumentiert. Ich schaffe irgendwie immer nur, circa drei Viertel der Zeilen darin zur Wirkung zu bringen.
[color=green][size=75]Never use idle.pyw, if you need sys.stdin[/size][/color]
OOOOOps - das war schon wieder zu flüchtig. modify_font() ist Methode jedes einzelnen widgets.
Ohne rc müsste man also gtk.Style einsetzen. Manipulationen am style wirken sich meist auf alle widgets einer Klasse aus. 'Meist' spiegelt meine Unsicherheit in diesem Bereich - jedenfalls hat gtk.Style.copy() darin seine Existenzberechtigung.
Ohne rc müsste man also gtk.Style einsetzen. Manipulationen am style wirken sich meist auf alle widgets einer Klasse aus. 'Meist' spiegelt meine Unsicherheit in diesem Bereich - jedenfalls hat gtk.Style.copy() darin seine Existenzberechtigung.
[color=green][size=75]Never use idle.pyw, if you need sys.stdin[/size][/color]
Außerdem gibt es, so wie gtk bei mir installiert ist, die Datei C:\Programme\GTK\etc\gtk-2.0\gtkrc, außerdem enthält das Verzeichnis C:\Programme\GTK\etc\fonts 3 xml-Dateien, die man editieren könnte (wovor man in Kommentaren allerdings gewarnt wird).
Mit themes habe ich mich bisher noch gar nicht beschäftigt außer der globalen Auswahl von 'Raleigh'. Geht aber wohl immer um Sammlungen von rc-Dateien.
Mit themes habe ich mich bisher noch gar nicht beschäftigt außer der globalen Auswahl von 'Raleigh'. Geht aber wohl immer um Sammlungen von rc-Dateien.
[color=green][size=75]Never use idle.pyw, if you need sys.stdin[/size][/color]
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Mmh... habe mir mal eine gtkrc in meinem Home-Verzeichns erstellt und damit rumgespielt.
Das Emacs-Key-Theme funktioniert, coole Sache. Das can-change-accels geht nicht.
Das gtk-font-name funktioniert auch, ist aber nicht das, was ich will.
Dann habe ich mal mit dem Style rumprobiert, aber egal was ich tue, ich sehe keine Auswirkungen davon. Ich wuesste auch gar nicht, was fuer Widgets/Widget-Klassen etc. diejenigen sind, die ich aendern muesste und ob das ueberhaupt der richtige Weg ist.
Mich stoert halt an vielen Stellen die monspace-Schrift, die gewaehlt wird.
EDIT: Das change-accels geht unter Firfox nicht, aber unter Sylpheed. Das Problem mit den Schriften habe ich aber auch dort.
Code: Alles auswählen
gtk-key-theme-name = "Emacs"
gtk-can-change-accels = 1
gtk-font-name = "Sans 10"
style "etl_font"
{
font = "-etl-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*"
#font_name = "Courier 16"
}
widget_class "*" style "etl_font"

Dann habe ich mal mit dem Style rumprobiert, aber egal was ich tue, ich sehe keine Auswirkungen davon. Ich wuesste auch gar nicht, was fuer Widgets/Widget-Klassen etc. diejenigen sind, die ich aendern muesste und ob das ueberhaupt der richtige Weg ist.
Mich stoert halt an vielen Stellen die monspace-Schrift, die gewaehlt wird.
EDIT: Das change-accels geht unter Firfox nicht, aber unter Sylpheed. Das Problem mit den Schriften habe ich aber auch dort.
Drei Viertel der Zeilen wirksam, wie oben geschrieben, heißt: Ergebnis langen Herumprobierens. Die besten Erfolge hatte ich meist mit benannten Toplevels ( also toplevelo.set_name('WainTable') z.B.). Mit einem solchen Namen läuft bei mir folgendes:
Das trifft jetzt alle Entries, habe nicht die leistete Ahnung, warum es nicht 'widget_class' heißen muss - das funktioniert nämlich NICHT (vielleicht ist die Verwendung eines Namens auch nur als Teil des Suchmusters dann schon einschlägig für 'widget' allein). Auch für "WainTable.*.GtkEntry" funktioniert es wieder nicht - alles undokumentiert.
Auch 'class' funktionierte wohl etwas öfter als 'widget_class', womit ich die schlechteste Quote erreichte.
Code: Alles auswählen
style "fat"
{
font_name = 'Verdana bold 14'
}
widget "WainTable.*GtkEntry" style "fat"
Auch 'class' funktionierte wohl etwas öfter als 'widget_class', womit ich die schlechteste Quote erreichte.
[color=green][size=75]Never use idle.pyw, if you need sys.stdin[/size][/color]