2 Automatically select a display configuration based on connected devices
6 This is a compatible Python rewrite of
7 [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr).
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.
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
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
28 ## License information and authors
30 autorandr is available under the terms of the GNU General Public License
33 Contributors to this version of autorandr are:
43 * Rasmus Wriedt Larsen
55 Save your current display configuration and setup with:
57 autorandr --save mobile
60 Connect an additional display, configure your setup and save it:
62 autorandr --save docked
65 Now autorandr can detect which hardware setup is active:
72 To automatically reload your setup, just append `--change` to the command line
74 To manually load a profile, you can use the `--load <profile>` option.
76 autorandr tries to avoid reloading an identical configuration. To force the
77 (re)configuration, apply `--force`.
79 To prevent a profile from being loaded, place a script call _block_ in its
80 directory. The script is evaluated before the screen setup is inspected, and
81 in case of it returning a value of 0 the profile is skipped. This can be used
82 to query the status of a docking station you are about to leave.
84 If no suitable profile can be identified, the current configuration is kept.
85 To change this behaviour and switch to a fallback configuration, specify
86 `--default <profile>`.
88 Another script called `postswitch` can be placed in the directory
89 `~/.config/autorandr` (or `~/.autorandr` if you have an old installation) as
90 well as in all profile directories: The scripts are executed after a mode
91 switch has taken place and can notify window managers or other applications
92 about it. The same holds for `preswitch`, which is executed before the switch
93 takes place, and `postsave`, which is executed after a profile was
96 All scripts can also be placed in any of the `$XDG_CONFIG_DIRS`. In addition to
97 the script names themselves, any executables in subdirectories named
98 `script_name.d` (e.g. `postswitch.d`) are executed as well. In scripts, some of
99 autorandr's state is exposed as environment variables prefixed with `AUTORANDR_`.
100 The most useful one is `$AUTORANDR_CURRENT_PROFILE`.
102 To install autorandr call `make install`.