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.
This commit is contained in:
okan 2016-10-03 13:41:30 +00:00
parent c542153d63
commit 3881d6ad85
3 changed files with 10 additions and 8 deletions

View File

@ -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);
}

View File

@ -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);

View File

@ -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]) {