164 lines
6.1 KiB
Diff
164 lines
6.1 KiB
Diff
|
From acfbbc4ea40932f183617bb7006700140fe5f61e Mon Sep 17 00:00:00 2001
|
||
|
From: Troy Curtis Jr <troycurtisjr@gmail.com>
|
||
|
Date: Wed, 13 Sep 2017 21:59:48 -0500
|
||
|
Subject: [PATCH] Add python3 support to openbox-xdg-autostart.
|
||
|
|
||
|
Updated syntax in openbox-xdg-autostart to support both python2 and
|
||
|
python3.
|
||
|
|
||
|
Added a configure substitution to set the choosen python at build time.
|
||
|
|
||
|
https://bugzilla.icculus.org/show_bug.cgi?id=6444
|
||
|
---
|
||
|
.gitignore | 1 +
|
||
|
configure.ac | 3 +
|
||
|
...xdg-autostart => openbox-xdg-autostart.in} | 70 +++++++++----------
|
||
|
3 files changed, 38 insertions(+), 36 deletions(-)
|
||
|
rename data/autostart/{openbox-xdg-autostart => openbox-xdg-autostart.in} (77%)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index ca1602670..9a31e9845 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -103,6 +103,8 @@ AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h grp.h locale.h pwd.h)
|
||
|
AC_CHECK_HEADERS(signal.h string.h stdio.h stdlib.h unistd.h sys/stat.h)
|
||
|
AC_CHECK_HEADERS(sys/select.h sys/socket.h sys/time.h sys/types.h sys/wait.h)
|
||
|
|
||
|
+AM_PATH_PYTHON([2],,)
|
||
|
+
|
||
|
AC_PATH_PROG([SED], [sed], [no])
|
||
|
if test "$SED" = "no"; then
|
||
|
AC_MSG_ERROR([The program "sed" is not available. This program is required to build Openbox.])
|
||
|
@@ -259,6 +261,7 @@ AC_CONFIG_FILES([
|
||
|
obrender/version.h
|
||
|
obt/version.h
|
||
|
version.h
|
||
|
+ data/autostart/openbox-xdg-autostart
|
||
|
])
|
||
|
AC_CONFIG_COMMANDS([doc],
|
||
|
[test -d doc || mkdir doc])
|
||
|
diff --git a/data/autostart/openbox-xdg-autostart b/data/autostart/openbox-xdg-autostart.in
|
||
|
similarity index 77%
|
||
|
rename from data/autostart/openbox-xdg-autostart
|
||
|
rename to data/autostart/openbox-xdg-autostart.in
|
||
|
index 04a17a199..3c365b112 100755
|
||
|
--- a/data/autostart/openbox-xdg-autostart
|
||
|
+++ b/data/autostart/openbox-xdg-autostart.in
|
||
|
@@ -1,4 +1,4 @@
|
||
|
-#!/usr/bin/env python
|
||
|
+#!@PYTHON@
|
||
|
|
||
|
# openbox-xdg-autostart runs things based on the XDG autostart specification
|
||
|
# Copyright (C) 2008 Dana Jansens
|
||
|
@@ -28,9 +28,7 @@ try:
|
||
|
from xdg.DesktopEntry import DesktopEntry
|
||
|
from xdg.Exceptions import ParsingError
|
||
|
except ImportError:
|
||
|
- print
|
||
|
- print >>sys.stderr, "ERROR:", ME, "requires PyXDG to be installed"
|
||
|
- print
|
||
|
+ sys.stderr.write("\nERROR: %s requires PyXDG to be installed\n" % ME)
|
||
|
sys.exit(1)
|
||
|
|
||
|
def main(argv=sys.argv):
|
||
|
@@ -51,7 +49,7 @@ def main(argv=sys.argv):
|
||
|
try:
|
||
|
autofile = AutostartFile(path)
|
||
|
except ParsingError:
|
||
|
- print "Invalid .desktop file: " + path
|
||
|
+ print("Invalid .desktop file: " + path)
|
||
|
else:
|
||
|
if not autofile in files:
|
||
|
files.append(autofile)
|
||
|
@@ -99,9 +97,9 @@ class AutostartFile:
|
||
|
|
||
|
def _alert(self, str, info=False):
|
||
|
if info:
|
||
|
- print "\t ", str
|
||
|
+ print("\t ", str)
|
||
|
else:
|
||
|
- print "\t*", str
|
||
|
+ print("\t*", str)
|
||
|
|
||
|
def _showInEnvironment(self, envs, verbose=False):
|
||
|
default = not self.de.getOnlyShowIn()
|
||
|
@@ -146,14 +144,14 @@ class AutostartFile:
|
||
|
|
||
|
def display(self, envs):
|
||
|
if self._shouldRun(envs):
|
||
|
- print "[*] " + self.de.getName()
|
||
|
+ print("[*] " + self.de.getName())
|
||
|
else:
|
||
|
- print "[ ] " + self.de.getName()
|
||
|
+ print("[ ] " + self.de.getName())
|
||
|
self._alert("File: " + self.path, info=True)
|
||
|
if self.de.getExec():
|
||
|
self._alert("Executes: " + self.de.getExec(), info=True)
|
||
|
self._shouldRun(envs, True)
|
||
|
- print
|
||
|
+ print()
|
||
|
|
||
|
def run(self, envs):
|
||
|
here = os.getcwd()
|
||
|
@@ -165,34 +163,34 @@ class AutostartFile:
|
||
|
os.chdir(here)
|
||
|
|
||
|
def show_help():
|
||
|
- print "Usage:", ME, "[OPTION]... [ENVIRONMENT]..."
|
||
|
- print
|
||
|
- print "This tool will run xdg autostart .desktop files"
|
||
|
- print
|
||
|
- print "OPTIONS"
|
||
|
- print " --list Show a list of the files which would be run"
|
||
|
- print " Files which would be run are marked with an asterix"
|
||
|
- print " symbol [*]. For files which would not be run,"
|
||
|
- print " information is given for why they are excluded"
|
||
|
- print " --help Show this help and exit"
|
||
|
- print " --version Show version and copyright information"
|
||
|
- print
|
||
|
- print "ENVIRONMENT specifies a list of environments for which to run autostart"
|
||
|
- print "applications. If none are specified, only applications which do not "
|
||
|
- print "limit themselves to certain environments will be run."
|
||
|
- print
|
||
|
- print "ENVIRONMENT can be one or more of:"
|
||
|
- print " GNOME Gnome Desktop"
|
||
|
- print " KDE KDE Desktop"
|
||
|
- print " ROX ROX Desktop"
|
||
|
- print " XFCE XFCE Desktop"
|
||
|
- print " Old Legacy systems"
|
||
|
- print
|
||
|
+ print("Usage:", ME, "[OPTION]... [ENVIRONMENT]...")
|
||
|
+ print()
|
||
|
+ print("This tool will run xdg autostart .desktop files")
|
||
|
+ print()
|
||
|
+ print("OPTIONS")
|
||
|
+ print(" --list Show a list of the files which would be run")
|
||
|
+ print(" Files which would be run are marked with an asterix")
|
||
|
+ print(" symbol [*]. For files which would not be run,")
|
||
|
+ print(" information is given for why they are excluded")
|
||
|
+ print(" --help Show this help and exit")
|
||
|
+ print(" --version Show version and copyright information")
|
||
|
+ print()
|
||
|
+ print("ENVIRONMENT specifies a list of environments for which to run autostart")
|
||
|
+ print("applications. If none are specified, only applications which do not ")
|
||
|
+ print("limit themselves to certain environments will be run.")
|
||
|
+ print()
|
||
|
+ print("ENVIRONMENT can be one or more of:")
|
||
|
+ print(" GNOME Gnome Desktop")
|
||
|
+ print(" KDE KDE Desktop")
|
||
|
+ print(" ROX ROX Desktop")
|
||
|
+ print(" XFCE XFCE Desktop")
|
||
|
+ print(" Old Legacy systems")
|
||
|
+ print()
|
||
|
|
||
|
def show_version():
|
||
|
- print ME, VERSION
|
||
|
- print "Copyright (c) 2008 Dana Jansens"
|
||
|
- print
|
||
|
+ print(ME, VERSION)
|
||
|
+ print("Copyright (c) 2008 Dana Jansens")
|
||
|
+ print()
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
sys.exit(main())
|