autorandr/README.md

105 lines
3.7 KiB
Markdown
Raw Normal View History

2013-05-12 12:33:46 +00:00
# autorandr
2012-06-28 20:30:49 +00:00
Automatically select a display configuration based on connected devices
## Branch information
2013-11-29 06:51:28 +00:00
2015-01-02 10:34:30 +00:00
The original [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr)
tree is unmaintained, with lots of open pull requests and issues. I forked
2015-01-02 10:34:30 +00:00
it and merged what I thought were the most important changes. I will maintain
this branch until @wertarbyte finds the time to maintain his branch again.
2013-11-29 06:51:28 +00:00
2015-01-02 09:53:31 +00:00
## License information and authors
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
* Maciej Sitarz
* Matthew R Johnson
* Phillip Berndt
* Stefan Tomanek
2015-01-02 10:34:30 +00:00
* Timo Bingmann
* Tomasz Bogdal
* stormc
* tachylatus
2013-11-29 06:51:28 +00:00
## autorandr vs. autorandr.py
The two files `autorandr` and `autorandr.py` are two independent versions of
autorandr. For now, both are here, but I might move one of both versions into
its own branch or repository someday. See [bug #7](https://github.com/phillipberndt/autorandr/issues/7)
for details on why there are two versions around.
The two versions are compatible with respect to the profile format and command
line parameters, but
* the *Python version* does not support auto-disper
* the *bash version* does not support changes in available adapters and slightly esoteric configurations (like transformations and reflections)
Active development in this repository is likely to occur preferably in the
Python version.
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:
```
2012-06-28 20:30:49 +00:00
$ autorandr
mobile
docked (detected)
```
2012-06-28 20:30:49 +00:00
To automatically reload your setup, just append `--change` to the command line
2012-06-28 20:30:49 +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
(re)configuration, apply `--force`.
2012-06-28 20:30:49 +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
`--default <profile>`.
2012-06-28 20:30:49 +00:00
Another script called `postswitch` can be placed in the directory
`~/.autorandr` 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.
2013-05-12 12:33:46 +00:00
While the script uses xrandr by default, calling it by the name `autodisper`
or `auto-disper` forces it to use the [disper](http://willem.engen.nl/projects/disper/)
utility, which is useful for controlling nvidia chipsets. The formats for
fingerprinting the current setup and saving/loading the current configuration
are adjusted accordingly.
2012-06-28 20:30:49 +00:00
To install autorandr call `make install`, define your setup and then call
`make hotplug` to install hotplug scripts.
For Debian using auto-disper:
To make the screen auto-configure when your computer wakes up,
* Copy auto-disper into /usr/local/bin/
* Copy pm-utils/40auto-disper into /etc/pm/sleep.d/
* (Assuming gnome) Run gnome-keybinding-properties and ADD a shortcut,
I called it "Run auto-disper", I set it to CTRL-F7, and the command is:
`auto-disper -c --default default`
* Create a default disper setting... eg for laptop: unplug all monitors,
set up the screen nicely on the laptop display.
Then run `auto-disper --save laptop`