diff options
| author | Mikael Magnusson <mikachu@gmail.com> | 2014-07-12 05:19:41 +0200 |
|---|---|---|
| committer | Mikael Magnusson <mikachu@gmail.com> | 2014-10-20 10:28:00 +0200 |
| commit | 6273bf2e94a777760fee5346c290fb6672a0cb70 (patch) | |
| tree | 3905f6f3a5be9f9f4e5f17313690f0dd9baaa353 /openbox/event.c | |
| parent | 7b3dc69468e3cb97117b82036041afd9d89912e1 (diff) | |
Make RaiseLower work for the dock as well
As a side effect, _NET_RESTACK_REQUEST now also allows specifying the dock as the sibling.
Diffstat (limited to 'openbox/event.c')
| -rw-r--r-- | openbox/event.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/openbox/event.c b/openbox/event.c index 9f560306..350c1483 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1198,7 +1198,7 @@ static void event_handle_client(ObClient *client, XEvent *e) } if (e->xconfigurerequest.value_mask & CWStackMode) { - ObClient *sibling = NULL; + ObWindow *sibling = NULL; gulong ignore_start; gboolean ok = TRUE; @@ -1209,7 +1209,11 @@ static void event_handle_client(ObClient *client, XEvent *e) if (win && WINDOW_IS_CLIENT(win) && WINDOW_AS_CLIENT(win) != client) { - sibling = WINDOW_AS_CLIENT(win); + sibling = win; + } + else if (win && WINDOW_IS_DOCK(win)) + { + sibling = win; } else /* an invalid sibling was specified so don't restack at @@ -1560,13 +1564,17 @@ static void event_handle_client(ObClient *client, XEvent *e) "invalid source indication %ld", client->title, e->xclient.data.l[0]); } else { - ObClient *sibling = NULL; + ObWindow *sibling = NULL; if (e->xclient.data.l[1]) { ObWindow *win = window_find(e->xclient.data.l[1]); if (WINDOW_IS_CLIENT(win) && WINDOW_AS_CLIENT(win) != client) { - sibling = WINDOW_AS_CLIENT(win); + sibling = win; + } + if (WINDOW_IS_DOCK(win)) + { + sibling = win; } if (sibling == NULL) ob_debug_type(OB_DEBUG_APP_BUGS, |
