From fcdc8d0324ab2848e85994d8033e52e6b82e8723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Tue, 22 Jun 2021 19:04:34 +0200 Subject: Move cursor to window when middle-clicked in taskbar --- src/client.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/client.c') diff --git a/src/client.c b/src/client.c index 6c1976e..14c214c 100644 --- a/src/client.c +++ b/src/client.c @@ -875,6 +875,28 @@ void KillClient(ClientNode *np) { NULL); } +/** Move the cursor to the middle of the client. **/ +void MoveMouseToClient(ClientNode *np) { + + int height, width, x, y; + + x = np->x; + y = np->y; + width = np->width; + height = np->height; + if(np->state.border & BORDER_OUTLINE) { + x -= borderWidth; + y -= borderWidth; + width += borderWidth * 2; + height += borderWidth * 2; + } + if(np->state.border & BORDER_TITLE) { + y -= titleHeight; + height += titleHeight; + } + MoveMouse(rootWindow, x + width / 2, y + height / 2); +} + /** Raise the client. This will affect transients. */ void RaiseClient(ClientNode *np) { -- cgit v1.2.3