mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
openbox: update to 3.5.0
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
This commit is contained in:
parent
4586a3b9ab
commit
cb5ff1622e
|
|
@ -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
|
||||
|
|
@ -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:
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user