commit 277bd8d2decb215f00b6cbf2e6e5aa12fa765198
parent efc1327d0efad3747971a246e08b762b5413dc0d
Author: Dylan Araps <dylan.araps@gmail.com>
Date: Fri, 11 Oct 2019 20:06:19 +0300
catwm: Added center_window
Diffstat:
2 files changed, 13 insertions(+), 23 deletions(-)
diff --git a/catwm.c b/catwm.c
@@ -51,6 +51,7 @@ struct desktop{
static void add_window(Window w);
static void buttonpress(XEvent *e);
static void buttonrelease(XEvent *e);
+static void center_window();
static void change_desktop(const Arg arg);
static void client_to_desktop(const Arg arg);
static void configurerequest(XEvent *e);
@@ -140,6 +141,15 @@ void change_desktop(const Arg arg) {
update_current();
}
+void center_window() {
+ XGetWindowAttributes(dis, current->win, &attr);
+
+ int x = (sw / 2) - (attr.width / 2);
+ int y = (sh / 2) - (attr.height / 2);
+
+ XMoveWindow(dis, current->win, x, y);
+}
+
void client_to_desktop(const Arg arg) {
client *tmp = current;
int tmp2 = curr_desk;
diff --git a/config.h b/config.h
@@ -4,29 +4,8 @@
* ( =^= )
* ( ) ... for cat!
* ( )
- * ( ))))))________________ Cute And Tiny Window Manager
- * ______________________________________________________________________________
- *
- * Copyright (c) 2010, Rinaldini Julien, julien.rinaldini@heig-vd.ch
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
+ * ( ))))))________________
+ * __________________
*/
#ifndef CONFIG_H
@@ -54,6 +33,7 @@ const char* volup[] = {"amixer","sset","Master","5\%+",NULL};
static struct key keys[] = {
// MOD KEY FUNCTION ARGS
{ MOD, XK_q, kill_client, {NULL}},
+ { MOD, XK_c, center_window, {NULL}},
{ Mod1Mask, XK_Tab, next_win, {NULL}},
{ 0, XF86XK_AudioLowerVolume, spawn, {.com = voldown}},
{ 0, XF86XK_AudioRaiseVolume, spawn, {.com = volup}},