ウィンドウ管理(xmonad)を起動すると、gtkフォントはアンチエイリアス処理されますが、何らかの理由でurxvtの~/.Xdefaults
の変数名に問題があります(変数名を色として解析できないため、すべてがピンク色になります) 。これは、xrdb -merge ~/.Xdefaults
を実行することで修正されます。ただし、これを行うと、gtkアプリではフォントのアンチエイリアスが無効になりますが、urxvtでは無効になりません。
これを引き起こしているのは何ですか?
それ以来、~/.Xdefaults
を~/.Xresources
に移動しましたが、gtkアンチエイリアスは最初から機能していないようですが、urxvtを解析するにはxrdb -merge ~/.Xresources
を実行する必要があります。色変数。
私の~/.Xresources
:
Xft.dpi: 96
Xft.lcdfiler: lcddefault
Xft.antialias: true
Xft.hinting: true
Xft.hintstyle: hintfull
URxvt.font: xft:Dejavu Sans Mono:size=11:antialias=true:hinting=true
URxvt*scrollBar: true
URxvt*scrollBar_right: true
URxvt*scrollstyle: plain
URxvt.urgentOnBell: true
! From https://bbs.archlinux.org/viewtopic.php?id=164108
URxvt.intensityStyles: false
! From https://raw.github.com/solarized/xresources/master/solarized
! Solarized color scheme for the X Window System
!
! http://ethanschoonover.com/solarized
! Common
#define S_yellow #b58900
#define S_orange #cb4b16
#define S_red #dc322f
#define S_Magenta #d33682
#define S_Violet #6c71c4
#define S_blue #268bd2
#define S_cyan #2aa198
#define S_green #859900
! Dark
#define S_base03 #002b36
#define S_base02 #073642
#define S_base01 #586e75
#define S_base00 #657b83
#define S_base0 #839496
#define S_base1 #93a1a1
#define S_base2 #eee8d5
#define S_base3 #fdf6e3
! Light
! #define S_base03 #fdf6e3
! #define S_base02 #eee8d5
! #define S_base01 #93a1a1
! #define S_base00 #839496
! #define S_base0 #657b83
! #define S_base1 #586e75
! #define S_base2 #073642
! #define S_base3 #002b36
! To only apply colors to your terminal, for example, prefix
! the color assignment statement with its name. Example:
!
! URxvt*background: S_base03
*background: S_base03
*foreground: S_base0
*fading: 40
*fadeColor: S_base03
*cursorColor: S_base1
*pointerColorBackground: S_base01
*pointerColorForeground: S_base1
*color0: S_base02
*color1: S_red
*color2: S_green
*color3: S_yellow
*color4: S_blue
*color5: S_Magenta
*color6: S_cyan
*color7: S_base2
*color8: S_base03
*color9: S_orange
*color10: S_base01
*color11: S_base00
*color12: S_base0
*color13: S_Violet
*color14: S_base1
*color15: S_base3
リソースを使用する多くのXプログラム(Urxvtを含む)は、起動時に~/.Xdefaults
をロードし、そこで見つかったリソースを適用します。その場合、前処理は適用されないため、#define
ディレクティブは効果がなく、次のようなメッセージが説明されます。
urxvt: unable to parse color 'S_base0', using pink instead.
Xrdbプログラムは、リソースファイルをサーバーにロードします。これらのリソースは、その後に起動されるすべてのアプリケーションに適用されます。 Xrdbは、Cプリプロセッサcpp
を使用して入力ファイルを前処理します(特に指示がない限り)。
アプリケーションによってロードされた.Xdefaults
からセッションの開始時にロードされた.Xresources
に切り替えたときに一部のリソースが変更されたように見える場合、これは構成の他の部分(おそらくシステム全体の部分)が原因である可能性があります。後で何か他のものをロードします。セッションの開始後に.Xresources
を手動でロードしても違いが生じる場合は、それが起こっていることです。セッションとウィンドウマネージャーの起動ルーチンを確認する必要があります。 xrdb -query | grep '^Xft'
とlistres Xft
で実際のリソースが何であるかを確認してください。
ほとんどのGtkアプリケーションはXリソースを無視します。代わりに fontconfig settings を使用する必要があります。