X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=README.md;h=98b38731df0ca3feaa56baf64529ad57a705e619;hb=0822f3111634fcd09c37f613a973be0e0dec4d85;hp=b872d63856f9bf5a5d8077f91168f303eedb1f09;hpb=37ca1c240fc8b76a9e5d7273254693881307b8d6;p=deb_pkgs%2Fautorandr.git diff --git a/README.md b/README.md index b872d63..98b3873 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Contributors to this version of autorandr are: * stormc * tachylatus * Timo Bingmann +* Timo Kaufmann * Tomasz Bogdal * Victor Häggqvist @@ -64,6 +65,9 @@ For Debian-based distributions (including Ubuntu) it is recommended to call On Arch Linux, there is [an aur package available](https://aur.archlinux.org/packages/autorandr-git/). +autorandr is also packaged in the [nix package manager](https://nixos.org/nix/) +repositories. + 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. @@ -123,27 +127,59 @@ 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 -`~/.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. +## Hook scripts -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. +Three more scripts can be placed in the configuration directory (as +(as defined by the [XDG spec](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), +usually `~/.config/autorandr` or `~/.autorandr` if you have an old installation +for user configuration and `/etc/xdg/autorandr` for system wide configuration): + +- `postswitch` is executed *after* a mode switch has taken place. This can be + used to notify window managers or other applications about the switch. +- `preswitch` is executed *before* a mode switch takes place. +- `postsave` is executed after a profile was stored or altered. +- `predetect` is executed before autorandr attempts to run xrandr. + +These scripts must be executable and can be placed directly in the configuration +directory, where they will always be executed, or in the profile subdirectories, +where they will only be executed on changes regarding that specific profile. + +Instead (or in addition) to these scripts, you can also place as many executable +files as you like in subdirectories called `script_name.d` (e.g. `postswitch.d`). + +If a script with the same name occurs multiple times, user configuration +takes precedence over system configuration (as specified by the +[XDG spec](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)) +and profile configuration over general configuration. + +As a concrete example, suppose you have the files -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`. +- `/etc/xdg/autorandr/postswitch` +- `~/.config/autorandr/postswitch` +- `~/.config/autorandr/postswitch.d/notify-herbstluftwm` +- `~/.config/autorandr/docked/postswitch` + +and switch from `mobile` to `docked`. Then +`~/.config/autorandr/docked/postswitch` is executed, since the profile specific +configuration takes precedence, and +`~/.config/autorandr/postswitch.d/notify-herbstluftwm` is executed, since +it has a unique name. + +If you switch back from `docked` to `mobile`, `~/.config/autorandr/postswitch` +is executed instead of the `mobile` specific `postswitch`. + +In these scripts, some of autorandr's state is exposed as environment variables +prefixed with `AUTORANDR_`. The most useful one is `$AUTORANDR_CURRENT_PROFILE`. + +If you experience issues with xrandr being executed too early after connecting +a new monitor, then you can use a `predetect` script to delay the execution. +Write e.g. `sleep 1` into that file to make autorandr wait a second before +running `xrandr`. ## Changelog +**autorandr 1.2** + * *2017-07-16* Skip `--panning` unless it is required (See #72) * *2017-10-13* Add `clone-largest` virtual profile