Gibt es einen Befehl wie xwininfo, xdpyinfo, xprop oder xlsclient, der mir sagt, welche Schriftart ein X-Client-Fenster verwendet?

7

Ich versuche, einen Befehl zu finden, der angibt, für welche Schriftart ein bestimmtes X-Fenster konfiguriert ist. Existiert ein solcher Befehl?

Beim Durchsehen dieser Tools habe ich keine Option gefunden, die mir Folgendes bieten würde:

  • xwininfo
  • xdpyinfo
  • xprop
  • xlsclient

Wenn lsofich mir die Ausgabe von ansehe, sehe ich Schriftarten, die anscheinend verwendet werden. Es ist jedoch nicht klar, welche, falls vorhanden, tatsächlich von einem bestimmten Fenster verwendet werden.

Beispiel

$ lsof |grep gnome-ter|grep font | head -8
gnome-ter  3282      saml  mem       REG              253,0    223040    1180775 /usr/lib64/libfontconfig.so.1.4.4
gnome-ter  3282      saml  mem       REG              253,0   3656228    1588238 /usr/share/fonts/un-core/UnDotum.ttf
gnome-ter  3282      saml  mem       REG              253,0    585272     266781 /usr/share/fonts/gnu-free/FreeSans.ttf
gnome-ter  3282      saml  mem       REG              253,0    323284    1447753 /usr/share/fonts/dejavu/DejaVuSansMono.ttf
gnome-ter  3282      saml  mem       REG              253,0    190240    1588229 /usr/share/fonts/paktype-naqsh/PakType_Naqsh.ttf
gnome-ter  3282      saml  mem       REG              253,0    683528    1447770 /usr/share/fonts/dejavu/DejaVuSans.ttf
gnome-ter  3282      saml  mem       REG              253,2     42144   10488291 /home/saml/.fonts/ProggyCleanSZBP.ttf
gnome-ter  3282      saml  mem       REG              253,0     15504    1966923 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-3

Um es klar auszudrücken, ich bin nicht an dieser Lösung mit dem Titel interessiert: Wie kann ich überprüfen, welche Schriftart das System verwendet? ::

$ gconftool-2 --get /apps/gnome-terminal/global/profile_list
[Default,Profile0]

$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/font
Monospace 12
$ gconftool-2 --get /apps/gnome-terminal/profiles/Profile0/font
TakaoMincho Bold 36

Ich möchte diese Informationen wenn möglich über X ermitteln.

Verweise

slm
quelle

Antworten:

5

Die meisten modernen Anwendungen, einschließlich aller Gtk- (→ GNOME) und Qt- (→ KDE) Anwendungen, verwenden xft , das das Rendern clientseitig ausführt und ein Image an den Server sendet. (Möglicherweise über die XRender- Erweiterung, aber es ist ein Bild, das zum Rendern gesendet wird, kein Text). Für diese Anwendungen kennt der X-Server keine Schriftarten. Sie können nichts Besseres tun, als zu überprüfen, ob die Anwendung die Schriftartdatei geöffnet hat (hatte).

Selbst für altmodische Anwendungen, die serverseitige Schriftarten verwenden, gibt es in Xlib meines Erachtens keine Möglichkeit, abzufragen, welche Schriftarten ein anderer Client verwendet.

Gilles 'SO - hör auf böse zu sein'
quelle