.Xresources
나는 Gentoo와 XMonad를 사용하고 파일의 모든 색상을 설정합니다. 문제는 일부 응용 프로그램 설정의 경우 *.background
일부 *.foreground
필드의 설정을 재정의하기 때문에 충분하지 않다는 것입니다. 다음은 오류의 예입니다.
배경은 어두운 창 요소와 유사해야 하지만 흰색과 회색이어야 합니다.
대화 상자 창의 색상을 설정하는 다른 xresources 변수는 무엇이며 이 문제를 극복하는 올바른 방법은 무엇입니까?
내 현재 .Xresources
파일:
! Solarized colorscheme for Xresources
! ====================================
! To choose between light/dark bakground:
! - Define the choice in ``.Xresources`` by hardcoding
! #define SOLARIZED_LIGHT
! or
! #define SOLARIZED_DARK
! - Define the symbol when loading ``.Xresources`` with ``xrdb``:
! $ xrdb -DSOLARIZED_LIGHT -merge ~/.Xresources
#if !defined(SOLARIZED_LIGHT) && !defined(SOLARIZED_DARK)
#define SOLARIZED_DARK
#elif defined(SOLARIZED_LIGHT) && defined(SOLARIZED_DARK)
#undef SOLARIZED_LIGHT
#endif
! Define Solarized colors
! -----------------------
#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
#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
#ifdef SOLARIZED_LIGHT
#define S_emph S_base01
#define S_primary S_base00
#define S_secondary S_base1
#define S_bgrnd_hi S_base2
#define S_bgrnd S_base3
#endif
#ifdef SOLARIZED_DARK
#define S_emph S_base1
#define S_primary S_base0
#define S_secondary S_base01
#define S_bgrnd_hi S_base02
#define S_bgrnd S_base03
#endif
! black dark/light
*color0: S_base02
*color8: S_base03
! red dark/light
*color1: S_red
*color9: S_orange
! green dark/light
*color2: S_green
*color10: S_base01
! yellow dark/light
*color3: S_yellow
*color11: S_base00
! blue dark/light
*color4: S_blue
*color12: S_base0
! magenta dark/light
*color5: S_magenta
*color13: S_violet
! cyan dark/light
*color6: S_cyan
*color14: S_base1
! white dark/light
*color7: S_base2
*color15: S_base3
! General Xresource settings
! ==========================
!
#define FONT_REGULAR xft:Liberation Mono:style=Regular:pixelsize=14
#define FONT_BOLD xft:Liberation Mono:style=Bold:pixelsize=14
#define FONT_ITALIC xft:Liberation Mono:style=Italic:pixelsize=14
Xft*antialias: true
*foreground: S_primary
*background: S_bgrnd
*Foreground: S_primary
*Background: S_bgrnd
*cursorColor: S_emph
*pointerColorForeground: S_emph
*pointerColorBackground: S_secondary
*fading: 40
*fadeColor: S_bgrnd
! Xscreensaver
! ============
xscreensaver.captureStderr: false
!font settings
xscreensaver.Dialog.headingFont: FONT_REGULAR
xscreensaver.Dialog.bodyFont: FONT_REGULAR
xscreensaver.Dialog.labelFont: FONT_REGULAR
xscreensaver.Dialog.unameFont: FONT_REGULAR
xscreensaver.Dialog.buttonFont: FONT_REGULAR
xscreensaver.Dialog.dateFont: FONT_REGULAR
xscreensaver.passwd.passwdFont: FONT_REGULAR
!general dialog box (affects main hostname, username, password text)
xscreensaver.Dialog.foreground: S_primary
xscreensaver.Dialog.background: S_bgrnd
xscreensaver.Dialog.topShadowColor: S_bgrnd
xscreensaver.Dialog.bottomShadowColor: S_bgrnd
xscreensaver.Dialog.Button.foreground: S_primary
xscreensaver.Dialog.Button.background: S_bgrnd_hi
!username/password input box and date text colour
xscreensaver.Dialog.text.foreground: S_primary
xscreensaver.Dialog.text.background: S_bgrnd_hi
xscreensaver.Dialog.internalBorderWidth: 24
xscreensaver.Dialog.borderWidth: 0
xscreensaver.Dialog.shadowThickness: 1
xscreensaver*logo.width: 1
xscreensaver*logo.height: 1
!timeout bar (background is actually determined by Dialog.text.background)
xscreensaver.passwd.thermometer.foreground: S_red
xscreensaver.passwd.thermometer.background: S_blue
xscreensaver.passwd.thermometer.width: 4
! rxvt-unicode terminal
! =====================
!
URxvt*background: S_bgrnd
URxvt*foreground: S_primary
URxvt*font: FONT_REGULAR
URxvt*boldFont: FONT_BOLD
URxvt*italicFont: FONT_ITALIC
URxvt.colorIT: S_magenta
URxvt.colorBD: S_green
URxvt.colorUL: S_blue
URXVT.borderColor: S_bgrnd_hi
URxvt.highlightColor: S_bgrnd_hi
URxvt.scrollBar: false
URxvt.saveLines: 1000
URxvt.cursorBlink: true
URxvt.pointerBlank: true
URxvt.modifier: alt
답변1
좀 더 구체적으로 말씀해주세요 :)
바꾸다:
*background: ...
사용:
*vt100.background: ...
이렇게 하면 vt100 터미널에만 영향을 미치고 다른 애플리케이션에는 영향을 미치지 않습니다. 나는 Mathematica에서 이 문제에 부딪혔고 내 솔루션은 당신에게도 효과가 있을 것입니다. 그런데, 라이트/다크 전환을 구현한 방식이 마음에 듭니다.
답변2
이는 제가 얼마 전에 겪었던 XClock 문제와 유사하게 들립니다.
Xrender를 사용하여 XClock 변환: 길고 구불구불한 길
Drav Sloan의 아주 좋은 답변을 읽으면 아마도 .Xresources
. 이를 이해함으로써 언뜻 보면 명확하지 않은 실제 복잡성을 발견하고 놀라게 됩니다.