from itertools import chain
from collections import OrderedDict
+import posix
+
+
virtual_profiles = [
# (name, description, callback)
("common", "Clone all connected outputs at the largest common resolution", None),
try:
options = dict(getopt.getopt(argv[1:], "s:l:d:cfh", [ "dry-run", "change", "default=", "save=", "load=", "force", "fingerprint", "config", "help" ])[0])
except getopt.GetoptError as e:
- print(str(e))
- options = { "--help": True }
+ print("Failed to parse options: {0}.\n"
+ "Use --help to get usage information.".format(str(e)),
+ file=sys.stderr)
+ sys.exit(posix.EX_USAGE)
profiles = {}
try:
try:
main(sys.argv)
except AutorandrException as e:
- print(file=sys.stderr)
print(e, file=sys.stderr)
sys.exit(1)
except Exception as e:
- trace = sys.exc_info()[2]
- while trace.tb_next:
- trace = trace.tb_next
- print("\nUnhandled exception in line %d. Please report this as a bug:\n %s" % (trace.tb_lineno, "\n ".join(str(e).split("\n")),), file=sys.stderr)
- sys.exit(1)
+ if not len(str(e)): # BdbQuit
+ print("Exception: {0}".format(e.__class__.__name__))
+ sys.exit(2)
+
+ print("Unhandled exception ({0}). Please report this as a bug.".format(e), file=sys.stderr)
+ raise