* Use the
[nix package](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/autorandr.nix)
on NixOS.
+* Use the [SlackBuild](https://slackbuilds.org/repository/14.2/desktop/autorandr/) on Slackware.
* Use the automated nightlies generated by the
[openSUSE build service](https://build.opensuse.org/package/show/home:phillipberndt/autorandr)
for various distributions (RPM and DEB based).
as the default configuration without you having to change the system-wide
configuration.
-You can store default values for any option in an INI-file in
-`~/.config/autorandr/settings.ini` in a section `config`. The most useful
-candidate for doing that is `skip-options`, if you need it.
+You can store default values for any option in an INI-file located at
+`~/.config/autorandr/settings.ini`. In a `config` section, you may place any
+default values in the form `option-name=option-argument`.
+
+A common and effective use of this is to specify default `skip-options`, for
+instance skipping the `gamma` setting if using
+[`redshift`](https://github.com/jonls/redshift) as a daemon. To implement
+the equivalent of `--skip-options gamma`, your `settings.ini` file should look
+like this:
+
+```
+[config]
+skip-options=gamma
+```
## Advanced usage
If you switch back from `docked` to `mobile`, `~/.config/autorandr/postswitch`
is executed instead of the `docked` specific `postswitch`.
-In these scripts, some of autorandr's state is exposed as environment variables
+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`.
+
+#### Variables
+
+Some of autorandr's state is exposed as environment variables
prefixed with `AUTORANDR_`, such as:
- `AUTORANDR_CURRENT_PROFILE`
- `AUTORANDR_CURRENT_PROFILES`
- `AUTORANDR_PROFILE_FOLDER`
- `AUTORANDR_MONITORS`
-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`.
+with the intention that they can be used within the hook scripts.
+
+For instance, you might display which profile has just been activated by
+including the following in a `postswitch` script:
+```sh
+notify-send -i display "Display profile" "$AUTORANDR_CURRENT_PROFILE"
+```
+
+The one kink is that during `preswitch`, `AUTORANDR_CURRENT_PROFILE` is
+reporting the *upcoming* profile rather than the *current* one.
### Wildcard EDID matching
monitors using the usual file name globbing rules. This can be used to create
profiles matching multiple (or any) monitors.
+### udev triggers with NVidia cards
+
+In order for `udev` to detect `drm` events from the native NVidia driver, the
+kernel parameter `nvidia-drm.modeset` must be set to 1. For example, add a file
+`/etc/modprobe.d/nvidia-drm-modeset.conf`:
+
+```
+options nvidia_drm modeset=1
+```
+
## Changelog
-**autorandr 1.10 (dev)**
+**autorandr 1.12**
+* *2021-12-16* Switch default interpreter to Python 3
+* *2021-12-16* Add `--list` to list all profiles
+* *2021-12-16* Add `--cycle` to cycle all detected profiles
+
+**autorandr 1.11**
+* *2020-05-23* Handle empty sys.executable
+* *2020-06-08* Fix Python 2 compatibility
+* *2020-10-06* Set group membership of users in batch mode
+
+**autorandr 1.10.1**
+* *2020-05-04* Revert making the launcher the default (fixes #195)
+
+**autorandr 1.10**
+* *2020-04-23* Fix hook script execution order to match description from readme
+* *2020-04-11* Handle negative gamma values (fixes #188)
* *2020-04-11* Sort approximate matches in detected profiles by quality of match
+* *2020-01-31* Handle non-ASCII environment variables (fixes #180)
* *2019-12-31* Fix output positioning if the top-left output is not the first
* *2019-12-31* Accept negative gamma values (and interpret them as 0)
* *2019-12-31* Prefer the X11 launcher over systemd/udev configuration