summaryrefslogtreecommitdiffstats
path: root/lib/terminal-colors.d.5.adoc
blob: f09cce1b7598f38b220a9cd8f76568db0648a49f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
//po4a: entry man manual
////
terminal-colors.d.5 --
Copyright 2014 Ondrej Oprala <ooprala@redhat.com>
Copyright (C) 2014 Karel Zak <kzak@redhat.com>
Copyright 2014 Red Hat, Inc.
May be distributed under the GNU General Public License
////

= terminal-colors.d(5)
:doctype: manpage
:man manual: File formats
:man source: util-linux {release-version}
:page-layout: base
:configfile: terminal-colors.d

== NAME

terminal-colors.d - configure output colorization for various utilities

== SYNOPSIS

/etc/terminal-colors.d/_[[name][@term].][type]_

== DESCRIPTION

Files in this directory determine the default behavior for utilities when coloring output.

The _name_ is a utility name. The name is optional and when none is specified then the file is used for all unspecified utilities.

The _term_ is a terminal identifier (the *TERM* environment variable). The terminal identifier is optional and when none is specified then the file is used for all unspecified terminals.

The _type_ is a file type. Supported file types are:

*disable*::
Turns off output colorization for all compatible utilities.

*enable*::
Turns on output colorization; any matching *disable* files are ignored.

*scheme*::
Specifies colors used for output. The file format may be specific to the utility, the default format is described below.

If there are more files that match for a utility, then the file with the more specific filename wins. For example, the filename "@xterm.scheme" has less priority than "dmesg@xterm.scheme". The lowest priority are those files without a utility name and terminal identifier (e.g., "disable").

The user-specific _$XDG_CONFIG_HOME/terminal-colors.d_ or _$HOME/.config/terminal-colors.d_ overrides the global setting.

== DEFAULT SCHEME FILES FORMAT

The following statement is recognized:

____
*name color-sequence*
____

The *name* is a logical name of color sequence (for example "error"). The names are specific to the utilities. For more details always see the *COLORS* section in the man page for the utility.

The *color-sequence* is a color name, ASCII color sequences or escape sequences.

=== Color names

black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta, lightred, magenta, red, reset, reverse, and yellow.

=== ANSI color sequences

The color sequences are composed of sequences of numbers separated by semicolons. The most common codes are:

____
[cols=",",]
|===
|0 |to restore default color
|1 |for brighter colors
|4 |for underlined text
|5 |for flashing text
|30 |for black foreground
|31 |for red foreground
|32 |for green foreground
|33 |for yellow (or brown) foreground
|34 |for blue foreground
|35 |for purple foreground
|36 |for cyan foreground
|37 |for white (or gray) foreground
|40 |for black background
|41 |for red background
|42 |for green background
|43 |for yellow (or brown) background
|44 |for blue background
|45 |for purple background
|46 |for cyan background
|47 |for white (or gray) background
|===
____

=== Escape sequences

To specify control or blank characters in the color sequences, C-style \-escaped notation can be used:

____
[cols=",",]
|===
|*\a* |Bell (ASCII 7)
|*\b* |Backspace (ASCII 8)
|*\e* |Escape (ASCII 27)
|*\f* |Form feed (ASCII 12)
|*\n* |Newline (ASCII 10)
|*\r* |Carriage Return (ASCII 13)
|*\t* |Tab (ASCII 9)
|*\v* |Vertical Tab (ASCII 11)
|*\?* |Delete (ASCII 127)
|*\_* |Space
|*\\* |Backslash (\)
|*\^* |Caret (^)
|*\#* |Hash mark (#)
|===
____

Please note that escapes are necessary to enter a space, backslash, caret, or any control character anywhere in the string, as well as a hash mark as the first character.

For example, to use a red background for alert messages in the output of *dmesg*(1), use:

____
*echo 'alert 37;41' >> /etc/terminal-colors.d/dmesg.scheme*
____

=== Comments

Lines where the first non-blank character is a # (hash) are ignored. Any other use of the hash character is not interpreted as introducing a comment.

== ENVIRONMENT

*TERMINAL_COLORS_DEBUG*=all::
enables debug output.

== FILES

_$XDG_CONFIG_HOME/terminal-colors.d_

_$HOME/.config/terminal-colors.d_

_/etc/terminal-colors.d_

== EXAMPLE

Disable colors for all compatible utilities:

____
*touch /etc/terminal-colors.d/disable*
____

Disable colors for all compatible utils on a vt100 terminal:

____
*touch /etc/terminal-colors.d/@vt100.disable*
____

Disable colors for all compatible utils except *dmesg*(1):

____
*touch /etc/terminal-colors.d/disable*

*touch /etc/terminal-colors.d/dmesg.enable*
____

== COMPATIBILITY

The *terminal-colors.d* functionality is currently supported by all util-linux utilities which provides colorized output. For more details always see the *COLORS* section in the man page for the utility.

include::man-common/bugreports.adoc[]

include::man-common/footer-config.adoc[]

ifdef::translation[]
include::man-common/translation.adoc[]
endif::[]