「X リソース」の版間の差分
(en:X resourcesへの転送ページ) |
|||
1行目: | 1行目: | ||
+ | [[Category:ドットファイル]] |
||
− | #redirect[[en:X resources]] |
||
+ | [[Category:X サーバー]] |
||
+ | [[de:Xdefaults]] |
||
+ | [[en:X resources]] |
||
+ | '''Xresources''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。 |
||
+ | |||
+ | Xresources は様々な設定をすることができます、例えば: |
||
+ | |||
+ | * ターミナルの色の定義 |
||
+ | * ターミナルの設定 |
||
+ | * DPI やアンチエイリアス、ヒンティングなど X フォントの設定 |
||
+ | * X カーソルテーマの変更 |
||
+ | * xscreensaver のテーマ設定 |
||
+ | * ローレベルな X アプリケーションの設定 ({{Pkg|xorg-xclock}}, {{AUR|xpdf}}, {{Pkg|rxvt-unicode}} など) |
||
+ | |||
+ | {{Note|{{ic|~/.Xdefaults}} の使用は非推奨となっているので、この記事では xrdb でロードされる resources のみを扱います。}} |
||
+ | |||
+ | ==初めに== |
||
+ | {{pkg|xorg-xrdb}} がシステムにインストールされていることを確認してください。 |
||
+ | |||
+ | ===.Xresources の解析=== |
||
+ | {{ic|~/.Xresources}} ファイルはデフォルトでは存在しません。プレーンテキストファイルなので、お好きなテキストエディタで作成・編集することができます。ファイルが存在する場合、{{ic|xrdb}} (Xorg resource database) プログラムによって自動的に解析されます。ただし、それには以下のどちらかの条件を満たしている必要があります: |
||
+ | * [[ディスプレイマネージャ]]を使って X にログインしている。ほとんどの DM はログイン時に自動的に {{ic|~/.Xresources}} ファイルをロードします。 |
||
+ | * {{ic|startx}} を使用している場合、{{ic|~/.[[xinitrc]]}} を編集する必要があります。詳しくは下を参照してください。 |
||
+ | resources は X サーバーに保存されるため、アプリを起動するたびにファイルを読み取る必要はありません。 |
||
+ | |||
+ | .Xresources ファイルを再読み込みさせて、古い resources を捨てさせるには: |
||
+ | |||
+ | xrdb ~/.Xresources |
||
+ | |||
+ | .Xresources ファイルを再読み込みさせて、古い resources を維持させるには: |
||
+ | |||
+ | xrdb -merge ~/.Xresources |
||
+ | |||
+ | {{Tip|{{ic|~/.Xresources}} is just a naming convention; xrdb can load any file. If you use xrdb manually, you can put such a file anywhere you want (for example, {{ic|~/.config/Xresources}}).}} |
||
+ | {{Note|Resources loaded with xrdb are also accessible to ''remote'' X11 clients (such as those forwarded over SSH).}} |
||
+ | {{Warning| |
||
+ | * If you background the execution of xrdb in a chain of commands in {{ic|~/.xinitrc}}, the programs launched in the same chain might not be able to make use of it, so it is recommended to ''never'' background the xrdb command within {{ic|~/.xinitrc}}. |
||
+ | * The older and deprecated {{ic|~/.Xdefaults}} file is read every time you start an X11 program such as {{ic|xterm}}, but '''only''' if {{ic|xrdb}} has not '''ever''' been used in the current X session. [https://groups.google.com/forum/#!msg/comp.windows.x/hQBEdql8l-Q/hF3DETcIHGwJ] |
||
+ | }} |
||
+ | |||
+ | ===xinitrc に追加=== |
||
+ | [[デスクトップ環境]]を使っていない場合、以下の行を {{ic|~/.[[xinitrc]]}} に追加する必要があります: |
||
+ | <nowiki>[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources</nowiki> |
||
+ | |||
+ | ===デフォルト設定=== |
||
+ | インストールした X11 アプリのデフォルト設定を確認したいときは、{{ic|/usr/share/X11/app-defaults/}} の中を見て下さい。 |
||
+ | |||
+ | Detailed information on program-specific resources is usually provided in the man page for the program. xterm's man page is a good example, as it contains a list of X resources and their default values. |
||
+ | |||
+ | To see the current loaded resources: |
||
+ | xrdb -query -all |
||
+ | |||
+ | ===Xresources の構文=== |
||
+ | ====基本構文==== |
||
+ | Xresources ファイルの構文は以下の通りです: |
||
+ | '''name.Class.resource: value''' |
||
+ | 実際の例: |
||
+ | xscreensaver.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
+ | |||
+ | ;name |
||
+ | :アプリケーションの名前。xterm や xpdf など。 |
||
+ | |||
+ | ;class |
||
+ | :The classification used to group resources together. Class names are typically uppercase. |
||
+ | |||
+ | ;resource |
||
+ | :The name of the resource whose value is to be changed. Resources are typically lowercase with uppercase concatenation. |
||
+ | |||
+ | ;value |
||
+ | :The actual value of the resource. This can be 1 of 3 types: |
||
+ | :* Integer (whole numbers) |
||
+ | :* Boolean (true/false, yes/no, on/off) |
||
+ | :* String (a string of characters) (for example a word ({{ic|white}}), a color ({{ic|#ffffff}}), or a path ({{ic|/usr/bin/firefox}})) |
||
+ | |||
+ | ;delimiters |
||
+ | :A dot ({{ic|'''.'''}}) is used to signify each step down into the hierarchy — in the above example we start at name, then descend into Class, and finally into the resource itself. A colon ({{ic|''':'''}}) is used to separate the resource declaration from the actual value. |
||
+ | |||
+ | ====ワイルドカードマッチ==== |
||
+ | |||
+ | The asterisk can be used as a wildcard, making it easy to write a single rule that can be applied to many different applications or elements. |
||
+ | |||
+ | Using the previous example, if you want to apply the same font to all programs (not just XScreenSaver) that contain the class name {{ic|Dialog}} which contains the resource name {{ic|headingFont}}, you would write: |
||
+ | |||
+ | '''*'''Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
+ | |||
+ | If you want to apply this same rule to all programs that contain the resource {{ic|headingFont}}, regardless of its class, you would write: |
||
+ | |||
+ | '''*'''headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
+ | |||
+ | ==== コメント ==== |
||
+ | To add a comment to your Xresources file, simply prefix it with an exclamation mark ({{ic|!}}), for example: |
||
+ | |||
+ | ! This is a comment placed above some Xft settings |
||
+ | Xft.dpi: 96 ! this is an inline comment |
||
+ | |||
+ | ! The following rule will be ignored because it has been commented out |
||
+ | !Xft.antialias: true |
||
+ | |||
+ | ==== ファイルのインクルード ==== |
||
+ | |||
+ | To use different files for each application, use {{ic|#include}} in the main file. For example: |
||
+ | |||
+ | {{hc|~/.Xresources| |
||
+ | #include ".Xresources.d/xterm" |
||
+ | #include ".Xresources.d/rxvt-unicode" |
||
+ | #include ".Xresources.d/fonts" |
||
+ | #include ".Xresources.d/xscreensaver" |
||
+ | }} |
||
+ | |||
+ | If files fail to load, specify the directory to ''xrdb'' with the {{ic|-I}} parameter. For example: |
||
+ | |||
+ | {{hc|~/.xinitrc| |
||
+ | xrdb -I''$HOME'' ~/.Xresources |
||
+ | }} |
||
+ | |||
+ | ==使用例== |
||
+ | The following samples should provide a good understanding of how application settings can be modified using an Xresources file. For full details, refer to the man page of the application in question. |
||
+ | |||
+ | ===Terminal colors=== |
||
+ | Most terminals, including [[xterm]] and [[urxvt]], support at least 16 basic colors. The following is an example of a 16-color scheme. The colors 0-7 are the 'normal' colors, while colors 8-15 are their 'bright' counterparts, used for highlighting and such. A good place to start when making your Xresources, is to define the default terminal colors: |
||
+ | {{bc| |
||
+ | ! terminal colors ------------------------------------------------------------ |
||
+ | |||
+ | ! tangoesque scheme |
||
+ | *background: #111111 |
||
+ | *foreground: #babdb6 |
||
+ | ! Black (not tango) + DarkGrey |
||
+ | *color0: #000000 |
||
+ | *color8: #555753 |
||
+ | ! DarkRed + Red |
||
+ | *color1: #ff6565 |
||
+ | *color9: #ff8d8d |
||
+ | ! DarkGreen + Green |
||
+ | *color2: #93d44f |
||
+ | *color10: #c8e7a8 |
||
+ | ! DarkYellow + Yellow |
||
+ | *color3: #eab93d |
||
+ | *color11: #ffc123 |
||
+ | ! DarkBlue + Blue |
||
+ | *color4: #204a87 |
||
+ | *color12: #3465a4 |
||
+ | ! DarkMagenta + Magenta |
||
+ | *color5: #ce5c00 |
||
+ | *color13: #f57900 |
||
+ | !DarkCyan + Cyan (both not tango) |
||
+ | *color6: #89b6e2 |
||
+ | *color14: #46a4ff |
||
+ | ! LightGrey + White |
||
+ | *color7: #cccccc |
||
+ | *color15: #ffffff |
||
+ | }} |
||
+ | |||
+ | See [[man page#Colored man pages on xterm or rxvt-unicode]] for how to color bold and underlined text automatically xterm and rxvt. |
||
+ | |||
+ | For more examples of color schemes, see the [[#Contributed examples]] section at the bottom of this article. |
||
+ | |||
+ | ===Xcursor resources=== |
||
+ | Set the theme and size of your mouse cursor: |
||
+ | |||
+ | ! Xcursor -------------------------------------------------------------------- |
||
+ | |||
+ | Xcursor.theme: Vanilla-DMZ-AA |
||
+ | Xcursor.size: 22 |
||
+ | |||
+ | Available themes reside in {{ic|/usr/share/icons}} and local themes can be installed to {{ic|~/.icons}}. |
||
+ | |||
+ | ===Xft resources=== |
||
+ | You can define basic font resources without the need of a {{ic|fonts.conf}} file or a desktop environment. Note however, the use of a desktop environment and/or {{ic|fonts.conf}} can override these settings. Your best option is to use one or the other, but not both. |
||
+ | |||
+ | ! Xft settings --------------------------------------------------------------- |
||
+ | |||
+ | Xft.dpi: 96 |
||
+ | Xft.antialias: true |
||
+ | Xft.rgba: rgb |
||
+ | Xft.hinting: true |
||
+ | Xft.hintstyle: hintslight |
||
+ | |||
+ | ===Xterm resources=== |
||
+ | The following resources will open [[xterm]] in an 80x25 character window with a scroll-bar and scroll capability for the last 512 lines. The specified [[Fonts#Bitmap|Terminus]] facename is a popular and clean terminal font. |
||
+ | |||
+ | ! xterm ---------------------------------------------------------------------- |
||
+ | |||
+ | xterm*VT100.geometry: 80x25 |
||
+ | xterm*faceName: Terminus:style=Regular:size=10 |
||
+ | !xterm*font: -*-dina-medium-r-*-*-16-*-*-*-*-*-*-* |
||
+ | xterm*dynamicColors: true |
||
+ | xterm*utf8: 2 |
||
+ | xterm*eightBitInput: true |
||
+ | xterm*saveLines: 512 |
||
+ | xterm*scrollKey: true |
||
+ | xterm*scrollTtyOutput: false |
||
+ | xterm*scrollBar: true |
||
+ | xterm*rightScrollBar: true |
||
+ | xterm*jumpScroll: true |
||
+ | xterm*multiScroll: true |
||
+ | xterm*toolBar: false |
||
+ | |||
+ | ===rxvt-unicode (urxvt) resources=== |
||
+ | {{Pkg|rxvt-unicode}} features an extensive list of options which can be configured via {{ic|~/.Xresources}}. Refer to the urxvt man page or [[Urxvt#Creating_.7E.2F.Xresources|this wiki article]] for details. |
||
+ | |||
+ | ===Aterm preferences=== |
||
+ | Sample settings for aterm (very similar to urxvt): |
||
+ | |||
+ | !aterm settings------------------------------------------------------------- |
||
+ | |||
+ | aterm*background: black |
||
+ | aterm*foreground: white |
||
+ | aterm*transparent: true |
||
+ | aterm*shading: 30 |
||
+ | aterm*cursorColor: gray |
||
+ | aterm*saveLines: 2000 |
||
+ | !aterm*tinting: gray |
||
+ | aterm*scrollBar: false |
||
+ | !aterm*scrollBar_right: true |
||
+ | aterm*transpscrollbar: true |
||
+ | aterm*borderwidth: 0 |
||
+ | aterm*font: -*-terminus-*-*-*-*-*-*-*-*-*-*-*-* |
||
+ | aterm*geometry: 80x25 |
||
+ | !aterm*fading: 70 |
||
+ | |||
+ | ===Xpdf resources=== |
||
+ | Following are some basic resources for {{AUR|xpdf}}, a lightweight PDF viewer: |
||
+ | |||
+ | ! xpdf ----------------------------------------------------------------------- |
||
+ | |||
+ | xpdf*enableFreetype: yes |
||
+ | xpdf*antialias: yes |
||
+ | xpdf*foreground: black |
||
+ | xpdf*background: white |
||
+ | xpdf*urlCommand: /usr/bin/firefox %s |
||
+ | |||
+ | Anything more detailed than the above you should be putting in {{ic|~/.xpdfrc}} instead. See the xpdf man page for more information. Note that {{ic|viKeys}} is deprecated. |
||
+ | |||
+ | ===Lal clock resources=== |
||
+ | |||
+ | ! lal clock ------------------------------------------------------------------ |
||
+ | |||
+ | lal*font: Arial |
||
+ | lal*fontsize: 12 |
||
+ | lal*bold: true |
||
+ | lal*color: #ffffff |
||
+ | lal*width: 150 |
||
+ | lal*format: %a %b %d %l:%M%P |
||
+ | |||
+ | ===Xclock preferences=== |
||
+ | Some basic xclock settings. See the xclock man page for all X resources. |
||
+ | |||
+ | ! xclock --------------------------------------------------------------------- |
||
+ | |||
+ | xclock*update: 1 |
||
+ | xclock*analog: false |
||
+ | xclock*Foreground: white |
||
+ | xclock*background: black |
||
+ | |||
+ | ===X11-ssh-askpass resources=== |
||
+ | |||
+ | ! x11-ssh-askpass ------------------------------------------------------------ |
||
+ | |||
+ | x11-ssh-askpass*font: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* |
||
+ | x11-ssh-askpass*background: #000000 |
||
+ | x11-ssh-askpass*foreground: #ffffff |
||
+ | x11-ssh-askpass.Button*background: #000000 |
||
+ | x11-ssh-askpass.Indicator*foreground: #ff9900 |
||
+ | x11-ssh-askpass.Indicator*background: #090909 |
||
+ | x11-ssh-askpass*topShadowColor: #000000 |
||
+ | x11-ssh-askpass*bottomShadowColor: #000000 |
||
+ | x11-ssh-askpass.*borderWidth: 1 |
||
+ | |||
+ | ===XScreenSaver resources=== |
||
+ | The following is a sample [[XScreenSaver]] theme. For more information, refer to the XScreenSaver man page. |
||
+ | |||
+ | {{Note|In older versions of XScreenSaver, if the {{ic|~/.xscreensaver}} file exists, it overrides any settings in the X resource database. However, in the latest versions, you can use both simultaneously.}} |
||
+ | |||
+ | ! xscreensaver --------------------------------------------------------------- |
||
+ | |||
+ | !font settings |
||
+ | xscreensaver.Dialog.headingFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-* |
||
+ | xscreensaver.Dialog.bodyFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* |
||
+ | xscreensaver.Dialog.labelFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* |
||
+ | xscreensaver.Dialog.unameFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* |
||
+ | xscreensaver.Dialog.buttonFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-* |
||
+ | xscreensaver.Dialog.dateFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* |
||
+ | xscreensaver.passwd.passwdFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-* |
||
+ | !general dialog box (affects main hostname, username, password text) |
||
+ | xscreensaver.Dialog.foreground: #ffffff |
||
+ | xscreensaver.Dialog.background: #111111 |
||
+ | xscreensaver.Dialog.topShadowColor: #111111 |
||
+ | xscreensaver.Dialog.bottomShadowColor: #111111 |
||
+ | xscreensaver.Dialog.Button.foreground: #666666 |
||
+ | xscreensaver.Dialog.Button.background: #ffffff |
||
+ | !username/password input box and date text colour |
||
+ | xscreensaver.Dialog.text.foreground: #666666 |
||
+ | xscreensaver.Dialog.text.background: #ffffff |
||
+ | xscreensaver.Dialog.internalBorderWidth:24 |
||
+ | xscreensaver.Dialog.borderWidth: 20 |
||
+ | xscreensaver.Dialog.shadowThickness: 2 |
||
+ | !timeout bar (background is actually determined by Dialog.text.background) |
||
+ | xscreensaver.passwd.thermometer.foreground: #ff0000 |
||
+ | xscreensaver.passwd.thermometer.background: #000000 |
||
+ | xscreensaver.passwd.thermometer.width: 8 |
||
+ | !datestamp format--see the strftime(3) manual page for details |
||
+ | xscreensaver.dateFormat: %I:%M%P %a %b %d, %Y |
||
+ | |||
+ | ===Xcalc resources=== |
||
+ | Following are some xcalc resources to colorize and customize buttons. |
||
+ | |||
+ | !xcalc----------------------------------------------------------------------- |
||
+ | |||
+ | xcalc*geometry: 200x275 |
||
+ | xcalc.ti.bevel.background: #111111 |
||
+ | xcalc.ti.bevel.screen.background: #000000 |
||
+ | xcalc.ti.bevel.screen.DEG.background: #000000 |
||
+ | xcalc.ti.bevel.screen.DEG.foreground: LightSeaGreen |
||
+ | xcalc.ti.bevel.screen.GRAD.background: #000000 |
||
+ | xcalc.ti.bevel.screen.GRAD.foreground: LightSeaGreen |
||
+ | xcalc.ti.bevel.screen.RAD.background: #000000 |
||
+ | xcalc.ti.bevel.screen.RAD.foreground: LightSeaGreen |
||
+ | xcalc.ti.bevel.screen.INV.background: #000000 |
||
+ | xcalc.ti.bevel.screen.INV.foreground: Red |
||
+ | xcalc.ti.bevel.screen.LCD.background: #000000 |
||
+ | xcalc.ti.bevel.screen.LCD.foreground: LightSeaGreen |
||
+ | xcalc.ti.bevel.screen.LCD.shadowWidth: 0 |
||
+ | xcalc.ti.bevel.screen.M.background: #000000 |
||
+ | xcalc.ti.bevel.screen.M.foreground: LightSeaGreen |
||
+ | xcalc.ti.bevel.screen.P.background: #000000 |
||
+ | xcalc.ti.bevel.screen.P.foreground: Yellow |
||
+ | xcalc.ti.Command.foreground: White |
||
+ | xcalc.ti.Command.background: #777777 |
||
+ | xcalc.ti.button5.background: Orange3 |
||
+ | xcalc.ti.button19.background: #611161 |
||
+ | xcalc.ti.button18.background: #611161 |
||
+ | xcalc.ti.button20.background: #611111 |
||
+ | !uncomment to change label on division button |
||
+ | !xcalc.ti.button20.label: / |
||
+ | xcalc.ti.button25.background: #722222 |
||
+ | xcalc.ti.button30.background: #833333 |
||
+ | xcalc.ti.button35.background: #944444 |
||
+ | xcalc.ti.button40.background: #a55555 |
||
+ | xcalc.ti.button22.background: #222262 |
||
+ | xcalc.ti.button23.background: #222262 |
||
+ | xcalc.ti.button24.background: #222272 |
||
+ | xcalc.ti.button27.background: #333373 |
||
+ | xcalc.ti.button28.background: #333373 |
||
+ | xcalc.ti.button29.background: #333373 |
||
+ | xcalc.ti.button32.background: #444484 |
||
+ | xcalc.ti.button33.background: #444484 |
||
+ | xcalc.ti.button34.background: #444484 |
||
+ | xcalc.ti.button37.background: #555595 |
||
+ | xcalc.ti.button38.background: #555595 |
||
+ | xcalc.ti.button39.background: #555595 |
||
+ | XCalc*Cursor: hand2 |
||
+ | XCalc*ShapeStyle: rectangle |
||
+ | |||
+ | ==Color scheme commands== |
||
+ | Here are some fast bash commands you can run right in your shell. |
||
+ | |||
+ | ===Display all 256 colors=== |
||
+ | Prints all 256 colors across the screen, very quick. |
||
+ | <nowiki>(x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done)</nowiki> |
||
+ | |||
+ | ===Display tput escape codes=== |
||
+ | Replace {{ic|tput op}} with whatever tput you want to trace. {{ic|op}} is the default foreground and background color. |
||
+ | {{hc |
||
+ | |<nowiki>$ ( strace -s5000 -e write tput op 2>&2 2>&1 ) | tee -a /dev/stderr | grep -o '"[^"]*"'</nowiki> |
||
+ | |033[\033[1;34m"\33[39;49m"\033[00m |
||
+ | }} |
||
+ | |||
+ | ===Enumerating colors supported by terminals=== |
||
+ | The following command will let you discover all the terminals you have terminfo support for, and the number of colors each terminal supports. The possible values are: 8, 15, 16, 52, 64, 88 and 256. |
||
+ | {{hc |
||
+ | |<nowiki>$ for T in `find /usr/share/terminfo -type f -printf '%f '`;do echo "$T `tput -T $T colors`";done|sort -nk2</nowiki> |
||
+ | |Eterm-88color 88 |
||
+ | rxvt-88color 88 |
||
+ | xterm+88color 88 |
||
+ | xterm-88color 88 |
||
+ | Eterm-256color 256 |
||
+ | gnome-256color 256 |
||
+ | konsole-256color 256 |
||
+ | putty-256color 256 |
||
+ | rxvt-256color 256 |
||
+ | screen-256color 256 |
||
+ | screen-256color-bce 256 |
||
+ | screen-256color-bce-s 256 |
||
+ | screen-256color-s 256 |
||
+ | xterm+256color 256 |
||
+ | xterm-256color 256 |
||
+ | }} |
||
+ | |||
+ | ===Enumerating terminal capabilities=== |
||
+ | This command is useful to see what features that are supported by your terminal. |
||
+ | {{hc |
||
+ | |<nowiki>$ infocmp -1 | sed -nu 's/^[ \000\t]*//;s/[ \000\t]*$//;/[^ \t\000]\{1,\}/!d;/acsc/d;s/=.*,//p'|column -c80</nowiki> |
||
+ | |bel cuu ich kb2 kf15 kf3 kf44 kf59 mc0 rmso smul |
||
+ | blink cuu1 il kbs kf16 kf30 kf45 kf6 mc4 rmul tbc |
||
+ | bold cvvis il1 kcbt kf17 kf31 kf46 kf60 mc5 rs1 u6 |
||
+ | cbt dch ind kcub1 kf18 kf32 kf47 kf61 meml rs2 u7 |
||
+ | civis dch1 indn kcud1 kf19 kf33 kf48 kf62 memu sc u8 |
||
+ | clear dl initc kcuf1 kf2 kf34 kf49 kf63 op setab u9 |
||
+ | cnorm dl1 invis kcuu1 kf20 kf35 kf5 kf7 rc setaf vpa |
||
+ | }} |
||
+ | |||
+ | ==Color scheme scripts== |
||
+ | Any of the following scripts will display a chart of your current terminal color scheme. Handy for testing and whatnot. |
||
+ | |||
+ | ===Script #1=== |
||
+ | {{bc|1= |
||
+ | #!/usr/bin/bash |
||
+ | # |
||
+ | # This file echoes a bunch of color codes to the |
||
+ | # terminal to demonstrate what's available. Each |
||
+ | # line is the color code of one foreground color, |
||
+ | # out of 17 (default + 16 escapes), followed by a |
||
+ | # test use of that color on all nine background |
||
+ | # colors (default + 8 escapes). |
||
+ | # |
||
+ | |||
+ | T='gYw' # The test text |
||
+ | |||
+ | echo -e "\n 40m 41m 42m 43m\ |
||
+ | 44m 45m 46m 47m"; |
||
+ | |||
+ | for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ |
||
+ | '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ |
||
+ | ' 36m' '1;36m' ' 37m' '1;37m'; |
||
+ | do FG=${FGs// /} |
||
+ | echo -en " $FGs \033[$FG $T " |
||
+ | for BG in 40m 41m 42m 43m 44m 45m 46m 47m; |
||
+ | do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; |
||
+ | done |
||
+ | echo; |
||
+ | done |
||
+ | echo |
||
+ | }} |
||
+ | |||
+ | ===Script #2=== |
||
+ | {{bc|1= |
||
+ | #!/usr/bin/bash |
||
+ | # Original: http://frexx.de/xterm-256-notes/ {{Dead link|2013|11|21}} |
||
+ | # http://frexx.de/xterm-256-notes/data/colortable16.sh {{Dead link|2013|11|21}} |
||
+ | # Modified by Aaron Griffin |
||
+ | # and further by Kazuo Teramoto |
||
+ | FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ') |
||
+ | BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT') |
||
+ | |||
+ | echo " ┌──────────────────────────────────────────────────────────────────────────┐" |
||
+ | for b in {0..8}; do |
||
+ | ((b>0)) && bg=$((b+39)) |
||
+ | |||
+ | echo -en "\033[0m ${BGNAMES[b]} │ " |
||
+ | |||
+ | for f in {0..7}; do |
||
+ | echo -en "\033[${bg}m\033[$((f+30))m ${FGNAMES[f]} " |
||
+ | done |
||
+ | |||
+ | echo -en "\033[0m │" |
||
+ | echo -en "\033[0m\n\033[0m │ " |
||
+ | |||
+ | for f in {0..7}; do |
||
+ | echo -en "\033[${bg}m\033[1;$((f+30))m ${FGNAMES[f]} " |
||
+ | done |
||
+ | |||
+ | echo -en "\033[0m │" |
||
+ | echo -e "\033[0m" |
||
+ | |||
+ | ((b<8)) && |
||
+ | echo " ├──────────────────────────────────────────────────────────────────────────┤" |
||
+ | done |
||
+ | echo " └──────────────────────────────────────────────────────────────────────────┘" |
||
+ | }} |
||
+ | |||
+ | ===Script #3=== |
||
+ | {{bc|1= |
||
+ | #!/usr/bin/bash |
||
+ | # Original: http://frexx.de/xterm-256-notes/ {{Dead link|2013|11|21}} |
||
+ | # http://frexx.de/xterm-256-notes/data/colortable16.sh {{Dead link|2013|11|21}} |
||
+ | # Modified by Aaron Griffin |
||
+ | # and further by Kazuo Teramoto |
||
+ | |||
+ | |||
+ | FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ') |
||
+ | BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT') |
||
+ | echo " ----------------------------------------------------------------------------" |
||
+ | for b in $(seq 0 8); do |
||
+ | if [ "$b" -gt 0 ]; then |
||
+ | bg=$(($b+39)) |
||
+ | fi |
||
+ | |||
+ | echo -en "\033[0m ${BGNAMES[$b]} : " |
||
+ | for f in $(seq 0 7); do |
||
+ | echo -en "\033[${bg}m\033[$(($f+30))m ${FGNAMES[$f]} " |
||
+ | done |
||
+ | echo -en "\033[0m :" |
||
+ | |||
+ | echo -en "\033[0m\n\033[0m : " |
||
+ | for f in $(seq 0 7); do |
||
+ | echo -en "\033[${bg}m\033[1;$(($f+30))m ${FGNAMES[$f]} " |
||
+ | done |
||
+ | echo -en "\033[0m :" |
||
+ | echo -e "\033[0m" |
||
+ | |||
+ | if [ "$b" -lt 8 ]; then |
||
+ | echo " ----------------------------------------------------------------------------" |
||
+ | fi |
||
+ | done |
||
+ | echo " ----------------------------------------------------------------------------" |
||
+ | }} |
||
+ | |||
+ | ===Script #4=== |
||
+ | {{bc|1= |
||
+ | #!/usr/bin/env lua |
||
+ | |||
+ | function cl(e) |
||
+ | return string.format('\27[%sm', e) |
||
+ | end |
||
+ | |||
+ | function print_fg(bg, pre) |
||
+ | for fg = 30,37 do |
||
+ | fg = pre..fg |
||
+ | io.write(cl(bg), cl(fg), string.format(' %6s ', fg), cl(0)) |
||
+ | end |
||
+ | end |
||
+ | |||
+ | for bg = 40,47 do |
||
+ | io.write(cl(0), ' ', bg, ' ') |
||
+ | print_fg(bg, ' ') |
||
+ | io.write('\n ') |
||
+ | print_fg(bg, '1;') |
||
+ | io.write('\n\n') |
||
+ | end |
||
+ | |||
+ | -- Andres P |
||
+ | }} |
||
+ | |||
+ | ===Script #5=== |
||
+ | {{bc|1= |
||
+ | #!/usr/bin/bash |
||
+ | # |
||
+ | # ANSI color scheme script featuring Space Invaders |
||
+ | # |
||
+ | # Original: http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921 |
||
+ | # Modified by lolilolicon |
||
+ | # |
||
+ | |||
+ | f=3 b=4 |
||
+ | for j in f b; do |
||
+ | for i in {0..7}; do |
||
+ | printf -v $j$i %b "\e[${!j}${i}m" |
||
+ | done |
||
+ | done |
||
+ | bld=$'\e[1m' |
||
+ | rst=$'\e[0m' |
||
+ | |||
+ | cat << EOF |
||
+ | |||
+ | $f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst |
||
+ | $f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst |
||
+ | $f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst |
||
+ | $f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst |
||
+ | |||
+ | $bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst |
||
+ | $bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst |
||
+ | $bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst |
||
+ | $bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst |
||
+ | |||
+ | |||
+ | $f7▌$rst |
||
+ | |||
+ | $f7▌$rst |
||
+ | |||
+ | $f7 ▄█▄ $rst |
||
+ | $f7▄█████████▄$rst |
||
+ | $f7▀▀▀▀▀▀▀▀▀▀▀$rst |
||
+ | |||
+ | EOF |
||
+ | }} |
||
+ | |||
+ | ===Script #6=== |
||
+ | {{bc|1= |
||
+ | #!/usr/bin/env ruby |
||
+ | # coding: utf-8 |
||
+ | |||
+ | # ANSI color scheme script |
||
+ | # Author: Ivaylo Kuzev < Ivo > |
||
+ | # Original: http://crunchbang.org/forums/viewtopic.php?pid=134749%23p134749#p134749 |
||
+ | # Modified using Ruby. |
||
+ | |||
+ | CL = "\e[0m" |
||
+ | BO = "\e[1m" |
||
+ | |||
+ | R = "\e[31m" |
||
+ | G = "\e[32m" |
||
+ | Y = "\e[33m" |
||
+ | B = "\e[34m" |
||
+ | P = "\e[35m" |
||
+ | C = "\e[36m" |
||
+ | |||
+ | print <<EOF |
||
+ | |||
+ | #{BO}#{R} ██████ #{CL} #{BO}#{G}██████ #{CL}#{BO}#{Y} ██████#{CL} #{BO}#{B}██████ #{CL} #{BO}#{P} ██████#{CL} #{BO}#{C} ███████#{CL} |
||
+ | #{BO}#{R} ████████#{CL} #{BO}#{G}██ ██ #{CL}#{BO}#{Y}██ #{CL} #{BO}#{B}██ ██#{CL} #{BO}#{P}██████ #{CL} #{BO}#{C} █████████#{CL} |
||
+ | #{R} ██ ████#{CL} #{G}██ ████#{CL}#{Y} ████ #{CL} #{B}████ ██#{CL} #{P}████ #{CL} #{C}█████ #{CL} |
||
+ | #{R} ██ ██#{CL} #{G}██████ #{CL}#{Y} ████████#{CL} #{B}██████ #{CL} #{P}████████#{CL} #{C}██ #{CL} |
||
+ | |||
+ | EOF |
||
+ | }} |
||
+ | |||
+ | ===Script #7=== |
||
+ | {{bc|1= |
||
+ | #!/bin/sh |
||
+ | # Original Posted at http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921 |
||
+ | # [ESC] character in original post removed here. |
||
+ | |||
+ | # ANSI Color -- use these variables to easily have different color |
||
+ | # and format output. Make sure to output the reset sequence after |
||
+ | # colors (f = foreground, b = background), and use the 'off' |
||
+ | # feature for anything you turn on. |
||
+ | |||
+ | initializeANSI() |
||
+ | { |
||
+ | esc="$(echo -en '\e')" |
||
+ | |||
+ | blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" |
||
+ | yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" |
||
+ | cyanf="${esc}[36m"; whitef="${esc}[37m" |
||
+ | |||
+ | blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" |
||
+ | yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" |
||
+ | cyanb="${esc}[46m"; whiteb="${esc}[47m" |
||
+ | |||
+ | boldon="${esc}[1m"; boldoff="${esc}[22m" |
||
+ | italicson="${esc}[3m"; italicsoff="${esc}[23m" |
||
+ | ulon="${esc}[4m"; uloff="${esc}[24m" |
||
+ | invon="${esc}[7m"; invoff="${esc}[27m" |
||
+ | |||
+ | reset="${esc}[0m" |
||
+ | } |
||
+ | |||
+ | # note in this first use that switching colors doesn't require a reset |
||
+ | # first - the new color overrides the old one. |
||
+ | |||
+ | #clear |
||
+ | |||
+ | initializeANSI |
||
+ | |||
+ | cat << EOF |
||
+ | |||
+ | ${yellowf} ▄███████▄${reset} ${redf} ▄██████▄${reset} ${greenf} ▄██████▄${reset} ${bluef} ▄██████▄${reset} ${purplef} ▄██████▄${reset} ${cyanf} ▄██████▄${reset} |
||
+ | ${yellowf}▄█████████▀▀${reset} ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄${reset} ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄${reset} ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄${reset} ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄${reset} ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} |
||
+ | ${yellowf}███████▀${reset} ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███${reset} ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███${reset} ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███${reset} ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███${reset} ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} |
||
+ | ${yellowf}███████▄${reset} ${redf}████████████${reset} ${greenf}████████████${reset} ${bluef}████████████${reset} ${purplef}████████████${reset} ${cyanf}████████████${reset} |
||
+ | ${yellowf}▀█████████▄▄${reset} ${redf}██▀██▀▀██▀██${reset} ${greenf}██▀██▀▀██▀██${reset} ${bluef}██▀██▀▀██▀██${reset} ${purplef}██▀██▀▀██▀██${reset} ${cyanf}██▀██▀▀██▀██${reset} |
||
+ | ${yellowf} ▀███████▀${reset} ${redf}▀ ▀ ▀ ▀${reset} ${greenf}▀ ▀ ▀ ▀${reset} ${bluef}▀ ▀ ▀ ▀${reset} ${purplef}▀ ▀ ▀ ▀${reset} ${cyanf}▀ ▀ ▀ ▀${reset} |
||
+ | |||
+ | ${boldon}${yellowf} ▄███████▄ ${redf} ▄██████▄ ${greenf} ▄██████▄ ${bluef} ▄██████▄ ${purplef} ▄██████▄ ${cyanf} ▄██████▄${reset} |
||
+ | ${boldon}${yellowf}▄█████████▀▀ ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄ ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄ ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄ ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄ ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} |
||
+ | ${boldon}${yellowf}███████▀ ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███ ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███ ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███ ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███ ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} |
||
+ | ${boldon}${yellowf}███████▄ ${redf}████████████ ${greenf}████████████ ${bluef}████████████ ${purplef}████████████ ${cyanf}████████████${reset} |
||
+ | ${boldon}${yellowf}▀█████████▄▄ ${redf}██▀██▀▀██▀██ ${greenf}██▀██▀▀██▀██ ${bluef}██▀██▀▀██▀██ ${purplef}██▀██▀▀██▀██ ${cyanf}██▀██▀▀██▀██${reset} |
||
+ | ${boldon}${yellowf} ▀███████▀ ${redf}▀ ▀ ▀ ▀ ${greenf}▀ ▀ ▀ ▀ ${bluef}▀ ▀ ▀ ▀ ${purplef}▀ ▀ ▀ ▀ ${cyanf}▀ ▀ ▀ ▀${reset} |
||
+ | |||
+ | EOF}} |
||
+ | |||
+ | ==他のサンプル== |
||
+ | |||
+ | Check out these links for some real world examples of X resource files, contributed by fellow community members. |
||
+ | |||
+ | {{Note|{{ic|~/.Xdefaults}} has the same syntax as {{ic|~/.Xresources}}, and it is recommended that you use {{ic|~/.Xresources}} because {{ic|~/.Xdefaults}} is deprecated upstream.}} |
||
+ | |||
+ | * http://dotfiles.org/~buttons/.Xdefaults |
||
+ | * https://github.com/jelly/Dotfiles/blob/master/.Xdefaults |
||
+ | * https://paste.debian.net/14515/ .Xresources |
||
+ | |||
+ | ==参照== |
||
+ | |||
+ | * [https://engineering.purdue.edu/ECN/Support/KB/Docs/UsingTheXdefaultsFil Using the Xdefaults File] - An in-depth article on how X interprets the Xdefaults file |
||
+ | * [http://wiki.afterstep.org/index.php?title=Rxvt-Unicode_Configuration_Tutorial Rxvt-unicode Configuration Tutorial] - lots of information for urxvt users |
||
+ | * [http://mkaz.com/solog/system/xterm-colors.html Example Colors and their names] - listing of example colors and their color names for xterm and other X-applications. |
||
+ | * [https://web.archive.org/web/20090130061234/http://phraktured.net/terminal-colors/ Color Themes] - Extensive list of terminal color themes by Phraktured. |
||
+ | * [http://xcolors.net/ Xcolors.net] List of user-contributed terminal color themes. |
||
+ | * [http://beta.andrewrcraig.us/index.php?page=xcolors Xcolors by dkeg] |
2015年6月22日 (月) 18:47時点における版
Xresources はユーザーレベルの設定ドットファイルで、通常は ~/.Xresources
に存在します。X クライアントアプリケーションの設定パラメータである X resources を設定するのに使われます。
Xresources は様々な設定をすることができます、例えば:
- ターミナルの色の定義
- ターミナルの設定
- DPI やアンチエイリアス、ヒンティングなど X フォントの設定
- X カーソルテーマの変更
- xscreensaver のテーマ設定
- ローレベルな X アプリケーションの設定 (xorg-xclock, xpdfAUR, rxvt-unicode など)
初めに
xorg-xrdb がシステムにインストールされていることを確認してください。
.Xresources の解析
~/.Xresources
ファイルはデフォルトでは存在しません。プレーンテキストファイルなので、お好きなテキストエディタで作成・編集することができます。ファイルが存在する場合、xrdb
(Xorg resource database) プログラムによって自動的に解析されます。ただし、それには以下のどちらかの条件を満たしている必要があります:
- ディスプレイマネージャを使って X にログインしている。ほとんどの DM はログイン時に自動的に
~/.Xresources
ファイルをロードします。 startx
を使用している場合、~/.xinitrc
を編集する必要があります。詳しくは下を参照してください。
resources は X サーバーに保存されるため、アプリを起動するたびにファイルを読み取る必要はありません。
.Xresources ファイルを再読み込みさせて、古い resources を捨てさせるには:
xrdb ~/.Xresources
.Xresources ファイルを再読み込みさせて、古い resources を維持させるには:
xrdb -merge ~/.Xresources
xinitrc に追加
デスクトップ環境を使っていない場合、以下の行を ~/.xinitrc
に追加する必要があります:
[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
デフォルト設定
インストールした X11 アプリのデフォルト設定を確認したいときは、/usr/share/X11/app-defaults/
の中を見て下さい。
Detailed information on program-specific resources is usually provided in the man page for the program. xterm's man page is a good example, as it contains a list of X resources and their default values.
To see the current loaded resources:
xrdb -query -all
Xresources の構文
基本構文
Xresources ファイルの構文は以下の通りです:
name.Class.resource: value
実際の例:
xscreensaver.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
- name
- アプリケーションの名前。xterm や xpdf など。
- class
- The classification used to group resources together. Class names are typically uppercase.
- resource
- The name of the resource whose value is to be changed. Resources are typically lowercase with uppercase concatenation.
- value
- The actual value of the resource. This can be 1 of 3 types:
- Integer (whole numbers)
- Boolean (true/false, yes/no, on/off)
- String (a string of characters) (for example a word (
white
), a color (#ffffff
), or a path (/usr/bin/firefox
))
- delimiters
- A dot (
.
) is used to signify each step down into the hierarchy — in the above example we start at name, then descend into Class, and finally into the resource itself. A colon (:
) is used to separate the resource declaration from the actual value.
ワイルドカードマッチ
The asterisk can be used as a wildcard, making it easy to write a single rule that can be applied to many different applications or elements.
Using the previous example, if you want to apply the same font to all programs (not just XScreenSaver) that contain the class name Dialog
which contains the resource name headingFont
, you would write:
*Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
If you want to apply this same rule to all programs that contain the resource headingFont
, regardless of its class, you would write:
*headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
コメント
To add a comment to your Xresources file, simply prefix it with an exclamation mark (!
), for example:
! This is a comment placed above some Xft settings Xft.dpi: 96 ! this is an inline comment
! The following rule will be ignored because it has been commented out !Xft.antialias: true
ファイルのインクルード
To use different files for each application, use #include
in the main file. For example:
~/.Xresources
#include ".Xresources.d/xterm" #include ".Xresources.d/rxvt-unicode" #include ".Xresources.d/fonts" #include ".Xresources.d/xscreensaver"
If files fail to load, specify the directory to xrdb with the -I
parameter. For example:
~/.xinitrc
xrdb -I$HOME ~/.Xresources
使用例
The following samples should provide a good understanding of how application settings can be modified using an Xresources file. For full details, refer to the man page of the application in question.
Terminal colors
Most terminals, including xterm and urxvt, support at least 16 basic colors. The following is an example of a 16-color scheme. The colors 0-7 are the 'normal' colors, while colors 8-15 are their 'bright' counterparts, used for highlighting and such. A good place to start when making your Xresources, is to define the default terminal colors:
! terminal colors ------------------------------------------------------------ ! tangoesque scheme *background: #111111 *foreground: #babdb6 ! Black (not tango) + DarkGrey *color0: #000000 *color8: #555753 ! DarkRed + Red *color1: #ff6565 *color9: #ff8d8d ! DarkGreen + Green *color2: #93d44f *color10: #c8e7a8 ! DarkYellow + Yellow *color3: #eab93d *color11: #ffc123 ! DarkBlue + Blue *color4: #204a87 *color12: #3465a4 ! DarkMagenta + Magenta *color5: #ce5c00 *color13: #f57900 !DarkCyan + Cyan (both not tango) *color6: #89b6e2 *color14: #46a4ff ! LightGrey + White *color7: #cccccc *color15: #ffffff
See man page#Colored man pages on xterm or rxvt-unicode for how to color bold and underlined text automatically xterm and rxvt.
For more examples of color schemes, see the #Contributed examples section at the bottom of this article.
Xcursor resources
Set the theme and size of your mouse cursor:
! Xcursor -------------------------------------------------------------------- Xcursor.theme: Vanilla-DMZ-AA Xcursor.size: 22
Available themes reside in /usr/share/icons
and local themes can be installed to ~/.icons
.
Xft resources
You can define basic font resources without the need of a fonts.conf
file or a desktop environment. Note however, the use of a desktop environment and/or fonts.conf
can override these settings. Your best option is to use one or the other, but not both.
! Xft settings --------------------------------------------------------------- Xft.dpi: 96 Xft.antialias: true Xft.rgba: rgb Xft.hinting: true Xft.hintstyle: hintslight
Xterm resources
The following resources will open xterm in an 80x25 character window with a scroll-bar and scroll capability for the last 512 lines. The specified Terminus facename is a popular and clean terminal font.
! xterm ---------------------------------------------------------------------- xterm*VT100.geometry: 80x25 xterm*faceName: Terminus:style=Regular:size=10 !xterm*font: -*-dina-medium-r-*-*-16-*-*-*-*-*-*-* xterm*dynamicColors: true xterm*utf8: 2 xterm*eightBitInput: true xterm*saveLines: 512 xterm*scrollKey: true xterm*scrollTtyOutput: false xterm*scrollBar: true xterm*rightScrollBar: true xterm*jumpScroll: true xterm*multiScroll: true xterm*toolBar: false
rxvt-unicode (urxvt) resources
rxvt-unicode features an extensive list of options which can be configured via ~/.Xresources
. Refer to the urxvt man page or this wiki article for details.
Aterm preferences
Sample settings for aterm (very similar to urxvt):
!aterm settings------------------------------------------------------------- aterm*background: black aterm*foreground: white aterm*transparent: true aterm*shading: 30 aterm*cursorColor: gray aterm*saveLines: 2000 !aterm*tinting: gray aterm*scrollBar: false !aterm*scrollBar_right: true aterm*transpscrollbar: true aterm*borderwidth: 0 aterm*font: -*-terminus-*-*-*-*-*-*-*-*-*-*-*-* aterm*geometry: 80x25 !aterm*fading: 70
Xpdf resources
Following are some basic resources for xpdfAUR, a lightweight PDF viewer:
! xpdf ----------------------------------------------------------------------- xpdf*enableFreetype: yes xpdf*antialias: yes xpdf*foreground: black xpdf*background: white xpdf*urlCommand: /usr/bin/firefox %s
Anything more detailed than the above you should be putting in ~/.xpdfrc
instead. See the xpdf man page for more information. Note that viKeys
is deprecated.
Lal clock resources
! lal clock ------------------------------------------------------------------ lal*font: Arial lal*fontsize: 12 lal*bold: true lal*color: #ffffff lal*width: 150 lal*format: %a %b %d %l:%M%P
Xclock preferences
Some basic xclock settings. See the xclock man page for all X resources.
! xclock --------------------------------------------------------------------- xclock*update: 1 xclock*analog: false xclock*Foreground: white xclock*background: black
X11-ssh-askpass resources
! x11-ssh-askpass ------------------------------------------------------------ x11-ssh-askpass*font: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* x11-ssh-askpass*background: #000000 x11-ssh-askpass*foreground: #ffffff x11-ssh-askpass.Button*background: #000000 x11-ssh-askpass.Indicator*foreground: #ff9900 x11-ssh-askpass.Indicator*background: #090909 x11-ssh-askpass*topShadowColor: #000000 x11-ssh-askpass*bottomShadowColor: #000000 x11-ssh-askpass.*borderWidth: 1
XScreenSaver resources
The following is a sample XScreenSaver theme. For more information, refer to the XScreenSaver man page.
! xscreensaver --------------------------------------------------------------- !font settings xscreensaver.Dialog.headingFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-* xscreensaver.Dialog.bodyFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* xscreensaver.Dialog.labelFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* xscreensaver.Dialog.unameFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* xscreensaver.Dialog.buttonFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-* xscreensaver.Dialog.dateFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-* xscreensaver.passwd.passwdFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-* !general dialog box (affects main hostname, username, password text) xscreensaver.Dialog.foreground: #ffffff xscreensaver.Dialog.background: #111111 xscreensaver.Dialog.topShadowColor: #111111 xscreensaver.Dialog.bottomShadowColor: #111111 xscreensaver.Dialog.Button.foreground: #666666 xscreensaver.Dialog.Button.background: #ffffff !username/password input box and date text colour xscreensaver.Dialog.text.foreground: #666666 xscreensaver.Dialog.text.background: #ffffff xscreensaver.Dialog.internalBorderWidth:24 xscreensaver.Dialog.borderWidth: 20 xscreensaver.Dialog.shadowThickness: 2 !timeout bar (background is actually determined by Dialog.text.background) xscreensaver.passwd.thermometer.foreground: #ff0000 xscreensaver.passwd.thermometer.background: #000000 xscreensaver.passwd.thermometer.width: 8 !datestamp format--see the strftime(3) manual page for details xscreensaver.dateFormat: %I:%M%P %a %b %d, %Y
Xcalc resources
Following are some xcalc resources to colorize and customize buttons.
!xcalc----------------------------------------------------------------------- xcalc*geometry: 200x275 xcalc.ti.bevel.background: #111111 xcalc.ti.bevel.screen.background: #000000 xcalc.ti.bevel.screen.DEG.background: #000000 xcalc.ti.bevel.screen.DEG.foreground: LightSeaGreen xcalc.ti.bevel.screen.GRAD.background: #000000 xcalc.ti.bevel.screen.GRAD.foreground: LightSeaGreen xcalc.ti.bevel.screen.RAD.background: #000000 xcalc.ti.bevel.screen.RAD.foreground: LightSeaGreen xcalc.ti.bevel.screen.INV.background: #000000 xcalc.ti.bevel.screen.INV.foreground: Red xcalc.ti.bevel.screen.LCD.background: #000000 xcalc.ti.bevel.screen.LCD.foreground: LightSeaGreen xcalc.ti.bevel.screen.LCD.shadowWidth: 0 xcalc.ti.bevel.screen.M.background: #000000 xcalc.ti.bevel.screen.M.foreground: LightSeaGreen xcalc.ti.bevel.screen.P.background: #000000 xcalc.ti.bevel.screen.P.foreground: Yellow xcalc.ti.Command.foreground: White xcalc.ti.Command.background: #777777 xcalc.ti.button5.background: Orange3 xcalc.ti.button19.background: #611161 xcalc.ti.button18.background: #611161 xcalc.ti.button20.background: #611111 !uncomment to change label on division button !xcalc.ti.button20.label: / xcalc.ti.button25.background: #722222 xcalc.ti.button30.background: #833333 xcalc.ti.button35.background: #944444 xcalc.ti.button40.background: #a55555 xcalc.ti.button22.background: #222262 xcalc.ti.button23.background: #222262 xcalc.ti.button24.background: #222272 xcalc.ti.button27.background: #333373 xcalc.ti.button28.background: #333373 xcalc.ti.button29.background: #333373 xcalc.ti.button32.background: #444484 xcalc.ti.button33.background: #444484 xcalc.ti.button34.background: #444484 xcalc.ti.button37.background: #555595 xcalc.ti.button38.background: #555595 xcalc.ti.button39.background: #555595 XCalc*Cursor: hand2 XCalc*ShapeStyle: rectangle
Color scheme commands
Here are some fast bash commands you can run right in your shell.
Display all 256 colors
Prints all 256 colors across the screen, very quick.
(x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done)
Display tput escape codes
Replace tput op
with whatever tput you want to trace. op
is the default foreground and background color.
$ ( strace -s5000 -e write tput op 2>&2 2>&1 ) | tee -a /dev/stderr | grep -o '"[^"]*"'
033[\033[1;34m"\33[39;49m"\033[00m
Enumerating colors supported by terminals
The following command will let you discover all the terminals you have terminfo support for, and the number of colors each terminal supports. The possible values are: 8, 15, 16, 52, 64, 88 and 256.
$ for T in `find /usr/share/terminfo -type f -printf '%f '`;do echo "$T `tput -T $T colors`";done|sort -nk2
Eterm-88color 88 rxvt-88color 88 xterm+88color 88 xterm-88color 88 Eterm-256color 256 gnome-256color 256 konsole-256color 256 putty-256color 256 rxvt-256color 256 screen-256color 256 screen-256color-bce 256 screen-256color-bce-s 256 screen-256color-s 256 xterm+256color 256 xterm-256color 256
Enumerating terminal capabilities
This command is useful to see what features that are supported by your terminal.
$ infocmp -1 | sed -nu 's/^[ \000\t]*//;s/[ \000\t]*$//;/[^ \t\000]\{1,\}/!d;/acsc/d;s/=.*,//p'|column -c80
bel cuu ich kb2 kf15 kf3 kf44 kf59 mc0 rmso smul blink cuu1 il kbs kf16 kf30 kf45 kf6 mc4 rmul tbc bold cvvis il1 kcbt kf17 kf31 kf46 kf60 mc5 rs1 u6 cbt dch ind kcub1 kf18 kf32 kf47 kf61 meml rs2 u7 civis dch1 indn kcud1 kf19 kf33 kf48 kf62 memu sc u8 clear dl initc kcuf1 kf2 kf34 kf49 kf63 op setab u9 cnorm dl1 invis kcuu1 kf20 kf35 kf5 kf7 rc setaf vpa
Color scheme scripts
Any of the following scripts will display a chart of your current terminal color scheme. Handy for testing and whatnot.
Script #1
#!/usr/bin/bash # # This file echoes a bunch of color codes to the # terminal to demonstrate what's available. Each # line is the color code of one foreground color, # out of 17 (default + 16 escapes), followed by a # test use of that color on all nine background # colors (default + 8 escapes). # T='gYw' # The test text echo -e "\n 40m 41m 42m 43m\ 44m 45m 46m 47m"; for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ ' 36m' '1;36m' ' 37m' '1;37m'; do FG=${FGs// /} echo -en " $FGs \033[$FG $T " for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; done echo; done echo
Script #2
#!/usr/bin/bash # Original: http://frexx.de/xterm-256-notes/ [リンク切れ 2013-11-21] # http://frexx.de/xterm-256-notes/data/colortable16.sh [リンク切れ 2013-11-21] # Modified by Aaron Griffin # and further by Kazuo Teramoto FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ') BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT') echo " ┌──────────────────────────────────────────────────────────────────────────┐" for b in {0..8}; do ((b>0)) && bg=$((b+39)) echo -en "\033[0m ${BGNAMES[b]} │ " for f in {0..7}; do echo -en "\033[${bg}m\033[$((f+30))m ${FGNAMES[f]} " done echo -en "\033[0m │" echo -en "\033[0m\n\033[0m │ " for f in {0..7}; do echo -en "\033[${bg}m\033[1;$((f+30))m ${FGNAMES[f]} " done echo -en "\033[0m │" echo -e "\033[0m" ((b<8)) && echo " ├──────────────────────────────────────────────────────────────────────────┤" done echo " └──────────────────────────────────────────────────────────────────────────┘"
Script #3
#!/usr/bin/bash # Original: http://frexx.de/xterm-256-notes/ [リンク切れ 2013-11-21] # http://frexx.de/xterm-256-notes/data/colortable16.sh [リンク切れ 2013-11-21] # Modified by Aaron Griffin # and further by Kazuo Teramoto FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ') BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT') echo " ----------------------------------------------------------------------------" for b in $(seq 0 8); do if [ "$b" -gt 0 ]; then bg=$(($b+39)) fi echo -en "\033[0m ${BGNAMES[$b]} : " for f in $(seq 0 7); do echo -en "\033[${bg}m\033[$(($f+30))m ${FGNAMES[$f]} " done echo -en "\033[0m :" echo -en "\033[0m\n\033[0m : " for f in $(seq 0 7); do echo -en "\033[${bg}m\033[1;$(($f+30))m ${FGNAMES[$f]} " done echo -en "\033[0m :" echo -e "\033[0m" if [ "$b" -lt 8 ]; then echo " ----------------------------------------------------------------------------" fi done echo " ----------------------------------------------------------------------------"
Script #4
#!/usr/bin/env lua function cl(e) return string.format('\27[%sm', e) end function print_fg(bg, pre) for fg = 30,37 do fg = pre..fg io.write(cl(bg), cl(fg), string.format(' %6s ', fg), cl(0)) end end for bg = 40,47 do io.write(cl(0), ' ', bg, ' ') print_fg(bg, ' ') io.write('\n ') print_fg(bg, '1;') io.write('\n\n') end -- Andres P
Script #5
#!/usr/bin/bash # # ANSI color scheme script featuring Space Invaders # # Original: http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921 # Modified by lolilolicon # f=3 b=4 for j in f b; do for i in {0..7}; do printf -v $j$i %b "\e[${!j}${i}m" done done bld=$'\e[1m' rst=$'\e[0m' cat << EOF $f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst $f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst $f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst $f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst $bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst $bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst $bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst $bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst $f7▌$rst $f7▌$rst $f7 ▄█▄ $rst $f7▄█████████▄$rst $f7▀▀▀▀▀▀▀▀▀▀▀$rst EOF
Script #6
#!/usr/bin/env ruby # coding: utf-8 # ANSI color scheme script # Author: Ivaylo Kuzev < Ivo > # Original: http://crunchbang.org/forums/viewtopic.php?pid=134749%23p134749#p134749 # Modified using Ruby. CL = "\e[0m" BO = "\e[1m" R = "\e[31m" G = "\e[32m" Y = "\e[33m" B = "\e[34m" P = "\e[35m" C = "\e[36m" print <<EOF #{BO}#{R} ██████ #{CL} #{BO}#{G}██████ #{CL}#{BO}#{Y} ██████#{CL} #{BO}#{B}██████ #{CL} #{BO}#{P} ██████#{CL} #{BO}#{C} ███████#{CL} #{BO}#{R} ████████#{CL} #{BO}#{G}██ ██ #{CL}#{BO}#{Y}██ #{CL} #{BO}#{B}██ ██#{CL} #{BO}#{P}██████ #{CL} #{BO}#{C} █████████#{CL} #{R} ██ ████#{CL} #{G}██ ████#{CL}#{Y} ████ #{CL} #{B}████ ██#{CL} #{P}████ #{CL} #{C}█████ #{CL} #{R} ██ ██#{CL} #{G}██████ #{CL}#{Y} ████████#{CL} #{B}██████ #{CL} #{P}████████#{CL} #{C}██ #{CL} EOF
Script #7
#!/bin/sh # Original Posted at http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921 # [ESC] character in original post removed here. # ANSI Color -- use these variables to easily have different color # and format output. Make sure to output the reset sequence after # colors (f = foreground, b = background), and use the 'off' # feature for anything you turn on. initializeANSI() { esc="$(echo -en '\e')" blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" cyanf="${esc}[36m"; whitef="${esc}[37m" blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" cyanb="${esc}[46m"; whiteb="${esc}[47m" boldon="${esc}[1m"; boldoff="${esc}[22m" italicson="${esc}[3m"; italicsoff="${esc}[23m" ulon="${esc}[4m"; uloff="${esc}[24m" invon="${esc}[7m"; invoff="${esc}[27m" reset="${esc}[0m" } # note in this first use that switching colors doesn't require a reset # first - the new color overrides the old one. #clear initializeANSI cat << EOF ${yellowf} ▄███████▄${reset} ${redf} ▄██████▄${reset} ${greenf} ▄██████▄${reset} ${bluef} ▄██████▄${reset} ${purplef} ▄██████▄${reset} ${cyanf} ▄██████▄${reset} ${yellowf}▄█████████▀▀${reset} ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄${reset} ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄${reset} ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄${reset} ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄${reset} ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} ${yellowf}███████▀${reset} ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███${reset} ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███${reset} ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███${reset} ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███${reset} ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} ${yellowf}███████▄${reset} ${redf}████████████${reset} ${greenf}████████████${reset} ${bluef}████████████${reset} ${purplef}████████████${reset} ${cyanf}████████████${reset} ${yellowf}▀█████████▄▄${reset} ${redf}██▀██▀▀██▀██${reset} ${greenf}██▀██▀▀██▀██${reset} ${bluef}██▀██▀▀██▀██${reset} ${purplef}██▀██▀▀██▀██${reset} ${cyanf}██▀██▀▀██▀██${reset} ${yellowf} ▀███████▀${reset} ${redf}▀ ▀ ▀ ▀${reset} ${greenf}▀ ▀ ▀ ▀${reset} ${bluef}▀ ▀ ▀ ▀${reset} ${purplef}▀ ▀ ▀ ▀${reset} ${cyanf}▀ ▀ ▀ ▀${reset} ${boldon}${yellowf} ▄███████▄ ${redf} ▄██████▄ ${greenf} ▄██████▄ ${bluef} ▄██████▄ ${purplef} ▄██████▄ ${cyanf} ▄██████▄${reset} ${boldon}${yellowf}▄█████████▀▀ ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄ ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄ ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄ ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄ ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} ${boldon}${yellowf}███████▀ ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███ ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███ ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███ ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███ ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} ${boldon}${yellowf}███████▄ ${redf}████████████ ${greenf}████████████ ${bluef}████████████ ${purplef}████████████ ${cyanf}████████████${reset} ${boldon}${yellowf}▀█████████▄▄ ${redf}██▀██▀▀██▀██ ${greenf}██▀██▀▀██▀██ ${bluef}██▀██▀▀██▀██ ${purplef}██▀██▀▀██▀██ ${cyanf}██▀██▀▀██▀██${reset} ${boldon}${yellowf} ▀███████▀ ${redf}▀ ▀ ▀ ▀ ${greenf}▀ ▀ ▀ ▀ ${bluef}▀ ▀ ▀ ▀ ${purplef}▀ ▀ ▀ ▀ ${cyanf}▀ ▀ ▀ ▀${reset} EOF
他のサンプル
Check out these links for some real world examples of X resource files, contributed by fellow community members.
- http://dotfiles.org/~buttons/.Xdefaults
- https://github.com/jelly/Dotfiles/blob/master/.Xdefaults
- https://paste.debian.net/14515/ .Xresources
参照
- Using the Xdefaults File - An in-depth article on how X interprets the Xdefaults file
- Rxvt-unicode Configuration Tutorial - lots of information for urxvt users
- Example Colors and their names - listing of example colors and their color names for xterm and other X-applications.
- Color Themes - Extensive list of terminal color themes by Phraktured.
- Xcolors.net List of user-contributed terminal color themes.
- Xcolors by dkeg