]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/blobdiff - README.md
Skip --panning 0x0 unless required (See #72)
[deb_pkgs/autorandr.git] / README.md
index 88e32e11fd7b586a73734a6054e449c9b71aaab7..1dd4f9095b8c1802c76b6dec320367f785508737 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,46 +1,97 @@
-# 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).
+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.
+
+If you prefer `pip` over your package manager, you can install autorandr with:
+
+    sudo pip install "git+http://github.com/phillipberndt/autorandr#egg=autorandr"
 
-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.
+Automatically generated packages versions are available from the
+[openSUSE build service](https://build.opensuse.org/package/show/home:phillipberndt/autorandr).
 
 ## 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 +107,43 @@ 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>`.
+`--default <profile>`. 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.
+
+If you experience issues with xrandr being executed too early after connecting
+a new monitor, then you can create a script `predetect`, which will be executed
+before autorandr attempts to run xrandr. Place e.g. `sleep 1` into that file
+to make autorandr wait a second before running xrandr.
+
+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
+
+**autorandr 1.1**
+
+* *2017-06-07* Call systemctl with `--no-block` from udev rule (See #61)
+* *2017-01-20* New script hook, `predetect`
+* *2017-01-18* Accept comments (lines starting with `#`) in config/setup files
+
+**autorandr 1.0**
+
+* *2016-12-07* Tag the current code as version 1.0.0; see github issue #54
+* *2016-10-03* Install a desktop file to `/etc/xdg/autostart` by default