Update to git snapshot 20121001git782b28

epel9
Miroslav Lichvar 12 years ago
parent 3b5971e640
commit 186e4dd22b

2
.gitignore vendored

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

@ -1,28 +0,0 @@
From 339c19d1b3a7a5139aed8b59bad755ddd0e518ff Mon Sep 17 00:00:00 2001
From: Mikael Magnusson <mikachu@gmail.com>
Date: Sun, 3 Jun 2012 20:18:48 +0200
Subject: [PATCH] Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages
gtk+ 3.4 apparently sends these randomly when you select text in a
GtkEntry. This also fixes bug #5460.
---
openbox/event.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/openbox/event.c b/openbox/event.c
index b9ec1c5..4d091bf 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1495,7 +1495,8 @@ static void event_handle_client(ObClient *client, XEvent *e)
}
else if ((Atom)e->xclient.data.l[2] ==
OBT_PROP_ATOM(NET_WM_MOVERESIZE_CANCEL))
- moveresize_end(TRUE);
+ if (moveresize_client)
+ moveresize_end(TRUE);
} else if (msgtype == OBT_PROP_ATOM(NET_MOVERESIZE_WINDOW)) {
gint ograv, x, y, w, h;
--
1.7.10

@ -1,96 +0,0 @@
From: Dana Jansens <danakj@orodu.net>
Date: Sat, 15 Oct 2011 19:07:59 +0000 (-0400)
Subject: Fixes for gnome-session 3.
X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=commitdiff_plain;h=3991e148e2acbc3da3b9c31e2459b20a4e598a03
Fixes for gnome-session 3.
We run by default with a panel (default gnome-panel) and then run Openbox
without any panel if one cannot be found.
- Adds a fallback session for if a panel (default gnome-panel) not found.
- Removes notifications as a requirement. Seems to be a legacy thing judging
from the ubuntu .session files. Notifications are being provided by
notify-osd on modern systems, and you can't check for its presence in
gnome-session (gnome-classic.session always fails because it looks for it, so
ubuntu falls back to gnome-fallback.session).
---
diff --git a/Makefile.am b/Makefile.am
index 4f60bd0..1f7427c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -516,7 +516,8 @@ nodist_xsessions_DATA = \
data/xsession/openbox-kde.desktop
dist_gnomesession_DATA = \
- data/xsession/openbox-gnome.session
+ data/gnome-session/openbox-gnome.session \
+ data/gnome-session/openbox-gnome-fallback.session
dist_noinst_DATA = \
data/rc.xsd \
diff --git a/data/gnome-session/Makefile b/data/gnome-session/Makefile
new file mode 100644
index 0000000..b90edac
--- /dev/null
+++ b/data/gnome-session/Makefile
@@ -0,0 +1,4 @@
+all clean install:
+ $(MAKE) -C .. -$(MAKEFLAGS) $@
+
+.PHONY: all clean install
diff --git a/data/gnome-session/openbox-gnome-fallback.session b/data/gnome-session/openbox-gnome-fallback.session
new file mode 100644
index 0000000..156f2c3
--- /dev/null
+++ b/data/gnome-session/openbox-gnome-fallback.session
@@ -0,0 +1,6 @@
+[GNOME Session]
+Name=GNOME/Openbox fallback (Safe Mode)
+RequiredComponents=gnome-settings-daemon;
+RequiredProviders=windowmanager;
+DefaultProvider-windowmanager=openbox
+DesktopName=GNOME
diff --git a/data/gnome-session/openbox-gnome.session b/data/gnome-session/openbox-gnome.session
new file mode 100644
index 0000000..3399c2c
--- /dev/null
+++ b/data/gnome-session/openbox-gnome.session
@@ -0,0 +1,9 @@
+[GNOME Session]
+Name=GNOME/Openbox
+RequiredComponents=gnome-settings-daemon;
+# Try load with the gnome-panel and use the fallback if we can't load a panel
+RequiredProviders=windowmanager;panel
+DefaultProvider-windowmanager=openbox
+DefaultProvider-panel=gnome-panel
+FallbackSession=openbox-gnome-fallback
+DesktopName=GNOME
diff --git a/data/openbox.desktop b/data/openbox.desktop
index 9c19e67..d49ae22 100644
--- a/data/openbox.desktop
+++ b/data/openbox.desktop
@@ -7,6 +7,10 @@ Icon=openbox
NoDisplay=true
# name we put on the WM spec check window
X-GNOME-WMName=Openbox
+# gnome-session autostart
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
+# Ubuntu stuff
+X-Ubuntu-Gettext-Domain=openbox
+# back compat
X-GNOME-Autostart-Notify=true
diff --git a/data/xsession/openbox-gnome.session b/data/xsession/openbox-gnome.session
deleted file mode 100644
index 2d8f07b..0000000
--- a/data/xsession/openbox-gnome.session
+++ /dev/null
@@ -1,6 +0,0 @@
-[GNOME Session]
-Name=GNOME/Openbox
-RequiredComponents=gnome-panel;gnome-settings-daemon;
-RequiredProviders=windowmanager;notifications;
-DefaultProvider-windowmanager=openbox
-DefaultProvider-notifications=notification-daemon

@ -1,76 +0,0 @@
From: Geoffrey Antos <dynamotwain@aim.com>
Date: Fri, 7 Oct 2011 13:29:30 +0000 (-0400)
Subject: Make openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support.
X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=commitdiff_plain;h=3f870080de978e905f764b6cbc8e662a419d8983
Make openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support.
Yay they did something nice and made it easier for other window managers to be used. How unexpected and pleasant.
---
diff --git a/Makefile.am b/Makefile.am
index c62a594..7ed1f6a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,6 +6,7 @@ localedir = $(datadir)/locale
configdir = $(sysconfdir)/xdg
rcdir = $(configdir)/openbox
xsessionsdir = $(datadir)/xsessions
+gnomesessiondir = $(datadir)/gnome-session/sessions
gnomewmfilesdir = $(datadir)/gnome/wm-properties
pkgconfigdir = $(libdir)/pkgconfig
obtpubincludedir= $(includedir)/openbox/@OBT_VERSION@/obt
@@ -513,6 +514,9 @@ nodist_xsessions_DATA = \
data/xsession/openbox-gnome.desktop \
data/xsession/openbox-kde.desktop
+dist_gnomesession_DATA = \
+ data/xsession/openbox-gnome.session
+
dist_noinst_DATA = \
data/rc.xsd \
data/menu.xsd \
diff --git a/data/xsession/openbox-gnome-session.in b/data/xsession/openbox-gnome-session.in
index 8dd799c..f31c9ad 100644
--- a/data/xsession/openbox-gnome-session.in
+++ b/data/xsession/openbox-gnome-session.in
@@ -21,11 +21,11 @@ MINOR=$(echo $VER | cut -d . -f 2)
# run GNOME with Openbox as its window manager
if test $MAJOR -lt 2 || (test $MAJOR = 2 && test $MINOR -le 22); then
- # old gnome-session was easy to work with
+ # older gnome-session was easy to work with
export WINDOW_MANAGER="@bindir@/openbox"
exec gnome-session --choose-session=openbox-session "$@"
-else
- # new gnome-session requires openbox to be set in gconf and an
+elif test $MAJOR -lt 3; then
+ # old gnome-session requires openbox to be set in gconf and an
# openbox.desktop to be installed in the applications directory
SPATH=/desktop/gnome/session
@@ -54,6 +54,12 @@ else
# run GNOME/Openbox
exec gnome-session --default-session-key $SPATH/openbox_session "$@"
+else
+ # new gnome-session requires session file installed in
+ # /usr/share/gnome-session/sessions as well as openbox.desktop to be
+ # installed in the applications directory
+
+ exec gnome-session --session=openbox-gnome
fi
diff --git a/data/xsession/openbox-gnome.session b/data/xsession/openbox-gnome.session
new file mode 100644
index 0000000..2d8f07b
--- /dev/null
+++ b/data/xsession/openbox-gnome.session
@@ -0,0 +1,6 @@
+[GNOME Session]
+Name=GNOME/Openbox
+RequiredComponents=gnome-panel;gnome-settings-daemon;
+RequiredProviders=windowmanager;notifications;
+DefaultProvider-windowmanager=openbox
+DefaultProvider-notifications=notification-daemon

@ -1,97 +0,0 @@
commit c885c9a676e4860a68f0bdce4b926902f6597ebb
Author: Mikael Magnusson <mikachu@gmail.com>
Date: Thu Aug 4 18:34:54 2011 +0200
Change default doubleclick timeout to 500ms and keep track of where last click was
Bug #5152 - "mouse double-click time is too low by default - 200ms"
We only use the doubleclick in one place in the default configuration,
for doubleclicking titlebars to maximize windows, so any negative impact
of increasing the timeout should be minimal, especially with the
addition of requiring the two clicks to be in the same place.
Doubleclicks are hardcoded to occur within 8 pixels for now, it doesn't
seem worth it to add a config until someone complains. A possibility is
using the drag threshold, but some people have that set very low so it
could be hard to doubleclick then.
diff --git a/data/rc.xml b/data/rc.xml
index 7598a72..209cc2d 100644
--- a/data/rc.xml
+++ b/data/rc.xml
@@ -313,7 +313,7 @@
<mouse>
<dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
- <doubleClickTime>200</doubleClickTime>
+ <doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>400</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
diff --git a/doc/rc-mouse-focus.xml b/doc/rc-mouse-focus.xml
index 06c3ce5..dc7f2e9 100644
--- a/doc/rc-mouse-focus.xml
+++ b/doc/rc-mouse-focus.xml
@@ -226,7 +226,7 @@
<mouse>
<dragThreshold>8</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
- <doubleClickTime>200</doubleClickTime>
+ <doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<context name="Frame">
diff --git a/openbox/config.c b/openbox/config.c
index debd9fb..8e0e5ac 100644
--- a/openbox/config.c
+++ b/openbox/config.c
@@ -1070,7 +1070,7 @@ void config_startup(ObtXmlInst *i)
obt_xml_register(i, "keyboard", parse_keyboard, NULL);
config_mouse_threshold = 8;
- config_mouse_dclicktime = 200;
+ config_mouse_dclicktime = 500;
config_mouse_screenedgetime = 400;
config_mouse_screenedgewarp = FALSE;
diff --git a/openbox/mouse.c b/openbox/mouse.c
index ddf6851..2f0c8f5 100644
--- a/openbox/mouse.c
+++ b/openbox/mouse.c
@@ -211,7 +211,7 @@ gboolean mouse_event(ObClient *client, XEvent *e)
static Time ltime;
static guint button = 0, state = 0, lbutton = 0;
static Window lwindow = None;
- static gint px, py, pwx = -1, pwy = -1;
+ static gint px, py, pwx = -1, pwy = -1, lx = -10, ly = -10;
gboolean used = FALSE;
ObFrameContext context;
@@ -290,18 +290,24 @@ gboolean mouse_event(ObClient *client, XEvent *e)
if (e->xbutton.x >= (signed)-b &&
e->xbutton.y >= (signed)-b &&
e->xbutton.x < (signed)(w+b) &&
- e->xbutton.y < (signed)(h+b)) {
+ e->xbutton.y < (signed)(h+b))
+ {
click = TRUE;
/* double clicks happen if there were 2 in a row! */
if (lbutton == button &&
lwindow == e->xbutton.window &&
e->xbutton.time - config_mouse_dclicktime <=
- ltime) {
+ ltime &&
+ ABS(e->xbutton.x - lx) < 8 &&
+ ABS(e->xbutton.y - ly) < 8)
+ {
dclick = TRUE;
lbutton = 0;
} else {
lbutton = button;
lwindow = e->xbutton.window;
+ lx = e->xbutton.x;
+ ly = e->xbutton.y;
}
} else {
lbutton = 0;

@ -1,26 +1,22 @@
%global gitdate 20121001
%global gitrev 782b28
Name: openbox Name: openbox
Version: 3.5.0 Version: 3.5.0
Release: 10%{?dist} Release: 10.%{gitdate}git%{gitrev}%{?dist}
Summary: A highly configurable and standards-compliant X11 window manager Summary: A highly configurable and standards-compliant X11 window manager
Group: User Interface/Desktops Group: User Interface/Desktops
License: GPLv2+ License: GPLv2+
URL: http://openbox.org URL: http://openbox.org
Source0: http://openbox.org/releases/%{name}-%{version}.tar.gz # git clone git://git.openbox.org/dana/openbox; cd openbox
# git archive --prefix=openbox/ %{gitrev} | xz > openbox-%{gitdate}git%{gitrev}.tar.xz
Source0: %{name}-%{gitdate}git%{gitrev}.tar.xz
#Source0: http://openbox.org/releases/%{name}-%{version}.tar.gz
Source1: http://icculus.org/openbox/tools/setlayout.c Source1: http://icculus.org/openbox/tools/setlayout.c
Source2: xdg-menu Source2: xdg-menu
Source3: menu.xml Source3: menu.xml
Source4: terminals.menu Source4: terminals.menu
Patch1: openbox-doubleclick.patch
#Patch2: openbox-3.4.11.2-gnomesession.patch
# http://git.openbox.org/?p=dana/openbox.git;a=commit;h=3f870080
Patch2: openbox-3.5.0-gnomesession.patch
# http://git.openbox.org/?p=dana/openbox.git;a=commit;h=3991e148
Patch3: openbox-3.5.0-gnomesession-fixes.patch
# https://github.com/Mikachu/openbox/commit/339c19d1
Patch4: openbox-3.5.0-Fix-crash-on-unexpected-NET_WM_MOVERESIZE_CANCEL-messages.patch
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
# required by xdg-menu and xdg-autostart scripts # required by xdg-menu and xdg-autostart scripts
@ -38,6 +34,8 @@ BuildRequires: libXt-devel
BuildRequires: libXrandr-devel BuildRequires: libXrandr-devel
BuildRequires: libXinerama-devel BuildRequires: libXinerama-devel
BuildRequires: imlib2-devel BuildRequires: imlib2-devel
# extra dependencies to build from git snapshot
BuildRequires: automake gettext-devel libtool
Provides: firstboot(windowmanager) Provides: firstboot(windowmanager)
%description %description
@ -126,15 +124,11 @@ KDE session.
%prep %prep
%setup -q %setup -q -n %{name}
%patch1 -p1 -b .doubleclick
# patch 3 depends on patch2!
%patch2 -p1 -b .gnomesession
%patch3 -p1 -b .gnomesession-fixes
%patch4 -p1 -b .fix-crash
%build %build
./bootstrap
%configure \ %configure \
--disable-static --disable-static
## Fix RPATH hardcoding. ## Fix RPATH hardcoding.

@ -1,2 +1,2 @@
16ca0d290cae2f4c16a35e9cdfb6f503 setlayout.c 16ca0d290cae2f4c16a35e9cdfb6f503 setlayout.c
00441b53cf14c03566c8e82643544ff9 openbox-3.5.0.tar.gz 95b58450f1383391c1e3e49c80a23144 openbox-20121001git782b28.tar.xz

Loading…
Cancel
Save