Xresources Farbeinstellungen

7

Ich verwende Gentoo mit XMonad und setze alle Farben in der .XresourcesDatei. Das Problem ist , dass für einige Anwendungen einstellen *.backgroundund *.foregroundist nicht genug , da sie die Einstellungen für einige Felder außer Kraft setzen. Hier ist ein Beispiel dafür, was falsch ist:

Geben Sie hier die Bildbeschreibung ein

Der Hintergrund sollte den dunklen Fensterelementen ähnlich sein, ist aber stattdessen weiß und grau.

Welche anderen xresources-Variablen legen die Farben des Dialogfensters fest und wie kann dieses Problem richtig behoben werden?

Meine aktuelle .XresourcesDatei:

! 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
Zoresvit
quelle
Leider gibt es keinen Standard für die Organisation von Farben: Jede Anwendung macht ihr eigenes Ding. Es ist nicht praktisch, Ressourcen festzulegen, die von jeder Anwendung verwendet werden. Sie müssen einige Einstellungen für diese Anwendung hinzufügen oder überschreiben. Was ist es?
Gilles 'SO - hör auf böse zu sein'
Das gleiche Verhalten haben alle GUI-Anwendungen mit einer solchen Liste von Textzeilen: Skype, Calibre, KeePassX sind nur die ersten, die betroffen sind. Auch der Hintergrund sollte nicht weiß sein. *backgroundDie Einstellung sollte den Hintergrund für alle möglichen Apps, die ein solches Feld verwenden, neu definieren. Anscheinend gibt es einen anderen Wert, der für den Texthintergrund oder die Hervorhebungen verantwortlich ist.
Zoresvit

Antworten:

7

Sei einfach genauer :)

anstatt:

*background: ...

verwenden:

*vt100.background: ...

Dadurch wird sichergestellt, dass Sie nur die vt100-Terminals und keine anderen Apps betreffen. Ich hatte dieses Problem mit Mathematica und meine Lösung sollte auch für Sie funktionieren. Übrigens gefällt mir, wie Sie die Hell / Dunkel-Umschaltung implementiert haben.

Anthony
quelle
1

Dies klingt definitiv ähnlich wie das Problem, das ich vor einiger Zeit mit XClock hatte:
Facelifting von XClock bei Verwendung von Xrender: Eine lange und kurvenreiche Straße

Wenn Sie die sehr gute Antwort von Drav Sloan lesen, erhalten Sie höchstwahrscheinlich weitere Einblicke in das Innenleben von .Xresources. Wenn man diese versteht, wird man überrascht sein, etwas über ihre tatsächliche Komplexität zu erfahren, die sich nicht auf den ersten Blick zeigt.

Syntax-Fehler
quelle