1DISPER(1)                        User Commands                       DISPER(1)
2
3
4

NAME

6       disper - on-the-fly display switcher
7

SYNOPSIS

9       disper [options] (-l|-s|-c|-e|-p|-i)
10

DESCRIPTION

12       Disper  re-routes your screen output to one or more connected displays.
13       For example when giving a presentation,  all  one  wants  is  that  the
14       beamer,  which  has  just  been connected, is able to show whatever you
15       prepared.
16
17       There is the option to either clone all detected  displays,  or  extend
18       the desktop to them. Resolutions are automatically detected by default.
19       For cloning, the highest resolution supported by all  displays  devices
20       is  chosen;  for  extending  every display device gets its preferred or
21       highest  supported  resolution.  For  special  setups  requiring   more
22       detailed control, one can still use the vendor-supplied display config‐
23       uration utilities.
24

OPTIONS

26       --version
27              show program's version number and exit
28
29       -h, --help
30              show this help message and exit
31
32       -v, --verbose
33              show what's happening
34
35       -q, --quiet
36              be quiet and only show errors
37
38       -r RESOLUTION, --resolution=RESOLUTION
39              set resolution, e.g. "800x600", or "auto"  to  detect  the  dis‐
40              play's preferred resolution, "max" to use the maximum resolution
41              advertised, or "off" to disable the display entirely. For extend
42              it  is possible to enter a single resolution for all displays or
43              a commaseparated list of resolutions  (one  for  each  display).
44              Beware  that  many  displays  advertise resolutions they can not
45              fully show, so "max" is not advised.
46
47       -d DISPLAYS, --displays=DISPLAYS
48              comma-separated list of displays to operate  on,  or  "auto"  to
49              detect; the first is the primary display.
50
51       -t DIRECTION, --direction=DIRECTION
52              where to extend displays: "left", "right", "top", or "bottom"
53
54       --scaling=SCALING
55              flat-panel  scaling  mode:  "default", "native", "scaled", "cen‐
56              tered", or "aspect-scaled"
57
58       --plugins=PLUGINS
59              comma-separated list of plugins to enable. Special names: "user"
60              for  all  user  plugins in ~/.config/disper/hooks; "all" for all
61              plugins found; "none" for no plugins.
62
63       --cycle-stages=CYCLE_STAGES
64              colon-separated list command-line arguments  to  cycle  through;
65              "-S:-c:-s" by default
66

ACTIONS

68       Select exactly one of the following actions
69
70       -l, --list
71              list the attached displays
72
73       -s, --single
74              only enable the primary display
75
76       -S, --secondary
77              only enable the secondary display
78
79       -c, --clone
80              clone displays
81
82       -e, --extend
83              extend displays
84
85       -p, --export
86              export current settings to standard output
87
88       -i, --import
89              import current settings from standard input
90
91       -C, --cycle
92              cycle through the list of cycle stages
93

CYCLE

95       There  is a possibility to cycle between different setups with a single
96       disper invocation using  the  option  --cycle.  The  options  to  cycle
97       through are specified by the option --cycle-stages, which consists of a
98       colon-separated list of disper  options.  To  alternate,  for  example,
99       between clone and extend, one could use
100              disper --cycle-stages='-e : -c' --cycle
101       Currently  the  last  selected  stage  is  stored in the file $XDG_CON‐
102       FIG_HOME/disper/last_cycle_stage (actually the file last_cycle_stage in
103       the  directory  of  the last configuration file read).  This means that
104       when display configuration is modified by something  else  than  disper
105       (for  example  by  restarting the computer), cycling will continue from
106       where it was last time, not necessarily from the current  display  con‐
107       figuration.  This is something that may change in the future.
108

PLUGINS

110       It  is  possible  to execute user-supplied hooks on display switch, for
111       example to display a notification or change the wallpaper.  Which  ones
112       are  enabled  is  specified  by  the --plugins option. System hooks are
113       located in /usr/share/disper/hooks/ while user hooks should  be  placed
114       in $XDG_CONFIG_HOME/disper/hooks (or ~/.config/disper/hooks/ or ~/.dis‐
115       per/hooks/).
116
117       Each hook is an executable file (which includes scripts). The following
118       environment variables are available when invoked:
119
120       DISPER_VERSION
121              Version of disper (0.3.1).
122
123       DISPER_LOG_LEVEL
124              Log level: 0 (quiet), 1 (normal) or 2 (verbose).
125
126       DISPER_STAGE
127              Execution  stage: prepare or switch. Most plugins will only need
128              to act on the switch stage, which  is  just  after  the  display
129              switch  has happened. Please make sure to execute an action only
130              on switch for future compatibility. (There are ideas for  import
131              and export as well.)
132
133       DISPER_DISPLAYS
134              Space-separated  list  of displays that have output. These names
135              may be slightly  different  from  what  disper  uses  internally
136              because  they have to be valid environment variable names. (e.g.
137              DFP_0 CRT_0)
138
139       DISPER_LAYOUT
140              One of: clone, top, right, bottom or left.
141
142       DISPER_BB_RESOLUTION
143              Size of full bounding box (e.g. 1024x768).
144
145       For each of DISPER_DISPLAYS the resolution of the corresponding display
146       is  supplied  as well. If only DFP-0 would be attached, DISPER_DISPLAYS
147       would contain just DFP_0 and the following variables would  be  set  as
148       well:
149
150       DISPER_RESOLUTION_DFP_0
151              Resolution of display DFP-0 (e.g. 1024x768).
152
153       If  you  want to write your own hook you can also look at the ones sup‐
154       plied with disper in /usr/share/disper/hooks/.
155

FILES

157       $XDG_CONFIG_HOME/disper/config or  ~/.config/disper/config  or  ~/.dis‐
158       per/config
159              Default  command-line  options to include at each disper invoca‐
160              tion. Multiple lines are concatenated, and lines starting with #
161              are ignored. A typical example might include:
162                     # enable all plugins in ~/.config/disper/hooks
163                     --plugins=user
164                     # cycle over clone and extend
165                     --cycle-stages='-c : -e'
166       $XDG_CONFIG_HOME/disper/hooks/  or  ~/.config/disper/hooks/  or ~/.dis‐
167       per/hooks/
168              Directory containing user hooks. These can be enabled  with  the
169              --plugins option.
170       /usr/share/disper/hooks/
171              Directory containing system hooks. User hooks take preference of
172              system hooks or plugins.
173

AUTHOR

175       Written by Willem van Engen.
176

SEE ALSO

178       xrandr(1), nvidia-settings(1)
179
180
181
182disper 0.3.1                       July 2019                         DISPER(1)
Impressum