]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/blob - README.md
Retry failed xrandr calls after waiting for one second to mitigate #47
[deb_pkgs/autorandr.git] / README.md
1 # autorandr 
2 Automatically select a display configuration based on connected devices
3
4 ## Branch information
5
6 This is a compatible Python rewrite of
7 [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr).
8
9 The original [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr)
10 tree is unmaintained, with lots of open pull requests and issues. I forked it
11 and merged what I thought were the most important changes. If you are searching
12 for that version, see the [`legacy` branch](https://github.com/phillipberndt/autorandr/tree/legacy).
13 Note that the Python version is better suited for non-standard configurations,
14 like if you use `--transform` or `--reflect`. If you use `auto-disper`, you
15 have to use the bash version, as there is no disper support in the Python
16 version (yet). Both versions use a compatible configuration file format, so
17 you can, to some extent, switch between them.  I will maintain the `legacy`
18 branch until @wertarbyte finds the time to maintain his branch again.
19
20 If you are interested in why there are two versions around, see
21 [#7](https://github.com/phillipberndt/autorandr/issues/7),
22 [#8](https://github.com/phillipberndt/autorandr/issues/8) and
23 especially
24 [#12](https://github.com/phillipberndt/autorandr/issues/12)
25 if you are unhappy with this version and would like to contibute to the bash
26 version.
27
28 ## License information and authors
29
30 autorandr is available under the terms of the GNU General Public License
31 (version 3).
32
33 Contributors to this version of autorandr are:
34
35 * Alexander Wirt
36 * Chris Dunder
37 * Daniel Hahler
38 * Maciej Sitarz
39 * Mathias Svensson
40 * Matthew R Johnson
41 * Phillip Berndt
42 * Rasmus Wriedt Larsen
43 * Stefan Tomanek
44 * Timo Bingmann
45 * Tomasz Bogdal
46 * Victor Häggqvist
47 * stormc
48 * tachylatus
49 * andersonjacob
50 * Simon Wydooghe
51
52 ## How to use
53
54 Save your current display configuration and setup with:
55 ```
56 autorandr --save mobile
57 ```
58
59 Connect an additional display, configure your setup and save it:
60 ```
61 autorandr --save docked
62 ```
63
64 Now autorandr can detect which hardware setup is active:
65 ```
66  $ autorandr
67    mobile
68    docked (detected)
69 ```
70
71 To automatically reload your setup, just append `--change` to the command line
72
73 To manually load a profile, you can use the `--load <profile>` option.
74
75 autorandr tries to avoid reloading an identical configuration. To force the
76 (re)configuration, apply `--force`.
77
78 To prevent a profile from being loaded, place a script call _block_ in its
79 directory. The script is evaluated before the screen setup is inspected, and
80 in case of it returning a value of 0 the profile is skipped. This can be used
81 to query the status of a docking station you are about to leave.
82
83 If no suitable profile can be identified, the current configuration is kept.
84 To change this behaviour and switch to a fallback configuration, specify
85 `--default <profile>`.
86
87 Another script called `postswitch` can be placed in the directory
88 `~/.config/autorandr` (or `~/.autorandr` if you have an old installation) as well as in all profile directories: The scripts are executed
89 after a mode switch has taken place and can notify window managers or other
90 applications about it.
91
92 All scripts can also be placed in any of the `$XDG_CONFIG_DIRS`. In addition to
93 the script names themselves, any executables in subdirectories named
94 `script_name.d` (e.g. `postswitch.d`) are executed as well. In scripts, some of
95 autorandr's state is exposed as environment variables prefixed with `AUTORANDR_`.
96 The most useful one is `$AUTORANDR_CURRENT_PROFILE`.
97
98 To install autorandr call `make install`.