downstream: allow regular users to launch Weston
[platform/upstream/weston.git] / man / weston.ini.man
1 .\" shorthand for double quote that works everywhere.
2 .ds q \N'34'
3 .TH weston.ini 5 "2013-01-17" "Weston __version__"
4 .SH NAME
5 weston.ini \- configuration file for
6 .B Weston
7 \- the reference Wayland
8 compositor
9 .SH INTRODUCTION
10 .B Weston
11 obtains configuration from its command line parameters and the configuration
12 file described here.
13 .SH DESCRIPTION
14 .B Weston
15 uses a configuration file called
16 .I weston.ini
17 for its setup.
18 The
19 .I weston.ini
20 configuration file is searched for in one of the following places when the
21 server is started:
22 .PP
23 .RS 4
24 .nf
25 .BR "$XDG_CONFIG_HOME/weston.ini   " "(if $XDG_CONFIG_HOME is set)"
26 .BR "$HOME/.config/weston.ini      " "(if $HOME is set)"
27 .B  "weston/weston.ini in each"
28 .BR "\ \ \ \ $XDG_CONFIG_DIR           " "(if $XDG_CONFIG_DIRS is set)"
29 .BR "/etc/xdg/weston/weston.ini    " "(if $XDG_CONFIG_DIRS is not set)"
30 .BR "<current dir>/weston.ini      " "(if no variables were set)"
31 .fi
32 .RE
33 .PP
34 where environment variable
35 .B $HOME
36 is the user's home directory, and
37 .B $XDG_CONFIG_HOME
38 is the user specific configuration directory, and
39 .B $XDG_CONFIG_DIRS
40 is a colon
41 .B ':'
42 delimited listed of configuration base directories, such as
43 .BR /etc/xdg-foo:/etc/xdg .
44 .PP
45 The
46 .I weston.ini
47 file is composed of a number of sections which may be present in any order, or
48 omitted to use default configuration values. Each section has the form:
49 .PP
50 .RS 4
51 .nf
52 .BI [ SectionHeader ]
53 .RI Key1=Value1
54 .RI Key2=Value2
55     ...
56 .fi
57 .RE
58 .PP
59 The spaces are significant.
60 Comment lines are ignored:
61 .PP
62 .RS 4
63 .nf
64 .IR "#comment"
65 .fi
66 .RE
67 .PP
68 The section headers are:
69 .PP
70 .RS 4
71 .nf
72 .BR "core           " "The core modules"
73 .BR "libinput       " "Input device configuration"
74 .BR "shell          " "Desktop customization"
75 .BR "launcher       " "Add launcher to the panel"
76 .BR "screensaver    " "Screensaver selection"
77 .BR "output         " "Output configuration"
78 .BR "input-method   " "Onscreen keyboard input"
79 .BR "keyboard       " "Keyboard layouts"
80 .BR "terminal       " "Terminal application options"
81 .BR "xwayland       " "XWayland options"
82 .BR "screen-share   " "Screen sharing options"
83 .fi
84 .RE
85 .PP
86 Possible value types are string, signed and unsigned 32-bit
87 integer, and boolean. Strings must not be quoted, do not support any
88 escape sequences, and run till the end of the line. Integers can
89 be given in decimal (e.g. 123), octal (e.g. 0173), and hexadecimal
90 (e.g. 0x7b) form. Boolean values can be only 'true' or 'false'.
91 .RE
92 .SH "CORE SECTION"
93 The
94 .B core
95 section is used to select the startup compositor modules.
96 .TP 7
97 .BI "shell=" desktop-shell.so
98 specifies a shell to load (string). This can be used to load your own
99 implemented shell or one with Weston as default. Available shells
100 in the
101 .IR "__weston_modules_dir__"
102 directory are:
103 .PP
104 .RS 10
105 .nf
106 .BR desktop-shell.so
107 .fi
108 .RE
109 .TP 7
110 .TP 7
111 .BI "modules=" xwayland.so,cms-colord.so
112 specifies the modules to load (string). Available modules in the
113 .IR "__weston_modules_dir__"
114 directory are:
115 .PP
116 .RS 10
117 .nf
118 .BR xwayland.so
119 .BR cms-colord.so
120 .BR screen-share.so
121 .fi
122 .RE
123 .TP 7
124 .TP 7
125 .BI "backend=" headless-backend.so
126 overrides defaults backend. Available backend modules in the
127 .IR "__weston_modules_dir__"
128 directory are:
129 .PP
130 .RS 10
131 .nf
132 .BR drm-backend.so
133 .BR fbdev-backend.so
134 .BR headless-backend.so
135 .BR rdp-backend.so
136 .BR rpi-backend.so
137 .BR wayland-backend.so
138 .BR x11-backend.so
139 .fi
140 .RE
141 .BI "gbm-format="format
142 sets the GBM format used for the framebuffer for the GBM backend. Can be
143 .B xrgb8888,
144 .B xrgb2101010,
145 .B rgb565.
146 By default, xrgb8888 is used.
147 .RS
148 .PP
149
150 .SH "LIBINPUT SECTION"
151 The
152 .B libinput
153 section is used to configure input devices when using the libinput input device
154 backend.
155 .PP
156 Available configuration are:
157 .TP 7
158 .BI "enable_tap=" true
159 enables tap to click on touchpad devices
160 .RS
161 .PP
162
163 .SH "SHELL SECTION"
164 The
165 .B shell
166 section is used to customize the compositor. Some keys may not be handled by
167 different shell plugins.
168 .PP
169 The entries that can appear in this section are:
170 .TP 7
171 .BI "client=" file
172 sets the path for the shell client to run. If not specified
173 .I __weston_shell_client__
174 is launched (string).
175 .TP 7
176 .BI "background-image=" file
177 sets the path for the background image file (string).
178 .TP 7
179 .BI "background-type=" tile
180 determines how the background image is drawn (string). Can be
181 .BR scale ", " scale-crop " or " tile " (default)."
182 Scale means scaled to fit the output precisely, not preserving aspect ratio.
183 Scale-crop preserves aspect ratio, scales the background image just big
184 enough to cover the output, and centers it. The image ends up cropped from
185 left and right, or top and bottom, if the aspect ratio does not match the
186 output. Tile repeats the background image to fill the output.
187 .TP 7
188 .BI "background-color=" 0xAARRGGBB
189 sets the color of the background (unsigned integer). The hexadecimal
190 digit pairs are in order alpha, red, green, and blue.
191 .TP 7
192 .BI "panel-color=" 0xAARRGGBB
193 sets the color of the panel (unsigned integer). The hexadecimal
194 digit pairs are in order transparency, red, green, and blue. Examples:
195 .PP
196 .RS 10
197 .nf
198 .BR "0xffff0000    " "Red"
199 .BR "0xff00ff00    " "Green"
200 .BR "0xff0000ff    " "Blue"
201 .BR "0x00ffffff    " "Fully transparent"
202 .fi
203 .RE
204 .TP 7
205 .BI "panel-location=" top
206 sets the location of the panel (string). Can be
207 .B top,
208 .B none.
209 .TP 7
210 .BI "locking=" true
211 enables screen locking (boolean).
212 .TP 7
213 .BI "animation=" zoom
214 sets the effect used for opening new windows (string). Can be
215 .B zoom,
216 .B fade,
217 .B none.
218 By default, no animation is used.
219 .TP 7
220 .BI "close-animation=" fade
221 sets the effect used when closing windows (string). Can be
222 .B fade,
223 .B none.
224 By default, the fade animation is used.
225 .TP 7
226 .BI "startup-animation=" fade
227 sets the effect used for opening new windows (string). Can be
228 .B fade,
229 .B none.
230 By default, the fade animation is used.
231 .TP 7
232 .BI "focus-animation=" dim-layer
233 sets the effect used with the focused and unfocused windows. Can be
234 .B dim-layer,
235 .B none.
236 By default, no animation is used.
237 .TP 7
238 .BI "binding-modifier=" ctrl
239 sets the modifier key used for common bindings (string), such as moving
240 surfaces, resizing, rotating, switching, closing and setting the transparency
241 for windows, controlling the backlight and zooming the desktop. Possible values:
242 ctrl, alt, super (default)
243 .TP 7
244 .BI "num-workspaces=" 6
245 defines the number of workspaces (unsigned integer). The user can switch
246 workspaces by using the
247 binding+F1, F2 keys. If this key is not set, fall back to one workspace.
248 .TP 7
249 .BI "cursor-theme=" theme
250 sets the cursor theme (string).
251 .TP 7
252 .BI "cursor-size=" 24
253 sets the cursor size (unsigned integer).
254 .TP 7
255 .BI "lockscreen-icon=" path
256 sets the path to lock screen icon image (string). (tablet shell only)
257 .TP 7
258 .BI "lockscreen=" path
259 sets the path to lock screen background image (string). (tablet shell only)
260 .TP 7
261 .BI "homescreen=" path
262 sets the path to home screen background image (string). (tablet shell only)
263 .RE
264 .SH "LAUNCHER SECTION"
265 There can be multiple launcher sections, one for each launcher.
266 .TP 7
267 .BI "icon=" icon
268 sets the path to icon image (string). Svg images are not currently supported.
269 .TP 7
270 .BI "path=" program
271 sets the path to the program that is run by clicking on this launcher (string).
272 It is possible to pass arguments and environment variables to the program. For
273 example:
274 .nf
275 .in +4n
276
277 path=GDK_BACKEND=wayland gnome-terminal --full-screen
278 .in
279 .fi
280 .PP
281 .RE
282 .SH "SCREENSAVER SECTION"
283 The
284 .B screensaver
285 section is used to select and schedule a screensaver.
286 The
287 .B screensaver
288 section is optional, as are all of the entries that may be specified in
289 it.
290 .TP 7
291 .BI "path=" /usr/libexec/weston-screensaver
292 This instructs the compositor to use the selected screensaver client on a given
293 path (string). If this line is missing or commented out, the screensaver in
294 .B "weston(1)"
295 is disabled.
296 .RE
297 .TP 7
298 .BI "duration=" 600
299 The idle time in seconds until the screensaver disappears in order to save power
300 (unsigned integer).
301 .SH "OUTPUT SECTION"
302 There can be multiple output sections, each corresponding to one output. It is
303 currently only recognized by the drm and x11 backends.
304 .TP 7
305 .BI "name=" name
306 sets a name for the output (string). The backend uses the name to
307 identify the output. All X11 output names start with a letter X.  All
308 Wayland output names start with the letters WL.  The available
309 output names for DRM backend are listed in the
310 .B "weston-launch(1)"
311 output.
312 Examples of usage:
313 .PP
314 .RS 10
315 .nf
316 .BR "LVDS1    " "DRM backend, Laptop internal panel no.1"
317 .BR "VGA1     " "DRM backend, VGA connector no.1"
318 .BR "X1       " "X11 backend, X window no.1"
319 .BR "WL1      " "Wayland backend, Wayland window no.1"
320 .fi
321 .RE
322 .RS
323 .PP
324 See
325 .B "weston-drm(7)"
326 for more details.
327 .RE
328 .TP 7
329 .BI "mode=" mode
330 sets the output mode (string). The mode parameter is handled differently
331 depending on the backend. On the X11 backend, it just sets the WIDTHxHEIGHT of
332 the weston window.
333 The DRM backend accepts different modes:
334 .PP
335 .RS 10
336 .nf
337 .BR "WIDTHxHEIGHT    " "Resolution size width and height in pixels"
338 .BR "preferred       " "Uses the preferred mode"
339 .BR "current         " "Uses the current crt controller mode"
340 .BR "off             " "Disables the output"
341 .fi
342 .RE
343 .RS
344 .PP
345 Optionally, an user may specify a modeline, such as:
346 .PP
347 .nf
348 .in +4n
349 .nf
350 173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
351 .fi
352 .in
353 .PP
354 It consists of the refresh rate in Hz, horizontal and vertical resolution,
355 options for horizontal and vertical synchronisation. The program
356 .B "cvt(1)"
357 can provide suitable modeline string.
358 .RE
359 .TP 7
360 .BI "transform=" normal
361 The transformation applied to screen output (string). The transform key can
362 be one of the following 8 strings:
363 .PP
364 .RS 10
365 .nf
366 .BR  "normal        " "Normal output."
367 .BR  "90            " "90 degrees clockwise."
368 .BR  "180           " "Upside down."
369 .BR  "270           " "90 degrees counter clockwise."
370 .BR  "flipped       " "Horizontally flipped"
371 .BR  "flipped-90    " "Flipped and 90 degrees clockwise"
372 .BR  "flipped-180   " "Flipped upside down"
373 .BR  "flipped-270   " "Flipped and 90 degrees counter clockwise"
374 .fi
375 .RE
376 .TP 7
377 .BI "scale=" factor
378 An integer, 1 by default, typically configured as 2 when needed, denoting
379 the scale factor of the output. Applications that support it render at the
380 appropriate scale. For other applications, weston will scale their output
381 by this factor.
382 .RE
383 .RS
384 .PP
385 Use a value of 2 for outputs with high resolution. Such displays are often
386 called "HiDPI" or "retina" displays.
387 .RE
388 .TP 7
389 .BI "seat=" name
390 The logical seat name that that this output should be associated with. If this
391 is set then the seat's input will be confined to the output that has the seat
392 set on it. The expectation is that this functionality will be used in a
393 multiheaded environment with a single compositor for multiple output and input
394 configurations. The default seat is called "default" and will always be
395 present. This seat can be constrained like any other.
396 .RE
397 .SH "INPUT-METHOD SECTION"
398 .TP 7
399 .BI "path=" "/usr/libexec/weston-keyboard"
400 sets the path of the on screen keyboard input method (string).
401 .RE
402 .RE
403 .SH "KEYBOARD SECTION"
404 This section contains the following keys:
405 .TP 7
406 .BI "keymap_rules=" "evdev"
407 sets the keymap rules file (string). Used to map layout and model to input
408 device.
409 .RE
410 .RE
411 .TP 7
412 .BI "keymap_model=" "pc105"
413 sets the keymap model (string). See the Models section in
414 .B "xkeyboard-config(7)."
415 .RE
416 .RE
417 .TP 7
418 .BI "keymap_layout=" "us,de,gb"
419 sets the comma separated list of keyboard layout codes (string). See the
420 Layouts section in
421 .B "xkeyboard-config(7)."
422 .RE
423 .RE
424 .TP 7
425 .BI "keymap_variant=" "euro,,intl"
426 sets the comma separated list of keyboard layout variants (string). The number
427 of variants must be the same as the number of layouts above. See the Layouts
428 section in
429 .B "xkeyboard-config(7)."
430 .RE
431 .RE
432 .TP 7
433 .BI "keymap_options=" "grp:alt_shift_toggle,grp_led:scroll"
434 sets the keymap options (string). See the Options section in
435 .B "xkeyboard-config(7)."
436 .RE
437 .RE
438 .TP 7
439 .BI "repeat-rate=" "40"
440 sets the rate of repeating keys in characters per second (unsigned integer)
441 .RE
442 .RE
443 .TP 7
444 .BI "repeat-delay=" "400"
445 sets the delay in milliseconds since key down until repeating starts (unsigned
446 integer)
447 .RE
448 .RE
449 .TP 7
450 .BI "numlock-on=" "false"
451 sets the default state of the numlock on weston startup for the backends which
452 support it.
453 .RE
454 .RE
455 .SH "TERMINAL SECTION"
456 Contains settings for the weston terminal application (weston-terminal). It
457 allows to customize the font and shell of the command line interface.
458 .TP 7
459 .BI "font=" "DejaVu Sans Mono"
460 sets the font of the terminal (string). For a good experience it is recommended
461 to use monospace fonts. In case the font is not found, the default one is used.
462 .RE
463 .RE
464 .TP 7
465 .BI "font-size=" "14"
466 sets the size of the terminal font (unsigned integer).
467 .RE
468 .RE
469 .TP 7
470 .BI "term=" "xterm-256color"
471 The terminal shell (string). Sets the $TERM variable.
472 .RE
473 .RE
474 .SH "XWAYLAND SECTION"
475 .TP 7
476 .BI "path=" "/usr/bin/Xorg"
477 sets the path to the xserver to run (string).
478 .RE
479 .RE
480 .SH "SCREEN-SHARE SECTION"
481 .TP 7
482 .BI "command=" "/usr/bin/weston --backend=rdp-backend.so \
483 --shell=fullscreen-shell.so --no-clients-resize"
484 sets the command to start a fullscreen-shell server for screen sharing (string).
485 .RE
486 .RE
487 .SH "SEE ALSO"
488 .BR weston (1),
489 .BR weston-launch (1),
490 .BR weston-drm (7),
491 .BR xkeyboard-config (7)