2015-01-27 07:25:04 +00:00
|
|
|
# autorandr
|
2012-06-28 20:30:49 +00:00
|
|
|
Automatically select a display configuration based on connected devices
|
|
|
|
|
2013-11-29 06:58:56 +00:00
|
|
|
## Branch information
|
2013-11-29 06:51:28 +00:00
|
|
|
|
2015-01-27 07:25:04 +00:00
|
|
|
This is a compatible Python rewrite of
|
|
|
|
[wertarbyte/autorandr](https://github.com/wertarbyte/autorandr).
|
|
|
|
|
2015-01-02 10:34:30 +00:00
|
|
|
The original [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr)
|
2015-01-27 07:25:04 +00:00
|
|
|
tree is unmaintained, with lots of open pull requests and issues. I forked it
|
|
|
|
and merged what I thought were the most important changes. If you are searching
|
|
|
|
for that version, see the [`legacy` branch](https://github.com/phillipberndt/autorandr/tree/legacy).
|
|
|
|
Note that the Python version is better suited for non-standard configurations,
|
|
|
|
like if you use `--transform` or `--reflect`. If you use `auto-disper`, you
|
|
|
|
have to use the bash version, as there is no disper support in the Python
|
|
|
|
version (yet). Both versions use a compatible configuration file format, so
|
|
|
|
you can, to some extent, switch between them. I will maintain the `legacy`
|
|
|
|
branch until @wertarbyte finds the time to maintain his branch again.
|
|
|
|
|
|
|
|
If you are interested in why there are two versions around, see
|
|
|
|
[#7](https://github.com/phillipberndt/autorandr/issues/7),
|
|
|
|
[#8](https://github.com/phillipberndt/autorandr/issues/8) and
|
|
|
|
especially
|
|
|
|
[#12](https://github.com/phillipberndt/autorandr/issues/12)
|
|
|
|
if you are unhappy with this version and would like to contibute to the bash
|
|
|
|
version.
|
2013-11-29 06:51:28 +00:00
|
|
|
|
2015-01-02 09:53:31 +00:00
|
|
|
## License information and authors
|
|
|
|
|
2015-01-16 07:24:04 +00:00
|
|
|
autorandr is available under the terms of the GNU General Public License
|
|
|
|
(version 3).
|
2015-01-02 10:34:30 +00:00
|
|
|
|
|
|
|
Contributors to this version of autorandr are:
|
|
|
|
|
|
|
|
* Alexander Wirt
|
|
|
|
* Chris Dunder
|
2015-05-17 08:12:07 +00:00
|
|
|
* Daniel Hahler
|
2015-01-02 10:34:30 +00:00
|
|
|
* Maciej Sitarz
|
2016-02-10 14:07:10 +00:00
|
|
|
* Mathias Svensson
|
2015-01-02 10:34:30 +00:00
|
|
|
* Matthew R Johnson
|
|
|
|
* Phillip Berndt
|
2015-01-22 13:28:27 +00:00
|
|
|
* Rasmus Wriedt Larsen
|
2015-01-16 07:24:04 +00:00
|
|
|
* Stefan Tomanek
|
2015-01-02 10:34:30 +00:00
|
|
|
* Timo Bingmann
|
|
|
|
* Tomasz Bogdal
|
2015-03-26 15:13:54 +00:00
|
|
|
* Victor Häggqvist
|
2015-01-02 10:34:30 +00:00
|
|
|
* stormc
|
|
|
|
* tachylatus
|
2015-03-26 15:13:54 +00:00
|
|
|
* andersonjacob
|
2013-11-29 06:51:28 +00:00
|
|
|
|
2013-05-12 12:33:46 +00:00
|
|
|
## How to use
|
2012-06-28 20:30:49 +00:00
|
|
|
|
|
|
|
Save your current display configuration and setup with:
|
2013-05-12 12:33:46 +00:00
|
|
|
```
|
|
|
|
autorandr --save mobile
|
|
|
|
```
|
2012-06-28 20:30:49 +00:00
|
|
|
|
|
|
|
Connect an additional display, configure your setup and save it:
|
2013-05-12 12:33:46 +00:00
|
|
|
```
|
|
|
|
autorandr --save docked
|
|
|
|
```
|
2012-06-28 20:30:49 +00:00
|
|
|
|
|
|
|
Now autorandr can detect which hardware setup is active:
|
2013-05-12 12:29:18 +00:00
|
|
|
```
|
2012-06-28 20:30:49 +00:00
|
|
|
$ autorandr
|
|
|
|
mobile
|
|
|
|
docked (detected)
|
2013-05-12 12:29:18 +00:00
|
|
|
```
|
2012-06-28 20:30:49 +00:00
|
|
|
|
2013-05-12 12:29:18 +00:00
|
|
|
To automatically reload your setup, just append `--change` to the command line
|
2012-06-28 20:30:49 +00:00
|
|
|
|
2013-05-12 12:29:18 +00:00
|
|
|
To manually load a profile, you can use the `--load <profile>` option.
|
2012-06-28 20:30:49 +00:00
|
|
|
|
|
|
|
autorandr tries to avoid reloading an identical configuration. To force the
|
2013-05-12 12:29:18 +00:00
|
|
|
(re)configuration, apply `--force`.
|
2012-06-28 20:30:49 +00:00
|
|
|
|
2013-05-12 12:29:18 +00:00
|
|
|
To prevent a profile from being loaded, place a script call _block_ in its
|
2012-06-28 20:30:49 +00:00
|
|
|
directory. The script is evaluated before the screen setup is inspected, and
|
|
|
|
in case of it returning a value of 0 the profile is skipped. This can be used
|
|
|
|
to query the status of a docking station you are about to leave.
|
|
|
|
|
|
|
|
If no suitable profile can be identified, the current configuration is kept.
|
|
|
|
To change this behaviour and switch to a fallback configuration, specify
|
2013-05-12 12:29:18 +00:00
|
|
|
`--default <profile>`.
|
2012-06-28 20:30:49 +00:00
|
|
|
|
2013-05-12 12:29:18 +00:00
|
|
|
Another script called `postswitch` can be placed in the directory
|
2015-02-09 07:24:10 +00:00
|
|
|
`~/.config/autorandr` (or `~/.autorandr` if you have an old installation) as well as in all profile directories: The scripts are executed
|
2012-06-28 20:30:49 +00:00
|
|
|
after a mode switch has taken place and can notify window managers or other
|
|
|
|
applications about it.
|
|
|
|
|
2016-01-07 14:02:51 +00:00
|
|
|
All scripts can also be placed in any of the `$XDG_CONFIG_DIRS`. In addition to
|
|
|
|
the script names themselves, any executables in subdirectories named
|
|
|
|
`script_name.d` (e.g. `postswitch.d`) are executed as well. In scripts, some of
|
|
|
|
autorandr's state is exposed as environment variables prefixed with `AUTORANDR_`.
|
|
|
|
The most useful one is `$AUTORANDR_CURRENT_PROFILE`.
|
|
|
|
|
2015-11-11 10:21:23 +00:00
|
|
|
To install autorandr call `make install`.
|