aboutsummaryrefslogtreecommitdiffstats
path: root/doc/coopgammad.1
blob: 71bf4da60318107fa37c151b8219f29e8e9d1f4f (plain) (blame)
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
.TH COOPGAMMAD 1 COOPGAMMAD
.SH "NAME"
coopgammad - Cooperative gamma server
.SH "SYNPOSIS"
.B coopgamma
.RB [ -m
.IR method ]
.RB [ -s
.IR site ]
.RB [ -fkpq ]
.SH "DESCRIPTION"
Programs that desire to change the gamma adjustment
on a display should use this program instead of
talking directly with the display server (unless
the display server is
.BR mds ).
By doing this, multiple programs can add filters to
the display without overriding each others effects.
.P
By using
.B coopgammad
to apply adjustments, you can select whether the
adjustment is persistent or shall be removed when
your program disconnects from
.BR coopgammad .
Even if the adjustment is persistent it can be
modified or removed later by another process.
.SH "OPTIONS"
.TP
.B -f
Don't fork the process to the background.
If used, you can still detect when the
process has been initialised be waiting
for its stdout to close.
.TP
.B -k
Do not close stderr when forking to the
background.
.TP
\fB-m\fP \fIMETHOD\fP
Adjustment method name or number. Recognised
names include:

.nf
\fBdummy\fP      Dummy method
\fBrandr\fP      X RAndR
\fBvidmode\fP    X VidMode
\fBdrm\fP        Linux DRM
\fBgdi\fP        Windows GDI
\fBquartz\fP     Quartz Core Graphics
.fi

The adjustment methods are supported via
.BR libgamma (7).
Only methods that were enabled when
.B libgamma
as compiled will be supported.
.TP
.B -p
Add the current gamma adjustments to the
filter list at priority 0. Even if this
is not used, the gamma adjustments will
not change for an output until a filter
has been added for that output.
.TP
.B -q
If used once, print the selected adjustment
method for the first line to stdout, and
if site's have names for that method, print
the name of the selected site on the second
line to stdout. The second line can be omitted
if
.B -s
has not been used and the default site cannot
be find.

If used at least twice, print the pathname
of the socket for the select method and site
combination to stdout. Under unusual
circumstances, the path may contain LF
characters, but it will always be terminated
by one extra LF to mark the end of the
printed line.
.TP
\fB-s\fP \fISITE\fP
Select the site to which to connect.
For example
.RB \(aq :0 \(aq,
for local display 0 when using
.BR X .
.SH "SIGNALS"
.TP
.B SIGUSR1
Reexecute the process to an updated version.
.TP
.BR SIGUSR2 ", " SIGINFO " if available"
Dump the process state to standard error.
.TP
.B SIGRTMIN+0
Disconnect from the display server or graphics
card.
.TP
.B SIGRTMIN+1
Reconnect to the display server or graphics card.
.SH "RATIONALE"
After reading the description section, the need for
this should be obvious.
.P
I plan to reuse code written for this program when
implementing
.BR mds-coopgamma (1),
therefore, the protocol is overly complicated,
implementation-wise.
.SH "SEE ALSO"
.BR libcoopgamma (7),
.BR cg-tools (7),
.BR libgamma (7),
.BR blueshift (1),
.BR mds-coopgamma (1).