tDefine border when creating window frame - glazier - window management experiments
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
(DIR) commit 699100de3afc7aff173cc3188807b8fc11a93b46
(DIR) parent e105ac725da9a5baed893b1f6aace6b57229e21e
(HTM) Author: Willy Goiffon <dev@z3bra.org>
Date: Wed, 23 Oct 2019 13:45:41 +0200
Define border when creating window frame
Diffstat:
M glazier.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
---
(DIR) diff --git a/glazier.c b/glazier.c
t@@ -96,20 +96,19 @@ usage(char *name)
xcb_window_t
frame_window(xcb_window_t child)
{
- int b,x,y,w,h,val[2];
+ int x, y, w, h, mask, val[3];
xcb_window_t parent;
- val[0] = titlebar_color;
-
- b = 0;
x = wm_get_attribute(child, ATTR_X);
y = wm_get_attribute(child, ATTR_Y) - titlebar;
w = wm_get_attribute(child, ATTR_W);
h = wm_get_attribute(child, ATTR_H) + titlebar;
parent = xcb_generate_id(conn);
+ mask = XCB_CW_BACK_PIXEL | XCB_CW_BORDER_PIXEL | XCB_CW_EVENT_MASK;
val[0] = titlebar_color;
- val[1] = XCB_EVENT_MASK_EXPOSURE
+ val[1] = titlebar_color;
+ val[2] = XCB_EVENT_MASK_EXPOSURE
| XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY
| XCB_EVENT_MASK_ENTER_WINDOW
| XCB_EVENT_MASK_BUTTON_PRESS
t@@ -117,8 +116,8 @@ frame_window(xcb_window_t child)
| XCB_EVENT_MASK_BUTTON_MOTION;
xcb_create_window(conn, scrn->root_depth, parent, scrn->root,
- x, y, w, h, b, XCB_WINDOW_CLASS_INPUT_OUTPUT, scrn->root_visual,
- XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK, val);
+ x, y, w, h, border, XCB_WINDOW_CLASS_INPUT_OUTPUT,
+ scrn->root_visual, mask, val);
xcb_reparent_window(conn, child, parent, 0, titlebar);
xcb_change_save_set(conn, XCB_SET_MODE_INSERT, child);
t@@ -200,7 +199,6 @@ cb_mapreq(xcb_generic_event_t *ev)
h = wm_get_attribute(frame, ATTR_H);
wm_get_cursor(0, scrn->root, &x, &y);
- wm_set_border(border, titlebar_color, frame);
wm_move(frame, ABSOLUTE, x - w/2, y - h/2);
xcb_map_window(conn, e->window);
wm_set_focus(e->window);