Compare commits

...
Sign in to create a new pull request.

81 commits

Author SHA1 Message Date
Fedora Release Engineering
c15289f256 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 10:24:09 +00:00
Fedora Release Engineering
ecf1c2a202 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 22:53:21 +00:00
Fedora Release Engineering
519c7b74d0 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 23:33:12 +00:00
Fedora Release Engineering
d7cea7556d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 21:35:38 +00:00
Fedora Release Engineering
df30a3ba8b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 20:47:12 +00:00
Software Management Team
ec4f1c94fa Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:48 +02:00
Fedora Release Engineering
da176870d3 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 11:08:23 +00:00
Fedora Release Engineering
fac6e6fd66 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 11:05:14 +00:00
Miroslav Lichvar
bb69724b82 convert license tag to SPDX 2023-10-05 16:27:22 +02:00
Fedora Release Engineering
fcf2dcdb06 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 17:58:28 +00:00
Leigh Scott
9ebd99a8a9 Rebuild fo new imlib2 2023-06-13 16:57:34 +01:00
Miroslav Lichvar
a0c5fd8179 3.6.1-22 2023-04-27 18:09:09 +02:00
Miroslav Lichvar
02cd56be9f fix crash with new glib (#2178299) 2023-04-27 18:09:05 +02:00
Fedora Release Engineering
4f59b89887 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 22:44:57 +00:00
Fedora Release Engineering
538b8a9951 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 02:00:05 +00:00
Fedora Release Engineering
e2e012a900 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 22:18:05 +00:00
Fedora Release Engineering
dc5fdda26f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 17:10:08 +00:00
Fedora Release Engineering
5ebdc9f36b - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 22:26:56 +00:00
Tom Stellard
9505fcee96 Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2021-01-21 10:34:10 +01:00
Tom Stellard
56d1937abd Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 06:28:26 +00:00
Miroslav Lichvar
515c4e82f7 3.6.1-16 2020-11-09 10:53:19 +01:00
Miroslav Lichvar
7ab6491db4 drop obsolete KDE4 requirement 2020-11-09 10:52:40 +01:00
Miroslav Lichvar
6686f2eda7 update XDG menu prefix in KDE session script (#1851755) 2020-11-09 10:45:05 +01:00
Fedora Release Engineering
22c966a6ce - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 12:39:13 +00:00
Fedora Release Engineering
0c05a8d893 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 20:12:38 +00:00
Miroslav Lichvar
9ab2ba9e5b 3.6.1-13 2019-10-09 09:53:45 +02:00
Miroslav Lichvar
16993a0cba remove obmenu from description 2019-08-07 16:27:42 +02:00
Fedora Release Engineering
d264c72005 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 23:22:40 +00:00
Fedora Release Engineering
f015c5d0aa - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 17:19:24 +00:00
a0d3e620d3 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:23 +01:00
Fedora Release Engineering
45a5edf5db - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 15:03:04 +00:00
Miroslav Lichvar
3799f579f5 3.6.1-9 2018-04-17 16:47:17 +02:00
Miroslav Lichvar
1f78fc3b0a fix pyxdg requirement 2018-04-17 16:47:02 +02:00
Miroslav Lichvar
79bc53b349 3.6.1-8 2018-04-17 16:02:07 +02:00
Miroslav Lichvar
aa3375fc38 switch packaged python scripts to python3 2018-04-17 16:02:01 +02:00
Miroslav Lichvar
570af1dcf7 3.6.1-7 2018-02-26 16:20:15 +01:00
Miroslav Lichvar
0a17192029 add gcc to build requirements 2018-02-26 16:18:12 +01:00
Miroslav Lichvar
f803053bff use macro for ldconfig scriptlets 2018-02-26 16:17:49 +01:00
Miroslav Lichvar
bed7f45659 build setlayout with hardening LDFLAGS (#1548830) 2018-02-26 16:13:00 +01:00
Fedora Release Engineering
261ce9a6da - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 09:23:03 +00:00
Fedora Release Engineering
8eaa2c2438 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 04:29:27 +00:00
Fedora Release Engineering
c03e678995 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 01:44:20 +00:00
Fedora Release Engineering
2233aa4021 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 00:48:26 +00:00
Fedora Release Engineering
4c96147b3d - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 11:24:32 +00:00
Miroslav Lichvar
7048fb346f 3.6.1-1 2015-07-02 10:55:26 +02:00
Miroslav Lichvar
7b5e7ccbe1 update to 3.6.1 2015-07-02 10:51:57 +02:00
Miroslav Lichvar
f69ce204b4 3.6-3 2015-06-25 17:40:08 +02:00
Miroslav Lichvar
3fbd74b7d7 restore libobrender compatibility (#1231693) 2015-06-25 17:39:56 +02:00
Dennis Gilmore
6b93040490 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 23:53:45 +00:00
Miroslav Lichvar
83bc9c5f70 3.6-1 2015-06-01 15:50:24 +02:00
Miroslav Lichvar
1747e5e9bb update to 3.6 2015-06-01 15:50:12 +02:00
Rex Dieter
9d417f62f6 kde: fix deps for plasma5 2015-03-05 12:04:18 -06:00
cc4327b623 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 13:45:20 +00:00
Miroslav Lichvar
88cb713f3b 3.5.2-5 2014-07-07 15:08:47 +02:00
Miroslav Lichvar
371635a8d9 drop gnome subpackages (#964977) 2014-07-07 15:05:04 +02:00
Miroslav Lichvar
d3b0bc3952 fix typo in description (#1064959) 2014-06-09 16:07:52 +02:00
Dennis Gilmore
f3bc2562b0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 11:29:15 -05:00
Christoph Wickert
45c55fe807 gdm-control depends on gdm, not on gnome-panel (#964977) 2013-12-10 17:12:59 +01:00
Miroslav Lichvar
7b4fc14d35 3.5.2-2 2013-08-15 11:27:19 +02:00
Miroslav Lichvar
74391687cd Add workaround for yum to install correct libpng-devel in build 2013-08-15 11:26:20 +02:00
Miroslav Lichvar
4bf12d3b88 3.5.2-1 2013-08-13 14:36:24 +02:00
Miroslav Lichvar
52fa9ccb0d Fix weekdays in changelog 2013-08-13 14:34:40 +02:00
Miroslav Lichvar
3c940d070c Update to 3.5.2 2013-08-13 14:33:47 +02:00
Dennis Gilmore
528ccb92be - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-03 10:31:03 -05:00
Miroslav Lichvar
441ff2e395 3.5.0-11.20121001git782b28 2013-03-11 16:40:08 +01:00
Miroslav Lichvar
17ca91fe7b Make gnome and kde subpackages noarch 2013-03-11 16:40:08 +01:00
Miroslav Lichvar
4edb1fd18e Update xdg-menu to work with latest gtk3 (#914830) 2013-03-11 16:40:08 +01:00
Miroslav Lichvar
60314f81b9 Make some dependencies arch-specific 2013-03-11 16:40:08 +01:00
Miroslav Lichvar
186e4dd22b Update to git snapshot 20121001git782b28 2013-03-11 16:40:07 +01:00
Dennis Gilmore
3b5971e640 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 03:19:59 -06:00
Miroslav Lichvar
a9366a8e49 3.5.0-9 2012-11-13 17:12:17 +01:00
Miroslav Lichvar
d30e66fdd5 Fix tab/spaces use 2012-11-13 17:12:17 +01:00
Miroslav Lichvar
bf0c663419 Remove unnecessary macros 2012-11-13 17:12:17 +01:00
Miroslav Lichvar
5bb02a8fbb Update xdg-menu to work with latest pyxdg (#874633) 2012-11-13 17:12:17 +01:00
Christoph Wickert
85a35d2d29 Use upstream's gnome-session 3 fixes instead of ours 2012-09-28 19:36:29 +02:00
Christoph Wickert
6ae4d9c11e Require redhat-menus (#860997) 2012-09-28 18:11:21 +02:00
Dennis Gilmore
632a5abb9b - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-20 01:44:16 -05:00
Christoph Wickert
27ac831049 Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages (#827800)
- Make sub-packages for gdm-control and gnome-panel-control (#750056)
2012-06-04 00:57:45 +02:00
Miroslav Lichvar
1629d4a4f9 3.5.0-5 2012-03-30 15:18:28 +02:00
Miroslav Lichvar
abc7304b39 increase doubleclick timeout (#727995) 2012-03-30 15:18:28 +02:00
Edward Sheldrake
27345f94e7 fix crash in xdg-menu (#799663) 2012-03-30 15:18:20 +02:00
10 changed files with 398 additions and 122 deletions

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
/setlayout.c
/openbox-3.5.0.tar.gz
/openbox-3.6.1.tar.xz

View file

@ -1,21 +0,0 @@
diff -up openbox-3.4.11.2/data/xsession/openbox-gnome-session.in.gnome openbox-3.4.11.2/data/xsession/openbox-gnome-session.in
--- openbox-3.4.11.2/data/xsession/openbox-gnome-session.in.gnome 2010-03-14 15:40:37.000000000 +0100
+++ openbox-3.4.11.2/data/xsession/openbox-gnome-session.in 2011-01-14 17:15:18.738710496 +0100
@@ -24,7 +24,7 @@ if test $MAJOR -lt 2 || (test $MAJOR = 2
# old gnome-session was easy to work with
export WINDOW_MANAGER="@bindir@/openbox"
exec gnome-session --choose-session=openbox-session "$@"
-else
+elif test $MAJOR = 2 && test $MINOR -lt 91; then
# new gnome-session requires openbox to be set in gconf and an
# openbox.desktop to be installed in the applications directory
@@ -54,6 +54,8 @@ else
# run GNOME/Openbox
exec gnome-session --default-session-key $SPATH/openbox_session "$@"
+else
+ exec gnome-session --session=gnome-openbox "$@"
fi

36
openbox-calc-layer.patch Normal file
View file

@ -0,0 +1,36 @@
From https://bugzilla.icculus.org/show_bug.cgi?id=6669#c2
diff --git a/openbox/client.c b/openbox/client.c
index 3ff278ae..ac4ff827 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -2702,9 +2702,10 @@ static void client_calc_layer_internal(ObClient *self)
void client_calc_layer(ObClient *self)
{
GList *it;
+ GList *list = g_list_copy(stacking_list);
/* skip over stuff above fullscreen layer */
- for (it = stacking_list; it; it = g_list_next(it))
+ for (it = list; it; it = g_list_next(it))
if (window_layer(it->data) <= OB_STACKING_LAYER_FULLSCREEN) break;
/* find the windows in the fullscreen layer, and mark them not-visited */
@@ -2717,7 +2718,7 @@ void client_calc_layer(ObClient *self)
client_calc_layer_internal(self);
/* skip over stuff above fullscreen layer */
- for (it = stacking_list; it; it = g_list_next(it))
+ for (it = list; it; it = g_list_next(it))
if (window_layer(it->data) <= OB_STACKING_LAYER_FULLSCREEN) break;
/* now recalc any windows in the fullscreen layer which have not
@@ -2728,6 +2729,8 @@ void client_calc_layer(ObClient *self)
!WINDOW_AS_CLIENT(it->data)->visited)
client_calc_layer_internal(it->data);
}
+
+ g_list_free(it);
}
gboolean client_should_show(ObClient *self)

12
openbox-kf5menu.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up openbox-3.6.1/data/xsession/openbox-kde-session.in.kf5menu openbox-3.6.1/data/xsession/openbox-kde-session.in
--- openbox-3.6.1/data/xsession/openbox-kde-session.in.kf5menu 2011-10-16 18:13:18.000000000 +0200
+++ openbox-3.6.1/data/xsession/openbox-kde-session.in 2020-11-09 10:42:43.755217411 +0100
@@ -8,7 +8,7 @@ if test -n "$1"; then
fi
# Set the prefix for the menu layout to use
-export XDG_MENU_PREFIX="kde-4-"
+export XDG_MENU_PREFIX="kf5-"
# Clean up after GDM
xprop -root -remove _NET_NUMBER_OF_DESKTOPS \

113
openbox-python3.patch Normal file
View file

@ -0,0 +1,113 @@
diff -up openbox-3.6.1/data/autostart/openbox-xdg-autostart.python3 openbox-3.6.1/data/autostart/openbox-xdg-autostart
--- openbox-3.6.1/data/autostart/openbox-xdg-autostart.python3 2013-04-17 14:27:27.000000000 +0200
+++ openbox-3.6.1/data/autostart/openbox-xdg-autostart 2018-04-17 15:52:23.849765020 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# openbox-xdg-autostart runs things based on the XDG autostart specification
# Copyright (C) 2008 Dana Jansens
@@ -28,9 +28,9 @@ 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
+ print()
+ print("ERROR:", ME, "requires PyXDG to be installed", file=sys.stderr)
+ print()
sys.exit(1)
def main(argv=sys.argv):
@@ -51,7 +51,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 +99,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,9 +146,9 @@ 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)
@@ -165,33 +165,33 @@ 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("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(ME, VERSION)
+ print("Copyright (c) 2008 Dana Jansens")
print
if __name__ == "__main__":

View file

@ -1,9 +0,0 @@
[Desktop Entry]
Type=Application
Name=Openbox
Exec=openbox
Icon=openbox
NoDisplay=true
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=true

View file

@ -1,5 +0,0 @@
[GNOME Session]
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;notifications;
DefaultProvider-windowmanager=openbox
DefaultProvider-notifications=notification-daemon

View file

@ -1,28 +1,30 @@
Name: openbox
Version: 3.5.0
Release: 4%{?dist}
Version: 3.6.1
Release: 31%{?dist}
Summary: A highly configurable and standards-compliant X11 window manager
Group: User Interface/Desktops
License: GPLv2+
License: GPL-2.0-or-later
URL: http://openbox.org
Source0: http://openbox.org/releases/%{name}-%{version}.tar.gz
Source0: http://openbox.org/dist/%{name}/%{name}-%{version}.tar.xz
Source1: http://icculus.org/openbox/tools/setlayout.c
Source2: xdg-menu
Source3: menu.xml
Source4: openbox.desktop
Source5: terminals.menu
Source6: openbox.gnome-session
Source4: terminals.menu
Patch1: openbox-python3.patch
Patch2: openbox-kf5menu.patch
Patch3: openbox-calc-layer.patch
Patch2: openbox-3.4.11.2-gnomesession.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# required by xdg-menu and xdg-autostart scripts
Requires: pyxdg
Requires: python3-pyxdg
# used by xdg-menu for icon support (optional)
Suggests: python3-gobject
# as discussed in https://bugzilla.redhat.com/860997
Requires: redhat-menus
BuildRequires: make
BuildRequires: gcc
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: pango-devel
@ -33,8 +35,15 @@ BuildRequires: libXt-devel
BuildRequires: libXrandr-devel
BuildRequires: libXinerama-devel
BuildRequires: imlib2-devel
# workaround for yum to install correct libpng-devel
BuildRequires: libpng-devel
Provides: firstboot(windowmanager)
# gdm-control, gnome-control-center and openbox-gnome were removed in 3.5.2-5
Obsoletes: gdm-control < 3.5.2-5
Obsoletes: gnome-panel-control < 3.5.2-5
Obsoletes: %{name}-gnome < 3.5.2-5
%description
Openbox is a window manager designed explicity for standards-compliance and
speed. It is fast, lightweight, and heavily configurable (using XML for its
@ -45,14 +54,12 @@ actions, multi-head/Xinerama support, and dynamically generated "pipe menus."
For a full list of the FreeDesktop.org standards with which it is compliant,
please see the COMPLIANCE file in the included documentation of this package.
For a graphical configuration editor, you'll need to install the obconf
package. For a graphical menu editor, you'll need to install the obmenu
package.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: pango-devel
Requires: libxml2-devel
@ -65,28 +72,16 @@ developing applications that use %{name}.
%package libs
Summary: Shared libraries for %{name}
Group: Development/Libraries
%description libs
The %{name}-libs package contains shared libraries used by %{name}.
%package gnome
Summary: GNOME integration for %{name}
Group: User Interface/Desktops
Requires: %{name} = %{version}-%{release}
Requires: gnome-session
%description gnome
The %{name}-gnome package contains the files needed for using %{name} inside a
GNOME session.
%package kde
Summary: KDE integration for %{name}
Group: User Interface/Desktops
Requires: %{name} = %{version}-%{release}
Requires: kdebase-workspace
Requires: plasma-workspace
BuildArch: noarch
%description kde
The %{name}-kde package contains the files needed for using %{name} inside a
@ -95,7 +90,9 @@ KDE session.
%prep
%setup -q
%patch2 -p1 -b .gnome
%patch -P1 -p1 -b .python3
%patch -P2 -p1 -b .kf5menu
%patch -P3 -p1 -b .calc-layer
%build
@ -104,38 +101,42 @@ KDE session.
## Fix RPATH hardcoding.
sed -ie 's|^hardcode_libdir_flag_spec=.*$|hardcode_libdir_flag_spec=""|g' libtool
sed -ie 's|^runpath_var=LD_RUN_PATH$|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
%make_build
gcc %{optflags} -o setlayout %{SOURCE1} -lX11
gcc $RPM_OPT_FLAGS $RPM_LD_FLAGS -o setlayout %{SOURCE1} -lX11
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%make_install
install setlayout %{buildroot}%{_bindir}
install -p %{SOURCE2} %{buildroot}%{_libexecdir}/openbox-xdg-menu
sed 's|_LIBEXECDIR_|%{_libexecdir}|g' < %{SOURCE3} \
> %{buildroot}%{_sysconfdir}/xdg/%{name}/menu.xml
desktop-file-install --vendor="" \
--dir=%{buildroot}%{_datadir}/applications \
%{SOURCE4}
install -m644 -p %{SOURCE4} %{buildroot}%{_sysconfdir}/xdg/%{name}/terminals.menu
# 'make install' misses these two, so we install them manually
install -m644 -D data/gnome-session/openbox-gnome.session \
%{buildroot}%{_datadir}/gnome-session/sessions/openbox-gnome.session
install -m644 -D data/gnome-session/openbox-gnome-fallback.session \
%{buildroot}%{_datadir}/gnome-session/sessions/openbox-gnome-fallback.session
# remove unpackaged files
pushd %{buildroot}
rm ./%{_bindir}/{gdm-control,gnome-panel-control,%{name}-gnome-session}
rm ./%{_datadir}/xsessions/%{name}-gnome.desktop
rm ./%{_datadir}/gnome/wm-properties/openbox.desktop
rm ./%{_datadir}/gnome-session/sessions/openbox-gnome*.session
rm ./%{_mandir}/man1/%{name}-gnome-session*.1*
popd
install -m644 -p %{SOURCE5} %{buildroot}%{_sysconfdir}/xdg/%{name}/terminals.menu
install -m644 -D %{SOURCE6} \
%{buildroot}%{_datadir}/gnome-session/sessions/gnome-openbox.session
%find_lang %{name}
rm -f %{buildroot}%{_libdir}/*.la
rm -rf %{buildroot}%{_datadir}/doc/%{name}
%clean
rm -rf %{buildroot}
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS CHANGELOG COMPLIANCE COPYING README
%doc data/*.xsd data/menu.xml doc/rc-mouse-focus.xml
%dir %{_sysconfdir}/xdg/%{name}/
@ -154,42 +155,182 @@ rm -rf %{buildroot}
%{_mandir}/man1/obxprop.1*
%files libs
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libobrender.so.*
%{_libdir}/libobt.so.*
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}/
%{_libdir}/libobrender.so
%{_libdir}/libobt.so
%{_libdir}/pkgconfig/*.pc
%files gnome
%defattr(-,root,root,-)
%{_bindir}/gnome-panel-control
%{_bindir}/gdm-control
%{_bindir}/%{name}-gnome-session
%{_datadir}/xsessions/%{name}-gnome.desktop
%{_datadir}/gnome/wm-properties/openbox.desktop
%{_datadir}/gnome-session/sessions/gnome-openbox.session
%{_mandir}/man1/%{name}-gnome-session*.1*
%files kde
%defattr(-,root,root,-)
%{_bindir}/%{name}-kde-session
%{_datadir}/xsessions/%{name}-kde.desktop
%{_mandir}/man1/%{name}-kde-session*.1*
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%ldconfig_scriptlets libs
%changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Leigh Scott <leigh123linux@gmail.com> - 3.6.1-23
- Rebuild fo new imlib2
* Thu Apr 27 2023 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-22
- fix crash with new glib (#2178299)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Nov 09 2020 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-16
- update XDG menu prefix in KDE session script (#1851755)
- drop obsolete KDE4 requirement
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Oct 09 2019 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-13
- remove obmenu from description
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Apr 17 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-9
- fix pyxdg requirement
* Tue Apr 17 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-8
- switch packaged python scripts to python3
* Mon Feb 26 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-7
- build setlayout with hardening LDFLAGS (#1548830)
- use macro for ldconfig scriptlets
- add gcc to build requirements
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jul 02 2015 Miroslav Lichvar <mlichvar@redhat.com> - 3.6.1-1
- update to 3.6.1
* Thu Jun 25 2015 Miroslav Lichvar <mlichvar@redhat.com> - 3.6-3
- restore libobrender compatibility (#1231693)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jun 01 2015 Miroslav Lichvar <mlichvar@redhat.com> - 3.6-1
- update to 3.6
* Thu Mar 05 2015 Rex Dieter <rdieter@fedoraproject.org> 3.5.2-7
- -kde: fix deps for plasma5
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Jul 07 2014 Miroslav Lichvar <mlichvar@redhat.com> - 3.5.2-5
- drop gnome subpackages (#964977)
- fix typo in description (#1064959)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue Dec 10 2013 Christoph Wickert <cwickert@fedoraproject.org> - 3.5.2-3
- gdm-control depends on gdm, not on gnome-panel (#964977)
* Thu Aug 15 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.5.2-2
- Add workaround for yum to install correct libpng-devel in build
* Tue Aug 13 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.5.2-1
- Update to 3.5.2
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-12.20121001git782b28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Mar 11 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.5.0-11.20121001git782b28
- Update to git snapshot 20121001git782b28
- Update xdg-menu to work with latest gtk3 (#914830)
- Make some dependencies arch-specific
- Make gnome and kde subpackages noarch
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Nov 13 2012 Miroslav Lichvar <mlichvar@redhat.com> - 3.5.0-9
- Update xdg-menu to work with latest pyxdg (#874633)
- Remove unnecessary macros
* Fri Sep 28 2012 Christoph Wickert <cwickert@fedoraproject.org> - 3.5.0-8
- Require redhat-menus (#860997)
- Use upstream's gnome-session 3 fixes instead of ours
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sun Jun 03 2012 Christoph Wickert <cwickert@fedoraproject.org> - 3.5.0-6
- Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages (#827800)
- Make sub-packages for gdm-control and gnome-panel-control (#750056)
* Fri Mar 30 2012 Miroslav Lichvar <mlichvar@redhat.com> - 3.5.0-5
- increase doubleclick timeout (#727995)
- fix another crash in xdg-menu (#799663)
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
@ -359,7 +500,7 @@ rm -rf %{buildroot}
- Allow building with startup-notification as an rpmbuild option (though it is
disabled by default as recommended by upstream).
* Sun Sep 09 2006 Peter Gordon <peter@thecodergeek.com> - 3.3.1-1
* Sat Sep 09 2006 Peter Gordon <peter@thecodergeek.com> - 3.3.1-1
- Update to new 3.3.1 from upstream
* Sun Aug 27 2006 Peter Gordon <peter@thecodergeek.com> - 3.3-3

View file

@ -1,2 +1,2 @@
16ca0d290cae2f4c16a35e9cdfb6f503 setlayout.c
00441b53cf14c03566c8e82643544ff9 openbox-3.5.0.tar.gz
46bf5f1edda0eda0d9e824b585988be9 openbox-3.6.1.tar.xz

View file

@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python3
#
# Copyright (C) 2008 Red Hat, Inc.
#
@ -26,6 +26,8 @@ from xml.sax.saxutils import escape
icons = True
try:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
except ImportError:
icons = False
@ -47,34 +49,41 @@ def icon_attr(entry):
iconinfo = theme.lookup_icon(name, 22, Gtk.IconLookupFlags.NO_SVG)
if iconinfo:
iconfile = iconinfo.get_filename()
iconinfo.free()
if hasattr(iconinfo, 'free'):
iconinfo.free()
if iconfile:
return ' icon="' + iconfile + '"'
return ''
def escape_utf8(s):
if sys.version_info[0] < 3 and isinstance(s, unicode):
s = s.encode('utf-8', 'xmlcharrefreplace')
return escape(s)
def entry_name(entry):
return escape(entry.getName().encode('utf-8', 'xmlcharrefreplace'))
return escape_utf8(entry.getName())
def walk_menu(entry):
if isinstance(entry, xdg.Menu.Menu) and entry.Show is True:
print '<menu id="%s" label="%s"%s>' \
print('<menu id="%s" label="%s"%s>' \
% (entry_name(entry),
entry_name(entry),
escape(icon_attr(entry)))
map(walk_menu, entry.getEntries())
print '</menu>'
escape_utf8(icon_attr(entry))))
list(map(walk_menu, entry.getEntries()))
print('</menu>')
elif isinstance(entry, xdg.Menu.MenuEntry) and entry.Show is True:
print ' <item label="%s"%s>' % \
(entry_name(entry.DesktopEntry).replace('"', ''),
escape(icon_attr(entry.DesktopEntry)))
command = re.sub(' -caption "%c"| -caption %c', ' -caption "%s"' % entry_name(entry.DesktopEntry), entry.DesktopEntry.getExec())
name = entry_name(entry.DesktopEntry)
print(' <item label="%s"%s>' % (name.replace('"', ''),
escape_utf8(icon_attr(entry.DesktopEntry))))
command = re.sub(' -caption "%c"| -caption %c',
' -caption "%s"' % name,
escape_utf8(entry.DesktopEntry.getExec()))
command = re.sub(' [^ ]*%[fFuUdDnNickvm]', '', command)
if entry.DesktopEntry.getTerminal():
command = 'xterm -title "%s" -e %s' % \
(entry_name(entry.DesktopEntry), command)
print ' <action name="Execute">' + \
'<command>%s</command></action>' % command
print ' </item>'
command = 'xterm -title "%s" -e %s' % (name, command)
print(' <action name="Execute">' + \
'<command>%s</command></action>' % command)
print(' </item>')
if len(sys.argv) > 1:
menufile = sys.argv[1] + '.menu'
@ -93,7 +102,7 @@ if icons:
menu = xdg.Menu.parse(menufile)
print '<?xml version="1.0" encoding="UTF-8"?>'
print '<openbox_pipe_menu>'
map(walk_menu, menu.getEntries())
print '</openbox_pipe_menu>'
print('<?xml version="1.0" encoding="UTF-8"?>')
print('<openbox_pipe_menu>')
list(map(walk_menu, menu.getEntries()))
print('</openbox_pipe_menu>')