summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD4
-rw-r--r--uniconify.patch65
2 files changed, 69 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
index f8f32fe97f6a..ba6dd8147736 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -32,6 +32,7 @@ source=(
'utf8-menu-accelerators.diff'
'topmenu_kbd_group_local.patch'
'strict_skip_taskbar.patch'
+'uniconify.patch'
'menu.xml'
'rc.xml'
'install'
@@ -50,6 +51,7 @@ md5sums=(
'6579e6898e3195fb6877e356b2092bba'
'fabc9f22ebdda17649b7c98fd8fc4d81'
'e6a16b0be7eac066976fc56ed0bd1b27'
+ '5556e7accb519b922b2d07bc0bb67447'
'1ea5cf52cc72fd7b18f50798d1458baf'
'e2e2480a2dfe13e93de5fa88c17eaa77'
'da62476c79a186e0313578963b2ee637'
@@ -91,6 +93,8 @@ build() {
patch -p1 < ../topmenu_kbd_group_local.patch
echo strict_skip_taskbar
patch -p1 < ../strict_skip_taskbar.patch
+ echo uniconify.patch
+ patch -p1 < ../uniconify.patch
./bootstrap
./configure --prefix=/usr \
--with-x \
diff --git a/uniconify.patch b/uniconify.patch
new file mode 100644
index 000000000000..831bba1ebe2c
--- /dev/null
+++ b/uniconify.patch
@@ -0,0 +1,65 @@
+diff --git a/Makefile.am b/Makefile.am
+index 2d4a0ff..67fb868 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -211,6 +211,7 @@ openbox_openbox_SOURCES = \
+ openbox/actions/fullscreen.c \
+ openbox/actions/growtoedge.c \
+ openbox/actions/iconify.c \
++ openbox/actions/uniconify.c \
+ openbox/actions/if.c \
+ openbox/actions/kill.c \
+ openbox/actions/layer.c \
+diff --git a/openbox/actions/all.c b/openbox/actions/all.c
+index 07fa51f..8755f64 100644
+--- a/openbox/actions/all.c
++++ b/openbox/actions/all.c
+@@ -20,6 +20,7 @@ void action_all_startup(void)
+ action_raiselower_startup();
+ action_unfocus_startup();
+ action_iconify_startup();
++ action_uniconify_startup();
+ action_fullscreen_startup();
+ action_maximize_startup();
+ action_moveresizeto_startup();
+diff --git a/openbox/actions/all.h b/openbox/actions/all.h
+index fc6917e..356f752 100644
+--- a/openbox/actions/all.h
++++ b/openbox/actions/all.h
+@@ -21,6 +21,7 @@ void action_lower_startup(void);
+ void action_raiselower_startup(void);
+ void action_unfocus_startup(void);
+ void action_iconify_startup(void);
++void action_uniconify_startup(void);
+ void action_fullscreen_startup(void);
+ void action_maximize_startup(void);
+ void action_moveresizeto_startup(void);
+diff --git a/openbox/actions/uniconify.c b/openbox/actions/uniconify.c
+new file mode 100644
+index 0000000..e68981d
+--- /dev/null
++++ b/openbox/actions/uniconify.c
+@@ -0,0 +1,23 @@
++#include "openbox/actions.h"
++#include "openbox/client.h"
++
++static gboolean run_func(ObActionsData *data, gpointer options);
++
++void action_uniconify_startup(void)
++{
++ actions_register("UnIconify",
++ NULL, NULL,
++ run_func);
++}
++
++/* Always return FALSE because its not interactive */
++static gboolean run_func(ObActionsData *data, gpointer options)
++{
++ if (data->client) {
++ actions_client_move(data, TRUE);
++ client_iconify(data->client, FALSE, TRUE, FALSE);
++ actions_client_move(data, FALSE);
++ }
++
++ return FALSE;
++}