summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/PKGBUILD23
-rw-r--r--openbox/openbox-kde-paths.patch22
-rw-r--r--openbox/py3.patch163
3 files changed, 200 insertions, 8 deletions
diff --git a/openbox/PKGBUILD b/openbox/PKGBUILD
index 5f20dbc..53b4ea6 100644
--- a/openbox/PKGBUILD
+++ b/openbox/PKGBUILD
@@ -1,4 +1,5 @@
-# Maintainer: Florian pritz <bluewind@xinu.at>
+# Maintainer: Chih-Hsuan Yen <yan12125@archlinux.org>
+# Contributor: Florian pritz <bluewind@xinu.at>
# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
@@ -7,7 +8,7 @@
_pkgname_=openbox
pkgname=openbox-custom
pkgver=3.6.1
-pkgrel=4
+pkgrel=6
pkgdesc='Highly configurable and lightweight X11 window manager'
arch=('x86_64')
url='http://openbox.org'
@@ -17,19 +18,24 @@ replaces=('openbox')
provides=('libobrender.so' 'openbox')
depends=('startup-notification' 'libxml2' 'libxinerama' 'libxrandr'
'libxcursor' 'pango' 'imlib2' 'librsvg' 'libsm')
+makedepends=('python')
optdepends=('plasma-workspace: for the KDE/Openbox xsession'
- 'python2-xdg: for the openbox-xdg-autostart script')
+ 'python-xdg: for the openbox-xdg-autostart script')
groups=('lxde' 'lxde-gtk3' 'lxqt')
backup=('etc/xdg/openbox/menu.xml' 'etc/xdg/openbox/rc.xml'
'etc/xdg/openbox/autostart' 'etc/xdg/openbox/environment')
source=(http://openbox.org/dist/openbox/$_pkgname_-$pkgver.tar.gz{,.asc}
openbox-3.5.0-title-matching.patch
openbox-3.5.0-which-2.20.patch
+ $_pkgname_-kde-paths.patch
+ py3.patch
openbox-multihead.patch)
md5sums=('b72794996c6a3ad94634727b95f9d204'
'SKIP'
'0a11d7149da210a31ef88f8a9c717711'
'7ca3b5244bb092d46f5bcf1e2bdf4a18'
+ 'f7df0df8c1d2da279e48d0fdc984fb71'
+ '67ae9735c283637ef6d11b17a3f81953'
'SKIP')
validpgpkeys=(4B71379A9D5263D112A85620A5A4E99C711D3B61)
@@ -38,10 +44,14 @@ prepare() {
patch -Np1 -i "$srcdir"/openbox-3.5.0-title-matching.patch # OB#5277
patch -Np1 -i "$srcdir"/openbox-3.5.0-which-2.20.patch # FS#11455
+ patch -Np1 -i "$srcdir"/$_pkgname_-kde-paths.patch # FS#64139
+ # modified from https://github.com/troycurtisjr/openbox/commit/acfbbc4ea40932f183617bb7006700140fe5f61e
+ patch -Np1 -i "$srcdir"/py3.patch
+
patch -Np1 -i "$srcdir"/openbox-multihead.patch
- sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \
- data/autostart/openbox-xdg-autostart
+ # py3.patch modifies configure.ac
+ autoreconf -ifv
}
build() {
@@ -63,7 +73,4 @@ package() {
"$pkgdir"/usr/share/gnome{,-session} \
"$pkgdir"/usr/share/man/man1/openbox-gnome-session.1 \
"$pkgdir"/usr/share/xsessions/openbox-gnome.desktop
-
- sed -i 's:startkde:/usr/bin/\0:' \
- "$pkgdir"/usr/share/xsessions/openbox-kde.desktop
}
diff --git a/openbox/openbox-kde-paths.patch b/openbox/openbox-kde-paths.patch
new file mode 100644
index 0000000..249af1f
--- /dev/null
+++ b/openbox/openbox-kde-paths.patch
@@ -0,0 +1,22 @@
+diff --git a/data/xsession/openbox-kde-session.in b/data/xsession/openbox-kde-session.in
+index 35722796..ee91c16f 100644
+--- a/data/xsession/openbox-kde-session.in
++++ b/data/xsession/openbox-kde-session.in
+@@ -17,4 +17,4 @@ xprop -root -remove _NET_NUMBER_OF_DESKTOPS \
+
+ # Run KDE with Openbox as its window manager
+ export KDEWM="@bindir@/openbox"
+-exec startkde "$@"
++exec /usr/bin/startplasma-x11 "$@"
+diff --git a/data/xsession/openbox-kde.desktop.in b/data/xsession/openbox-kde.desktop.in
+index bc78a97c..a9bcc219 100644
+--- a/data/xsession/openbox-kde.desktop.in
++++ b/data/xsession/openbox-kde.desktop.in
+@@ -2,6 +2,6 @@
+ Name=KDE/Openbox
+ Comment=Use the Openbox window manager inside of the K Desktop Environment
+ Exec=@bindir@/openbox-kde-session
+-TryExec=startkde
++TryExec=/usr/bin/startplasma-x11
+ Icon=openbox
+ Type=Application
diff --git a/openbox/py3.patch b/openbox/py3.patch
new file mode 100644
index 0000000..60c11dc
--- /dev/null
+++ b/openbox/py3.patch
@@ -0,0 +1,163 @@
+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())