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
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1.
.TH DISPER "1" "April 2013" "disper 0.3.1" "User Commands"
.SH NAME
disper \- on-the-fly display switcher
.SH SYNOPSIS
.B disper
[\fIoptions\fR] \fI(-l|-s|-c|-e|-p|-i)\fR
.SH DESCRIPTION
Disper re-routes your screen output to one or more connected displays. For
example when giving a presentation, all one wants is that the beamer, which has
just been connected, is able to show whatever you prepared.
.PP
There is the option to either clone all detected displays, or extend the
desktop to them. Resolutions are automatically detected by default. For
cloning, the highest resolution supported by all displays devices is chosen;
for extending every display device gets its preferred or highest supported
resolution. For special setups requiring more detailed control, one can still
use the vendor-supplied display configuration utilities.
.SH OPTIONS
.TP
\fB\-\-version\fR
show program's version number and exit
.TP
\fB\-h\fR, \fB\-\-help\fR
show this help message and exit
.TP
\fB\-v\fR, \fB\-\-verbose\fR
show what's happening
.TP
\fB\-q\fR, \fB\-\-quiet\fR
be quiet and only show errors
.TP
\fB\-r\fR RESOLUTION, \fB\-\-resolution\fR=\fIRESOLUTION\fR
set resolution, e.g. "800x600", or "auto" to detect
the display's preferred resolution, "max" to use the
maximum resolution advertised, or "off" to disable the
display entirely. For extend it is possible to enter a
single resolution for all displays or a commaseparated list of resolutions (one for each display).
Beware that many displays advertise resolutions they
can not fully show, so "max" is not advised.
.TP
\fB\-d\fR DISPLAYS, \fB\-\-displays\fR=\fIDISPLAYS\fR
comma\-separated list of displays to operate on, or
"auto" to detect; the first is the primary display.
.TP
\fB\-t\fR DIRECTION, \fB\-\-direction\fR=\fIDIRECTION\fR
where to extend displays: "left", "right", "top", or
"bottom"
.TP
\fB\-\-scaling\fR=\fISCALING\fR
flat\-panel scaling mode: "default", "native",
"scaled", "centered", or "aspect\-scaled"
.TP
\fB\-\-plugins\fR=\fIPLUGINS\fR
comma\-separated list of plugins to enable. Special
names: "user" for all user plugins in
~/.config/disper/hooks; "all" for all plugins found;
"none" for no plugins.
.TP
\fB\-\-cycle\-stages\fR=\fICYCLE_STAGES\fR
colon\-separated list command\-line arguments to cycle
through; "\-S:\-c:\-s" by default
.SH ACTIONS
.TP
Select exactly one of the following actions
.TP
\fB\-l\fR, \fB\-\-list\fR
list the attached displays
.TP
\fB\-s\fR, \fB\-\-single\fR
only enable the primary display
.TP
\fB\-S\fR, \fB\-\-secondary\fR
only enable the secondary display
.TP
\fB\-c\fR, \fB\-\-clone\fR
clone displays
.TP
\fB\-e\fR, \fB\-\-extend\fR
extend displays
.TP
\fB\-p\fR, \fB\-\-export\fR
export current settings to standard output
.TP
\fB\-i\fR, \fB\-\-import\fR
import current settings from standard input
.TP
\fB\-C\fR, \fB\-\-cycle\fR
cycle through the list of cycle stages
.SH FILES
\fI$XDG_CONFIG_HOME/disper/config\fR or \fI~/.config/disper/config\fR or \fI~/.disper/config\fR
.RS
Default command-line options to include at each disper invocation. Multiple
lines are concatenated, and lines starting with \fB#\fR are ignored. A typical
example might include:
.RS
.nf
# enable all plugins in ~/.config/disper/hooks
--plugins=user
# cycle over clone and extend
--cycle-stages='-c : -e'
.fi
.RE
.RE
\fI$XDG_CONFIG_HOME/disper/hooks/\fR or \fI~/.config/disper/hooks/\fR or \fI~/.disper/hooks/\fR
.RS
Directory containing user hooks. These can be enabled with the
\fB\-\-plugins\fR option.
.RE
.I #PREFIX#/share/disper/hooks/
.RS
Directory containing system hooks. User hooks take preference of system hooks
or plugins.
.RE
.SH CYCLE
There is a possibility to cycle between different setups with a single disper
invocation using the option \fB--cycle\fR. The options to cycle through are
specified by the option \fB--cycle-stages\fR, which consists of a
colon-separated list of disper options. To alternate, for example, between
clone and extend, one could use
.RS
.nf
.B disper --cycle-stages='-e : -c' --cycle
.fi
.RE
Currently the last selected stage is stored in the file
\fI$XDG_CONFIG_HOME/disper/last_cycle_stage\fR (actually the file
\fIlast_cycle_stage\fR in the directory of the last configuration file read).
This means that when display configuration is modified by something else than
disper (for example by restarting the computer), cycling will continue from
where it was last time, not necessarily from the current display configuration.
This is something that may change in the future.
.SH PLUGINS
It is possible to execute user-supplied hooks on display switch, for example to
display a notification or change the wallpaper. Which ones are enabled is
specified by the \fB\-\-plugins\fR option. System hooks are located in
\fB#PREFIX#/share/disper/hooks/\fR while user hooks should be placed in
\fB$XDG_CONFIG_HOME/disper/hooks\fR (or \fB~/.config/disper/hooks/\fR
or \fB~/.disper/hooks/\fR).
.PP
Each hook is an executable file (which includes scripts). The following
environment variables are available when invoked:
.IP \fIDISPER_VERSION\fR
Version of disper (#VERSION#).
.IP \fIDISPER_LOG_LEVEL\fR
Log level: 0 (quiet), 1 (normal) or 2 (verbose).
.IP \fIDISPER_STAGE\fR
Execution stage: \fBprepare\fR or \fBswitch\fR. Most plugins will only need to
act on the \fBswitch\fR stage, which is just after the display switch has
happened. Please make sure to execute an action only on \fBswitch\fR for future
compatibility. (There are ideas for \fBimport\fR and \fBexport\fR as well.)
.IP \fIDISPER_DISPLAYS\fR
Space-separated list of displays that have output. These names may be slightly
different from what disper uses internally because they have to be valid
environment variable names. (e.g. DFP_0 CRT_0)
.IP \fIDISPER_LAYOUT\fR
One of: \fBclone\fR, \fBtop\fR, \fBright\fR, \fBbottom\fR or \fBleft\fR.
.IP \fIDISPER_BB_RESOLUTION\fR
Size of full bounding box (e.g. 1024x768).
.PP
For each of \fIDISPER_DISPLAYS\fR the resolution of the corresponding display
is supplied as well. If only DFP-0 would be attached, \fIDISPER_DISPLAYS\fR would
contain just DFP_0 and the following variables would be set as well:
.IP \fIDISPER_RESOLUTION_DFP_0\fR
Resolution of display DFP-0 (e.g. 1024x768).
.PP
If you want to write your own hook you can also look at the ones supplied with
disper in #PREFIX#/share/disper/hooks/.
.SH AUTHOR
Written by Willem van Engen.
.SH "SEE ALSO"
.BR xrandr (1),
.BR nvidia-settings (1)
|