parent
3b5971e640
commit
186e4dd22b
@ -1,2 +1,2 @@
|
||||
/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;
|
Loading…
Reference in new issue