summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorOkan Demirmen <okan@cvs.openbsd.org>2016-10-03 13:41:31 +0000
committerOkan Demirmen <okan@cvs.openbsd.org>2016-10-03 13:41:31 +0000
commitab47de82afc75c6ebaf4bc43fabf2c4921adad83 (patch)
treed3804e38e351c8d8d7b0e3a8ef0fb3e15cfa9660 /app
parentf6e1e0613943a1b5c84cc0a787d83a14ca1c7f69 (diff)
client_ptrwarp should not deal with unhiding or raising clients (non ptr
requests); most callers do this already - deal with the few that do not. client_ptrwarp becomes a simple wrapper (setpos) but it will be expanded.
Diffstat (limited to 'app')
-rw-r--r--app/cwm/client.c8
-rw-r--r--app/cwm/kbfunc.c4
-rw-r--r--app/cwm/xevents.c6
3 files changed, 10 insertions, 8 deletions
diff --git a/app/cwm/client.c b/app/cwm/client.c
index 57971355f..6e9fa6eb4 100644
--- a/app/cwm/client.c
+++ b/app/cwm/client.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: client.c,v 1.225 2016/09/30 20:55:54 okan Exp $
+ * $OpenBSD: client.c,v 1.226 2016/10/03 13:41:30 okan Exp $
*/
#include <sys/types.h>
@@ -469,11 +469,6 @@ client_config(struct client_ctx *cc)
void
client_ptrwarp(struct client_ctx *cc)
{
- if (cc->flags & CLIENT_HIDDEN)
- client_unhide(cc);
- else
- client_raise(cc);
-
xu_ptr_setpos(cc->win, cc->ptr.x, cc->ptr.y);
}
@@ -686,6 +681,7 @@ client_cycle(struct screen_ctx *sc, int flags)
/* reset when cycling mod is released. XXX I hate this hack */
sc->cycling = 1;
client_ptrsave(oldcc);
+ client_raise(newcc);
client_ptrwarp(newcc);
}
diff --git a/app/cwm/kbfunc.c b/app/cwm/kbfunc.c
index 91d7a2aa8..f30f809ff 100644
--- a/app/cwm/kbfunc.c
+++ b/app/cwm/kbfunc.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: kbfunc.c,v 1.127 2016/09/22 14:36:03 okan Exp $
+ * $OpenBSD: kbfunc.c,v 1.128 2016/10/03 13:41:30 okan Exp $
*/
#include <sys/types.h>
@@ -187,6 +187,8 @@ kbfunc_menu_client(struct client_ctx *cc, union arg *arg)
cc = (struct client_ctx *)mi->ctx;
if (cc->flags & CLIENT_HIDDEN)
client_unhide(cc);
+ else
+ client_raise(cc);
if (old_cc)
client_ptrsave(old_cc);
client_ptrwarp(cc);
diff --git a/app/cwm/xevents.c b/app/cwm/xevents.c
index cda021be5..a59aee665 100644
--- a/app/cwm/xevents.c
+++ b/app/cwm/xevents.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: xevents.c,v 1.122 2016/09/16 14:32:02 okan Exp $
+ * $OpenBSD: xevents.c,v 1.123 2016/10/03 13:41:30 okan Exp $
*/
/*
@@ -344,6 +344,10 @@ xev_handle_clientmessage(XEvent *ee)
if ((cc = client_find(e->window)) != NULL) {
if ((old_cc = client_current()) != NULL)
client_ptrsave(old_cc);
+ if (cc->flags & CLIENT_HIDDEN)
+ client_unhide(cc);
+ else
+ client_raise(cc);
client_ptrwarp(cc);
}
} else if (e->message_type == ewmh[_NET_WM_DESKTOP]) {