]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
Moved contributed scripts/files to the contrib/ folder and updated the Makefile to...
authorPhillip Berndt <phillip.berndt@googlemail.com>
Wed, 11 Nov 2015 10:21:23 +0000 (11:21 +0100)
committerPhillip Berndt <phillip.berndt@googlemail.com>
Wed, 11 Nov 2015 10:22:24 +0000 (11:22 +0100)
systemd service file contributed by github user @blueyed. see #29.

Makefile
README.md
bash_completion/autorandr [deleted file]
contrib/bash_completion/autorandr [new file with mode: 0644]
contrib/pm-utils/40autorandr [new file with mode: 0755]
contrib/systemd/autorandr-resume.service [new file with mode: 0644]
contrib/udev/40-monitor-hotplug.rules [new file with mode: 0644]
pm-utils/40autorandr [deleted file]
udev/40-monitor-hotplug.rules [deleted file]

index 4141b1c1ab07e8ccd9b5012536a8178fda5079e4..122c2f79b807591cb6866ca491602a4866acc686 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,18 +1,80 @@
+DESTDIR=/
+PREFIX=/usr/
+
+.PHONY: all install uninstall autorandr bash_completion pmutils systemd udev
+
 all:
        @echo "Call \"make install\" to install this program."
-       @echo "Call \"make hotplug\" to install matching hotplug events."
+       @echo "Call \"make uninstall\" to remove this program."
+       @echo
+       @echo "The following components were autodetected and will be installed:"
+       @echo " "$(DEFAULT_TARGETS)
+       @echo "You can use the TARGETS variable to override, e.g. \"make install TAGETS='autorandr pmutils'\"."
+
+# Rules for autorandr itself
+DEFAULT_TARGETS=autorandr
+
+install_autorandr:
+       install -D -m 755 autorandr.py ${DESTDIR}${PREFIX}/bin/autorandr
+
+uninstall_autorandr:
+       rm -f ${DESTDIR}${PREFIX}/bin/autorandr
+
+# Rules for bash_completion
+HAVE_BASH_COMPLETION=$(shell [ -d /etc/bash_completion.d/ ] && echo "y")
+ifeq ($(HAVE_BASH_COMPLETION),y)
+DEFAULT_TARGETS+=bash_completion
+endif
+
+install_bash_completion:
+       install -D -m 644 contrib/bash_completion/autorandr ${DESTDIR}/etc/bash_completion.d/autorandr
+
+uninstall_bash_completion:
+       rm -f ${DESTDIR}/etc/bash_completion.d/autorandr
+
+# Rules for pmutils
+HAVE_PMUTILS=$(shell [ -x /usr/sbin/pm-suspend ] && echo "y")
+ifeq ($(HAVE_PMUTILS),y)
+DEFAULT_TARGETS+=pmutils
+endif
 
-INSTALL_PATH=/usr/local/bin
-install:
-       install -D -m 755 autorandr.py ${DESTDIR}${INSTALL_PATH}/autorandr
-       install -D -m 644 bash_completion/autorandr ${DESTDIR}/etc/bash_completion.d/autorandr
+install_pmutils:
+       install -D -m 644 contrib/pm-utils/40autorandr ${DESTDIR}/etc/pm/sleep.d/40autorandr
 
-hotplug:
-       install -D -m 755 pm-utils/40autorandr ${DESTDIR}/etc/pm/sleep.d/40autorandr
-       install -D -m 644 udev/40-monitor-hotplug.rules ${DESTDIR}/etc/udev/rules.d/40-monitor-hotplug.rules
+uninstall_pmutils:
+       rm -f ${DESTDIR}/etc/pm/sleep.d/40autorandr
+
+# Rules for systemd
+HAVE_SYSTEMD=$(shell grep -q systemd /proc/1/cmdline && echo "y")
+ifeq ($(HAVE_SYSTEMD),y)
+DEFAULT_TARGETS+=systemd
+endif
+
+install_systemd: install_pmutils
+       install -D -m 644 contrib/systemd/autorandr-resume.service ${DESTDIR}/etc/systemd/system/autorandr-resume.service
+
+uninstall_systemd: uninstall_pmutils
+       rm -f ${DESTDIR}/etc/systemd/system/autorandr-resume.service
+
+# Rules for udev
+HAVE_UDEV=$(shell [ -d /etc/udev/rules.d/ ] && echo "y")
+ifeq ($(HAVE_UDEV),y)
+DEFAULT_TARGETS+=udev
+endif
+
+install_udev:
+       install -D -m 644 contrib/udev/40-monitor-hotplug.rules ${DESTDIR}/etc/udev/rules.d/40-monitor-hotplug.rules
 ifeq (${USER},root)
        udevadm control --reload-rules
 else
        @echo "Please run this command as root:"
        @echo "    udevadm control --reload-rules"
 endif
+
+uninstall_udev:
+       rm -f ${DESTDIR}/etc/udev/rules.d/40-monitor-hotplug.rules
+
+
+TARGETS=$(DEFAULT_TARGETS)
+install: $(patsubst %,install_%,$(TARGETS))
+uninstall: $(patsubst %,uninstall_%,$(TARGETS))
index b014998db45d75ac3fb51ac58f21c09e9b754622..fdfb54712d3c77d4515aadd5e809dc6e5b41f5e3 100644 (file)
--- a/README.md
+++ b/README.md
@@ -87,5 +87,4 @@ Another script called `postswitch` can be placed in the directory
 after a mode switch has taken place and can notify window managers or other
 applications about it.
 
-To install autorandr call `make install`, define your setup and then call
-`make hotplug` to install hotplug scripts.
+To install autorandr call `make install`.
diff --git a/bash_completion/autorandr b/bash_completion/autorandr
deleted file mode 100644 (file)
index 7a8b81b..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# autorandr/auto-disper completion by Maciej 'macieks' Sitarz <macieks@freesco.pl>
-
-_autorandr ()
-{
-       local cur prev opts lopts prfls
-
-       COMPREPLY=()
-       cur="${COMP_WORDS[COMP_CWORD]}"
-       prev="${COMP_WORDS[COMP_CWORD-1]}"
-
-       opts="-h -c -s -l -d"
-       lopts="--help --change --save --load --default --force --fingerprint --config --dry-run"
-       if [ -d ~/.autorandr ]; then
-               prfls="`find ~/.autorandr/* -maxdepth 1 -type d -printf '%f\n'`"
-       elif [ -d ~/.config/autorandr ]; then
-               prfls="`find ~/.config/autorandr/* -maxdepth 1 -type d -printf '%f\n'`"
-       else
-               prfls=""
-       fi
-
-       case "${cur}" in
-               --*)
-                       COMPREPLY=( $( compgen -W "${lopts}" -- $cur ) )
-                       return 0
-                       ;;
-               -*)
-                       COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) )
-                       return 0
-                       ;;
-               *)
-                       if [ $COMP_CWORD -eq 1 ]; then
-                               COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) )
-                       fi
-                       ;;
-               esac
-
-       case "${prev}" in
-               -l|--load|-d|--default)
-                       COMPREPLY=( $( compgen -W "${prfls}" -- $cur ) )
-                       return 0
-                       ;;
-               *)
-                       ;;
-       esac
-
-       return 0
-}
-complete -F _autorandr autorandr
diff --git a/contrib/bash_completion/autorandr b/contrib/bash_completion/autorandr
new file mode 100644 (file)
index 0000000..7a8b81b
--- /dev/null
@@ -0,0 +1,48 @@
+# autorandr/auto-disper completion by Maciej 'macieks' Sitarz <macieks@freesco.pl>
+
+_autorandr ()
+{
+       local cur prev opts lopts prfls
+
+       COMPREPLY=()
+       cur="${COMP_WORDS[COMP_CWORD]}"
+       prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+       opts="-h -c -s -l -d"
+       lopts="--help --change --save --load --default --force --fingerprint --config --dry-run"
+       if [ -d ~/.autorandr ]; then
+               prfls="`find ~/.autorandr/* -maxdepth 1 -type d -printf '%f\n'`"
+       elif [ -d ~/.config/autorandr ]; then
+               prfls="`find ~/.config/autorandr/* -maxdepth 1 -type d -printf '%f\n'`"
+       else
+               prfls=""
+       fi
+
+       case "${cur}" in
+               --*)
+                       COMPREPLY=( $( compgen -W "${lopts}" -- $cur ) )
+                       return 0
+                       ;;
+               -*)
+                       COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) )
+                       return 0
+                       ;;
+               *)
+                       if [ $COMP_CWORD -eq 1 ]; then
+                               COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) )
+                       fi
+                       ;;
+               esac
+
+       case "${prev}" in
+               -l|--load|-d|--default)
+                       COMPREPLY=( $( compgen -W "${prfls}" -- $cur ) )
+                       return 0
+                       ;;
+               *)
+                       ;;
+       esac
+
+       return 0
+}
+complete -F _autorandr autorandr
diff --git a/contrib/pm-utils/40autorandr b/contrib/pm-utils/40autorandr
new file mode 100755 (executable)
index 0000000..1129177
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# 40autorandr: Change autorandr profile on thaw/resume
+exec > /var/log/autorandr.log 2>&1
+
+AUTORANDR="autorandr -c --default default"
+
+detect_display()
+{
+       for X in /tmp/.X11-unix/X*; do
+               D="${X##/tmp/.X11-unix/X}"
+               user=`who | awk -vD="$D" '$2 ~ ":"D"(.[0-9])?$" {print $1}' | head -1`
+               if [ x"$user" != x"" ]; then
+                       logger "autorandr: Changing display configuration for user '$user'"
+                       export DISPLAY=":$D"
+                       /bin/su -c "${AUTORANDR}" "$user"
+               fi
+       done
+}
+
+case "$1" in
+       thaw|resume)
+               detect_display
+               ;;
+esac
diff --git a/contrib/systemd/autorandr-resume.service b/contrib/systemd/autorandr-resume.service
new file mode 100644 (file)
index 0000000..70dcde1
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=autorandr resume hook
+After=sleep.target
+
+[Service]
+ExecStart=/etc/pm/sleep.d/40autorandr thaw
+
+[Install]
+WantedBy=sleep.target
\ No newline at end of file
diff --git a/contrib/udev/40-monitor-hotplug.rules b/contrib/udev/40-monitor-hotplug.rules
new file mode 100644 (file)
index 0000000..4c48ffb
--- /dev/null
@@ -0,0 +1 @@
+ACTION=="change", SUBSYSTEM=="drm", RUN+="/etc/pm/sleep.d/40autorandr thaw"
diff --git a/pm-utils/40autorandr b/pm-utils/40autorandr
deleted file mode 100755 (executable)
index 1129177..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# 40autorandr: Change autorandr profile on thaw/resume
-exec > /var/log/autorandr.log 2>&1
-
-AUTORANDR="autorandr -c --default default"
-
-detect_display()
-{
-       for X in /tmp/.X11-unix/X*; do
-               D="${X##/tmp/.X11-unix/X}"
-               user=`who | awk -vD="$D" '$2 ~ ":"D"(.[0-9])?$" {print $1}' | head -1`
-               if [ x"$user" != x"" ]; then
-                       logger "autorandr: Changing display configuration for user '$user'"
-                       export DISPLAY=":$D"
-                       /bin/su -c "${AUTORANDR}" "$user"
-               fi
-       done
-}
-
-case "$1" in
-       thaw|resume)
-               detect_display
-               ;;
-esac
diff --git a/udev/40-monitor-hotplug.rules b/udev/40-monitor-hotplug.rules
deleted file mode 100644 (file)
index 4c48ffb..0000000
+++ /dev/null
@@ -1 +0,0 @@
-ACTION=="change", SUBSYSTEM=="drm", RUN+="/etc/pm/sleep.d/40autorandr thaw"