From a8f2001c7c81ed4dea297a8fc9c98df4b91b3865 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Tue, 14 Feb 2012 22:25:51 +0000 Subject: openbox: add 3.4.11.2 This version inclues O.S. Systems' internal tree fixes and a sync against 3.4-working branch. Signed-off-by: Otavio Salvador --- .../openbox/openbox/fix-decorations.patch | 73 + .../openbox/openbox/fix-dialog-buttons.patch | 38 + .../openbox/openbox/sync-with-3.4-working.patch | 2739 ++++++++++++++++++++ .../recipes-graphics/openbox/openbox_3.4.11.2.bb | 40 + 4 files changed, 2890 insertions(+) create mode 100644 meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch create mode 100644 meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch create mode 100644 meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch create mode 100644 meta-oe/recipes-graphics/openbox/openbox_3.4.11.2.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch b/meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch new file mode 100644 index 000000000..e3489b7ce --- /dev/null +++ b/meta-oe/recipes-graphics/openbox/openbox/fix-decorations.patch @@ -0,0 +1,73 @@ +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 diff --git a/meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch b/meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch new file mode 100644 index 000000000..02486eecb --- /dev/null +++ b/meta-oe/recipes-graphics/openbox/openbox/fix-dialog-buttons.patch @@ -0,0 +1,38 @@ +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: diff --git a/meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch b/meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch new file mode 100644 index 000000000..6cd91b948 --- /dev/null +++ b/meta-oe/recipes-graphics/openbox/openbox/sync-with-3.4-working.patch @@ -0,0 +1,2739 @@ +Sync with 3.4-working branch + +Upstream-Status: Backport + +diff --git a/.gitignore b/.gitignore +index 907abb9..bac98c7 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -22,6 +22,7 @@ doc/openbox-gnome-session.1 + doc/openbox-kde-session.1 + doc/openbox-session.1 + doc/openbox.1 ++doc/obxprop.1 + libtool + ltmain.sh + m4/*.m4 +diff --git a/CHANGELOG b/CHANGELOG +index 915e315..3ad87e9 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -1,3 +1,16 @@ ++3.4.11.2: ++ * Updated Estonian and Portuguese translations. ++ * Fix a rare crash involving moving fullscreen windows to different monitors ++ * Fix a more common crash involving pressing right in a menu ++ ++3.4.11.1: ++ * Updated Polish translation. ++ * Fixed bug #4519 (Incorrect focus in reused windows). ++ * Lower the default submenu open/hide delay from 200ms to 100ms. ++ * Fix some more problems with gnome integration. ++ * Update Clearlooks theme. ++ * Some other small fixes. ++ + 3.4.11: + * Update Hungarian, Japanese, and Latvian translations. + * Make xdg-autostart use the OPENBOX environment by default, so you can use +diff --git a/Makefile.am b/Makefile.am +index fe6ef92..e2430e0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -444,6 +444,7 @@ edit = $(SED) \ + -e 's!@version\@!$(VERSION)!' \ + -e 's!@configdir\@!$(configdir)!' \ + -e 's!@secretbindir\@!$(secretbindir)!' \ ++ -e 's!@libexecdir\@!$(libexecdir)!' \ + -e 's!@bindir\@!$(bindir)!' + + data/autostart.sh: $(srcdir)/data/autostart.sh.in Makefile +@@ -542,6 +543,7 @@ CLEANFILES = \ + doc/openbox-session.1 \ + doc/openbox-gnome-session.1 \ + doc/openbox-kde-session.1 \ ++ doc/obxprop.1 \ + data/xsession/openbox-session \ + data/xsession/openbox-gnome-session \ + data/xsession/openbox-kde-session \ +diff --git a/configure.ac b/configure.ac +index 1ed2fd2..72445fa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,5 @@ + AC_PREREQ([2.54]) +-AC_INIT([openbox], [3.4.11], [http://bugzilla.icculus.org]) ++AC_INIT([openbox], [3.4.11.2], [http://bugzilla.icculus.org]) + AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR([openbox/openbox.c]) + +@@ -15,9 +15,9 @@ dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match + dnl + OB_MAJOR_VERSION=3 + OB_MINOR_VERSION=4 +-OB_MICRO_VERSION=28 +-OB_INTERFACE_AGE=7 +-OB_BINARY_AGE=7 ++OB_MICRO_VERSION=30 ++OB_INTERFACE_AGE=9 ++OB_BINARY_AGE=9 + OB_VERSION=$PACKAGE_VERSION + + AC_SUBST(OB_MAJOR_VERSION) +diff --git a/data/autostart.sh.in b/data/autostart.sh.in +index eb55558..910e5e8 100644 +--- a/data/autostart.sh.in ++++ b/data/autostart.sh.in +@@ -22,8 +22,8 @@ if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then + fi + + # Make GTK apps look and behave how they were set up in the gnome config tools +-if test -x /usr/libexec/gnome-settings-daemon >/dev/null; then +- /usr/libexec/gnome-settings-daemon & ++if test -x @libexecdir@/gnome-settings-daemon >/dev/null; then ++ @libexecdir@/gnome-settings-daemon & + elif which gnome-settings-daemon >/dev/null; then + gnome-settings-daemon & + # Make GTK apps look and behave how they were set up in the XFCE config tools +diff --git a/data/gnome-wm-properties/openbox.desktop b/data/gnome-wm-properties/openbox.desktop +index 23e690e..67e49e4 100644 +--- a/data/gnome-wm-properties/openbox.desktop ++++ b/data/gnome-wm-properties/openbox.desktop +@@ -1,4 +1,5 @@ + [Desktop Entry] ++Type=Application + Name=Openbox + Exec=openbox + +diff --git a/data/rc.xml b/data/rc.xml +index 9c5424f..1b947b5 100644 +--- a/data/rc.xml ++++ b/data/rc.xml +@@ -373,6 +373,12 @@ + + left + ++ ++ ++ ++ ++ client-menu ++ + + + +@@ -383,6 +389,12 @@ + + right + ++ ++ ++ ++ ++ client-menu ++ + + + +@@ -615,7 +627,7 @@ + menu is hidden again --> + no + +- 200 ++ 100 +