openbox: update to 3.5.0

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
This commit is contained in:
Otavio Salvador 2012-03-06 21:19:44 +00:00 committed by Khem Raj
parent 4586a3b9ab
commit cb5ff1622e
4 changed files with 3 additions and 2857 deletions

View File

@ -1,73 +0,0 @@
Fix client decorations
Upstream-Status: Pending
diff --git a/openbox/client.c b/openbox/client.c
index c65e350..1c82763 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -1733,8 +1733,20 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
switch (self->type) {
case OB_CLIENT_TYPE_NORMAL:
/* normal windows retain all of the possible decorations and
- functionality, and can be fullscreen */
- self->functions |= OB_CLIENT_FUNC_FULLSCREEN;
+ functionality, and can be fullscreen, unless if it can't be resized */
+ if (self->functions & OB_CLIENT_FUNC_RESIZE)
+ self->functions |= OB_CLIENT_FUNC_FULLSCREEN;
+ else {
+ self->decorations &= ~(OB_FRAME_DECOR_HANDLE |
+ OB_FRAME_DECOR_MAXIMIZE);
+
+ self->functions &= ~OB_CLIENT_FUNC_MAXIMIZE;
+
+ self->mwmhints.decorations &= ~(OB_MWM_DECOR_HANDLE |
+ OB_MWM_DECOR_MAXIMIZE);
+
+ self->mwmhints.functions &= ~OB_MWM_FUNC_MAXIMIZE;
+ }
break;
case OB_CLIENT_TYPE_DIALOG:
diff --git a/openbox/frame.c b/openbox/frame.c
index 64dd290..fc84f2f 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -1209,6 +1209,7 @@ static void layout_title(ObFrame *self)
firstcon = &self->rightmost;
}
+ self->decorations = self->client->decorations;
/* stop at the end of the string (or the label, which calls break) */
for (; *lc != '\0' && lc >= config_title_layout; lc+=i) {
if (*lc == 'L') {
@@ -1217,23 +1218,23 @@ static void layout_title(ObFrame *self)
self->label_x = x;
}
break; /* break the for loop, do other side of label */
- } else if (*lc == 'N') {
+ } else if (*lc == 'N' && (self->decorations & OB_FRAME_DECOR_ICON)) {
if (firstcon) *firstcon = OB_FRAME_CONTEXT_ICON;
/* icon is bigger than buttons */
place_button(self, lc, bwidth + 2, left, i, &x, &self->icon_on, &self->icon_x);
- } else if (*lc == 'D') {
+ } else if (*lc == 'D' && (self->decorations & OB_FRAME_DECOR_ALLDESKTOPS)) {
if (firstcon) *firstcon = OB_FRAME_CONTEXT_ALLDESKTOPS;
place_button(self, lc, bwidth, left, i, &x, &self->desk_on, &self->desk_x);
- } else if (*lc == 'S') {
+ } else if (*lc == 'S' && (self->decorations & OB_FRAME_DECOR_SHADE)) {
if (firstcon) *firstcon = OB_FRAME_CONTEXT_SHADE;
place_button(self, lc, bwidth, left, i, &x, &self->shade_on, &self->shade_x);
- } else if (*lc == 'I') {
+ } else if (*lc == 'I' && (self->decorations & OB_FRAME_DECOR_ICONIFY)) {
if (firstcon) *firstcon = OB_FRAME_CONTEXT_ICONIFY;
place_button(self, lc, bwidth, left, i, &x, &self->iconify_on, &self->iconify_x);
- } else if (*lc == 'M') {
+ } else if (*lc == 'M' && (self->decorations & OB_FRAME_DECOR_MAXIMIZE)) {
if (firstcon) *firstcon = OB_FRAME_CONTEXT_MAXIMIZE;
place_button(self, lc, bwidth, left, i, &x, &self->max_on, &self->max_x);
- } else if (*lc == 'C') {
+ } else if (*lc == 'C' && (self->decorations & OB_FRAME_DECOR_CLOSE)) {
if (firstcon) *firstcon = OB_FRAME_CONTEXT_CLOSE;
place_button(self, lc, bwidth, left, i, &x, &self->close_on, &self->close_x);
} else

View File

@ -1,38 +0,0 @@
Fix dialog support
Upstream-Status: Pending
diff --git a/openbox/client.c b/openbox/client.c
index 4d54b38..c65e350 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -562,6 +562,14 @@ void client_manage(Window window, ObPrompt *prompt)
/* free the ObAppSettings shallow copy */
g_free(settings);
+ /* force dialogs to skip taskbar */
+ if (self->type == OB_CLIENT_TYPE_DIALOG) {
+ self->skip_taskbar = TRUE;
+
+ gulong state = prop_atoms.net_wm_state_skip_taskbar;
+ PROP_SET32(self->window, net_wm_state, atom, state);
+ }
+
ob_debug("Managed window 0x%lx plate 0x%x (%s)\n",
window, self->frame->window, self->class);
@@ -1733,6 +1741,14 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
/* sometimes apps make dialog windows fullscreen for some reason (for
e.g. kpdf does this..) */
self->functions |= OB_CLIENT_FUNC_FULLSCREEN;
+ /* these windows cannot be maximized or minimized*/
+ self->decorations &= ~(OB_FRAME_DECOR_ICONIFY |
+ OB_FRAME_DECOR_MAXIMIZE |
+ OB_FRAME_DECOR_HANDLE);
+
+ self->functions &= ~(OB_CLIENT_FUNC_ICONIFY |
+ OB_CLIENT_FUNC_MAXIMIZE |
+ OB_CLIENT_FUNC_RESIZE);
break;
case OB_CLIENT_TYPE_UTILITY:

View File

@ -4,14 +4,10 @@ DEPENDS = "glib-2.0 pango libxml2 virtual/libx11"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
PR = "r1"
SRC_URI = "http://icculus.org/openbox/releases/openbox-${PV}.tar.gz"
SRC_URI = "http://icculus.org/openbox/releases/openbox-${PV}.tar.gz \
file://fix-dialog-buttons.patch;patch=1 \
file://fix-decorations.patch;patch=1"
SRC_URI[md5sum] = "30e669134fa81df810fe7d1dc59cd931"
SRC_URI[sha256sum] = "2e7579389c30e6bb08cc721a2c1af512e049fec2670e71715aa1c4e129ec349d"
SRC_URI[md5sum] = "00441b53cf14c03566c8e82643544ff9"
SRC_URI[sha256sum] = "6fa90016530b3aa6102e254079461977439398531fb23e7ec076ff2c140fea0a"
inherit autotools gettext update-alternatives