X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=README.md;h=070a453f20c500c0e4d763c8657912e2a995de2c;hb=986e5cfaf68e695483c7d388e4ea093a28862445;hp=88e32e11fd7b586a73734a6054e449c9b71aaab7;hpb=df7d64015d9695eece4ec306220c846b80dd4906;p=deb_pkgs%2Fautorandr.git diff --git a/README.md b/README.md index 88e32e1..070a453 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,90 @@ -# autorandr - +# autorandr Automatically select a display configuration based on connected devices -Stefan Tomanek <[stefan.tomanek@wertarbyte.de](stefan.tomanek@wertarbyte.de)> - ## Branch information -The original wertarbyte/autorandr tree seems unmaintained, with lots of open -pull requests and issues. I forked 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. +This is a compatible Python rewrite of +[wertarbyte/autorandr](https://github.com/wertarbyte/autorandr). + +The original [wertarbyte/autorandr](https://github.com/wertarbyte/autorandr) +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. ## License information and authors -autorandr was originally written by Stefan Tomanek and not published under any -Open Source license. He did so far not respond to requests regarding the code's -license. In this fork, all code has been reimplemented by various authors that -have agreed to release their code under the terms of the GNU General Public -License (version 3). - -Note that this license only applies to versions of autorandr from this fork -that are committed after issue #7 is closed, and versions derived from that -one. In particular, wertarbyte's original repository is still not OSS. +autorandr is available under the terms of the GNU General Public License +(version 3). + +Contributors to this version of autorandr are: + +* Alexander Wirt +* Chris Dunder +* Daniel Hahler +* Maciej Sitarz +* Mathias Svensson +* Matthew R Johnson +* Nazar Mokrynskyi +* Phillip Berndt +* Rasmus Wriedt Larsen +* Stefan Tomanek +* Timo Bingmann +* Tomasz Bogdal +* Victor Häggqvist +* stormc +* tachylatus +* andersonjacob +* Simon Wydooghe + +## Installation/removal +You can use the `autorandr.py` script as a stand-alone binary. If you'd like to +install it as a system-wide application, there is a Makefile included that also +places some configuration files in appropriate directories such that autorandr +is invoked automatically when a monitor is connected or removed, the system +wakes up from suspend, or a user logs into an X11 session. + +For Debian-based distributions (including Ubuntu) it is recommended to call +`make deb` to obtain a package that can be installed and removed with `dpkg`. + +On Arch Linux, there is [an aur package +available](https://aur.archlinux.org/packages/autorandr-git/). + +On other distributions you can install autorandr by calling `make install` and +remove it by calling `make uninstall`. Run `make` without arguments to obtain a +list of what exactly will be installed. + +We appreciate packaging scripts for other distributions, please file a pull +request if you write one. ## How to use Save your current display configuration and setup with: -``` -autorandr --save mobile -``` + + autorandr --save mobile Connect an additional display, configure your setup and save it: -``` -autorandr --save docked -``` + + autorandr --save docked Now autorandr can detect which hardware setup is active: -``` - $ autorandr - mobile - docked (detected) -``` + + $ autorandr + mobile + docked (detected) To automatically reload your setup, just append `--change` to the command line @@ -56,29 +100,29 @@ 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 `. +`--default `. The system-wide installation of autorandr by default +calls autorandr with a parameter `--default default`. There are three special, +virtual configurations called `horizontal`, `vertical` and `common`. They +automatically generate a configuration that incorporates all screens +connected to the computer. You can symlink `default` to one of these +names in your configuration directory to have autorandr use any of them +as the default configuration without you having to change the system-wide +configuration. Another script called `postswitch` can be placed in the directory -`~/.autorandr` as well as in all profile directories: The scripts are executed -after a mode switch has taken place and can notify window managers or other -applications about it. - -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. - -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` +`~/.config/autorandr` (or `~/.autorandr` if you have an old installation) as +well as in all profile directories: The scripts are executed after a mode +switch has taken place and can notify window managers or other applications +about it. The same holds for `preswitch`, which is executed before the switch +takes place, and `postsave`, which is executed after a profile was +stored/altered. + +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`. + +## Changelog + +* *2016-10-03* Install a desktop file to `/etc/xdg/autostart` by default