]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
Merge branch 'master' into debian/sid
authorDon Armstrong <don@donarmstrong.com>
Fri, 22 Dec 2017 18:22:58 +0000 (10:22 -0800)
committerDon Armstrong <don@donarmstrong.com>
Fri, 22 Dec 2017 18:22:58 +0000 (10:22 -0800)
16 files changed:
debian/.gitignore [new file with mode: 0644]
debian/autorandr.1 [new file with mode: 0644]
debian/autorandr.service [new symlink]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/fill.copyright.blanks.yml [new file with mode: 0644]
debian/gbp.conf [new file with mode: 0644]
debian/manpages [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/patches/settings_ini [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/source/options [new file with mode: 0644]
debian/watch [new file with mode: 0644]

diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644 (file)
index 0000000..eb68ed0
--- /dev/null
@@ -0,0 +1,5 @@
+autorandr.debhelper.log
+autorandr.substvars
+autorandr/
+debhelper-build-stamp
+files
diff --git a/debian/autorandr.1 b/debian/autorandr.1
new file mode 100644 (file)
index 0000000..5065d47
--- /dev/null
@@ -0,0 +1,124 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.4.
+.TH AUTORANDR "1" "October 2017" "autorandr 1.2" "Automatically change screen layout"
+.SH NAME
+autorandr \- Automatically change screen layout
+.SH SYNOPSIS
+.B autorandr
+[\fI\,options\/\fR]
+.SH OPTIONS
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+get this small help
+.RE
+.PP
+\fB\-c\fR, \fB\-\-change\fR
+.RS 4
+reload current setup
+.RE
+.PP
+\fB\-s\fR, \fB\-\-save\fR <profile>
+.RS 4
+save your current setup to profile <profile>
+.RE
+.PP
+\fB\-r\fR, \fB\-\-remove\fR <profile>
+.RS 4
+remove profile <profile>
+.RE
+.PP
+\fB\-l\fR, \fB\-\-load\fR <profile>
+.RS 4
+load profile <profile>
+.RE
+.PP
+\fB\-d\fR, \fB\-\-default\fR <profile>
+.RS 4
+make profile <profile> the default profile
+.RE
+.PP
+\fB\-\-skip\-options\fR <option>
+.RS 4
+comma separated list of xrandr arguments (e.g. "gamma")
+to skip both in detecting changes and applying a profile
+.RE
+.PP
+\fB\-\-force\fR
+.RS 4
+force (re)loading of a profile
+.RE
+.PP
+\fB\-\-fingerprint\fR
+.RS 4
+fingerprint your current hardware setup
+.RE
+.PP
+\fB\-\-config\fR
+.RS 4
+dump your current xrandr setup
+.RE
+.PP
+\fB\-\-dry\-run\fR
+.RS 4
+don't change anything, only print the xrandr commands
+.RE
+.PP
+\fB\-\-debug\fR
+.RS 4
+enable verbose output
+.RE
+.PP
+\fB\-\-batch\fR
+.RS 4
+run autorandr for all users with active X11 sessions
+.RE
+.PP
+.SH "CONFIGURATION"
+To prevent a profile from being loaded, place a script called "block" in its
+directory. The script is evaluated before the screen setup is inspected, and
+in case of it returning a value of 0 the profile is skipped. This can be used
+to query the status of a docking station you are about to leave.
+.PP
+If no suitable profile can be identified, the current configuration is kept.
+To change this behaviour and switch to a fallback configuration, specify
+\fB\-\-default\fR <profile>.
+.PP
+Another script called "postswitch" can be placed in the directory
+~/.config/autorandr (or ~/.autorandr if you have an old installation) as well
+as in any profile directories: The scripts are executed after a mode switch
+has taken place and can notify window managers.
+.SH "VIRTUAL CONFIGURATIONS"
+The following virtual configurations are available:
+.TP
+common
+Clone all connected outputs at the largest common resolution
+.TP
+clone\-largest
+Clone all connected outputs with the largest resolution (scaled down if necessary)
+.TP
+horizontal
+Stack all connected outputs horizontally at their largest resolution
+.TP
+vertical
+Stack all connected outputs vertically at their largest resolution
+.SH "EXAMPLES"
+# save the current setup and make it the default
+.RE
+autorandr \-\-save mysetup
+.RE
+autorandr \-\-default mysetup
+.RE
+# put laptop in dock (or plug in additional monitors)
+.RE
+# run appropriate xrandr commands to fix things up
+.RE
+autorandr \-\-save docked_setup
+.RE
+# now remove the laptop from the dock, and settings return to mysetup
+.SH "AUTHORS"
+Autorandr is written and maintained by Phillip Berndt, with
+contributions by many others. See
+https://github.com/phillipberndt/autorandr for more information.
+.SH "SEE ALSO"
+.sp
+\fBxrandr(1)\fR
diff --git a/debian/autorandr.service b/debian/autorandr.service
new file mode 120000 (symlink)
index 0000000..d80831e
--- /dev/null
@@ -0,0 +1 @@
+../contrib/systemd/autorandr.service
\ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..e42a1c9
--- /dev/null
@@ -0,0 +1,21 @@
+autorandr (1.3-2) unstable; urgency=medium
+
+  * Add in support for missing config section in settings.ini from
+    upstream @e717470ee. (Closes: #884855)
+
+ -- Don Armstrong <don@debian.org>  Thu, 21 Dec 2017 09:09:25 -0800
+
+autorandr (1.3-1) unstable; urgency=medium
+
+  * New upstream release
+  * Cherrypick settings.ini patch from upstream
+  * Add missing license statements from debian/copyright
+
+ -- Don Armstrong <don@debian.org>  Mon, 11 Dec 2017 10:49:57 -0800
+
+autorandr (1.2-1) unstable; urgency=medium
+
+  * Initial release (Closes: #880373)
+  * Initial control description based on upstream packaging
+
+ -- Don Armstrong <don@debian.org>  Mon, 30 Oct 2017 14:07:26 -0700
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..d270d39
--- /dev/null
@@ -0,0 +1,19 @@
+Source: autorandr
+Section: x11
+Priority: optional
+Maintainer: Don Armstrong <don@debian.org>
+Build-Depends: debhelper (>= 9), dh-python, python-all, python-setuptools
+Standards-Version: 4.1.1
+Homepage: https://github.com/phillipberndt/autorandr
+# X-Python-Version: >= 2.6
+Vcs-Git: https://git.donarmstrong.com/deb_pkgs/autorandr.git
+Vcs-Browser: https://git.donarmstrong.com/deb_pkgs/autorandr.git
+
+Package: autorandr
+Architecture: all
+Depends: x11-xserver-utils, python, ${misc:Depends}
+Description: Automatically select a display configuration for connected devices
+ Autorandr is a script for managing xrandr configurations based on the
+ connected devices. It can be set up to automatically switch to a
+ stored configuration whenever a change in the configuration is
+ detected.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..a677c90
--- /dev/null
@@ -0,0 +1,62 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: autorandr
+Upstream-Contact: Phillip Berndt
+Source: https://github.com/phillipberndt/autorandr
+
+Files: *
+Copyright: 2015, 2016, Phillip Berndt
+License: GPL-3+
+
+Files: contrib/*
+Copyright: 2011, 2012, Maciej Sitarz
+License: GPL-3+
+
+Files: contrib/autorandr_nitrogen_wallpaper/*
+Copyright: 2015, Ondra Kepi KudlĂ­k, http:kepi.cz
+License: Expat
+
+Files: contrib/packaging/*
+Copyright: 2015, 2016, Phillip Berndt
+License: GPL-3+
+
+Files: debian/*
+Copyright: 2017, Don Armstrong
+License: GPL-3+
+
+License: GPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/GPL-3`
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/debian/fill.copyright.blanks.yml b/debian/fill.copyright.blanks.yml
new file mode 100644 (file)
index 0000000..0eacdff
--- /dev/null
@@ -0,0 +1,23 @@
+---
+debian:
+  copyright: 2017, Don Armstrong
+  license: GPL-3+
+contrib/bash_completion/autorandr:
+  copyright: 2011 Maciej Sitarz
+  license: GPL-3+
+contrib/pm-utils/40autorandr:
+  copyright: 2012 Maciej Sitarz
+  license: GPL-3+
+contrib/packaging/debian/*:
+  copyright: 2016, Phillip Berndt
+  license: GPL-3+
+Makefile:
+  copyright: 2016, Phillip Berndt
+  license: GPL-3+
+README.md:
+  copyright: 2016, Phillip Berndt
+  license: GPL-3+
+setup.py:
+  copyright: 2016, Phillip Berndt
+  license: GPL-3+
+  
\ No newline at end of file
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644 (file)
index 0000000..11a7acf
--- /dev/null
@@ -0,0 +1,6 @@
+[DEFAULT]
+debian-branch = debian/sid
+upstream-tag = %(version)s
+pristine-tar = 1
+upstream-branch = master
+upstream-vcs-tag = %(version)s
\ No newline at end of file
diff --git a/debian/manpages b/debian/manpages
new file mode 100644 (file)
index 0000000..7473890
--- /dev/null
@@ -0,0 +1 @@
+debian/autorandr.1
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..97c8b8a
--- /dev/null
@@ -0,0 +1 @@
+settings_ini
diff --git a/debian/patches/settings_ini b/debian/patches/settings_ini
new file mode 100644 (file)
index 0000000..2227962
--- /dev/null
@@ -0,0 +1,79 @@
+--- a/README.md
++++ b/README.md
+@@ -142,6 +142,10 @@
+ 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.
++
+ ## Hook scripts
+ Three more scripts can be placed in the configuration directory (as 
+--- a/autorandr.py
++++ b/autorandr.py
+@@ -42,6 +42,11 @@
+ from functools import reduce
+ from itertools import chain
++if sys.version_info.major == 2:
++    import ConfigParser as configparser
++else:
++    import configparser
++
+ try:
+     input = raw_input
+ except NameError:
+@@ -49,6 +54,7 @@
+ virtual_profiles = [
+     # (name, description, callback)
++    ("off", "Disable all outputs", None),
+     ("common", "Clone all connected outputs at the largest common resolution", None),
+     ("clone-largest", "Clone all connected outputs with the largest resolution (scaled down if necessary)", None),
+     ("horizontal", "Stack all connected outputs horizontally at their largest resolution", None),
+@@ -799,6 +805,11 @@
+                 configuration[output].options["transform"] = "{},0,{},0,{},{},0,0,1".format(scale, mov_x, scale, mov_y)
+             else:
+                 configuration[output].options["off"] = None
++    elif profile_name == "off":
++        for output in configuration:
++            for key in list(configuration[output].options.keys()):
++                del configuration[output].options[key]
++            configuration[output].options["off"] = None
+     return configuration
+@@ -1002,6 +1013,15 @@
+             X11_displays_done.add(display)
++def read_config(options, directory):
++    """Parse a configuration config.ini from directory and merge it into
++    the options dictionary"""
++    config = configparser.ConfigParser()
++    config.read(os.path.join(directory, "settings.ini"))
++    if config.has_section("config"):
++        for key, value in config.items("config"):
++            options.setdefault("--%s" % key, value)
++
+ def main(argv):
+     try:
+         opts, args = getopt.getopt(argv[1:], "s:r:l:d:cfh",
+@@ -1040,6 +1060,7 @@
+             if os.path.isdir(system_profile_path):
+                 profiles.update(load_profiles(system_profile_path))
+                 profile_symlinks.update(get_symlinks(system_profile_path))
++                read_config(options, system_profile_path)
+         # For the user's profiles, prefer the legacy ~/.autorandr if it already exists
+         # profile_path is also used later on to store configurations
+         profile_path = os.path.expanduser("~/.autorandr")
+@@ -1049,6 +1070,7 @@
+         if os.path.isdir(profile_path):
+             profiles.update(load_profiles(profile_path))
+             profile_symlinks.update(get_symlinks(profile_path))
++            read_config(options, profile_path)
+         # Sort by descending mtime
+         profiles = OrderedDict(sorted(profiles.items(), key=lambda x: -x[1]["config-mtime"]))
+     except Exception as e:
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..0bd5d57
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/make -f
+
+%:
+       dh $@
+
+override_dh_auto_build:
+       dh_auto_build -- UDEV_RULES_DIR=/lib/udev/rules.d \
+               SYSTEMD_UNIT_DIR=/lib/systemd/system \
+               BASH_COMPLETIONS_DIR=/usr/share/bash-completion/completions \
+               PM_SLEEPHOOKS_DIR=/etc/pm/sleep.d/
+
+override_dh_auto_install:
+       dh_auto_install -- UDEV_RULES_DIR=/lib/udev/rules.d \
+               SYSTEMD_UNIT_DIR=/lib/systemd/system \
+               BASH_COMPLETIONS_DIR=/usr/share/bash-completion/completions \
+               PM_SLEEPHOOKS_DIR=/etc/pm/sleep.d/
+       install -D -m 755 contrib/pm-utils/40autorandr debian/autorandr/etc/pm/sleep.d/40autorandr
+
+# we do not supply an init script
+override_dh_installinit:
+       dh_installinit -n
+
+override_dh_auto_clean:
+       dh_auto_clean
+       rm -rf .pybuild autorandr.egg-info
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644 (file)
index 0000000..cb61fa5
--- /dev/null
@@ -0,0 +1 @@
+extend-diff-ignore = "^[^/]*[.]egg-info/"
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..4ff6665
--- /dev/null
@@ -0,0 +1,3 @@
+version=4
+opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/autorandr-$1\.tar\.gz/ \
+  https://github.com/phillipberndt/autorandr/tags .*/?(\d+(?:\.\d)+)\.tar\.gz