XGrabPointer(X.disp, ev->window, False,
ButtonPressMask | ButtonReleaseMask | ButtonMotionMask,
GrabModeAsync, GrabModeAsync, None, X.csr_move, CurrentTime);
- printf("BTN_DN(w: 0x%lx s: %d x: %d y: %d rx: %d ry: %d)\n", ev->window, ev->state, ev->x, ev->y, ev->x_root, ev->y_root);
+ //printf("BTN_DN(w: 0x%lx s: %d x: %d y: %d rx: %d ry: %d)\n", ev->window, ev->state, ev->x, ev->y, ev->x_root, ev->y_root);
X.start_x = ev->x_root, X.start_y = ev->y_root;
X.last_x = ev->x_root, X.last_y = ev->y_root;
Location loc = {0};
static void xbtnrelease(XEvent* e)
{
XButtonEvent* ev = &(e->xbutton);
- printf("BTN_UP(w: 0x%lx x: %d y: %d rx: %d ry: %d)\n", ev->window, ev->x, ev->y, ev->x_root, ev->y_root);
+ //printf("BTN_UP(w: 0x%lx x: %d y: %d rx: %d ry: %d)\n", ev->window, ev->x, ev->y, ev->x_root, ev->y_root);
Location loc = {0};
if (mons_find(ev->window, &loc) && (loc.client->frame == ev->window))
{
{
/* make sure we get just the latest event */
XMotionEvent *ev = &e->xmotion;
- printf("BTN_MV(w: 0x%lx x: %d y: %d rx: %d ry: %d)\n", ev->window, ev->x, ev->y, ev->x_root, ev->y_root);
+ //printf("BTN_MV(w: 0x%lx x: %d y: %d rx: %d ry: %d)\n", ev->window, ev->x, ev->y, ev->x_root, ev->y_root);
while (XCheckTypedWindowEvent(X.disp, ev->window, ev->type, e));
Location loc = {0};
if (mons_find(ev->window, &loc) && (loc.client->frame == ev->window))
static void xconfigrequest(XEvent* e)
{
XConfigureRequestEvent* ev = &(e->xconfigurerequest);
- printf("CONF(w: 0x%lx x: %d y: %d w: %d h: %d)\n", ev->window, ev->x, ev->y, ev->width, ev->height);
+ //printf("CONF(w: 0x%lx x: %d y: %d w: %d h: %d)\n", ev->window, ev->x, ev->y, ev->width, ev->height);
XWindowChanges wc;
wc.x = ev->x;
wc.y = ev->y;
static void xmaprequest(XEvent* e)
{
XMapRequestEvent* ev = &(e->xmaprequest);
- printf("MAP(w: 0x%lx)\n", ev->window);
+ //printf("MAP(w: 0x%lx)\n", ev->window);
XWindowAttributes attr;
Location loc = {0};
if (!mons_find(ev->window, &loc))
static void xunmapnotify(XEvent* e)
{
XUnmapEvent* ev = &(e->xunmap);
- printf("UNMAP(e: 0x%lx w: 0x%lx %d)\n", ev->event, ev->window, ev->from_configure);
+ //printf("UNMAP(e: 0x%lx w: 0x%lx %d)\n", ev->event, ev->window, ev->from_configure);
Location loc = {0};
if (mons_find(ev->window, &loc))// && loc.client->win == ev->window)
{
static void xdestroynotify(XEvent* e)
{
XDestroyWindowEvent* ev = &(e->xdestroywindow);
- printf("DESTROY(w: 0x%lx)\n", ev->window);
+ //printf("DESTROY(w: 0x%lx)\n", ev->window);
Location loc = {0};
if (mons_find(ev->window, &loc))
{
static void xclientmsg(XEvent* e)
{
XClientMessageEvent* ev = &(e->xclient);
- printf("CLIENT_MSG(w: 0x%lx a: '%s')\n", ev->window, XGetAtomName(X.disp, ev->message_type));
+ //printf("CLIENT_MSG(w: 0x%lx a: '%s')\n", ev->window, XGetAtomName(X.disp, ev->message_type));
if (ev->message_type == atom("_NET_ACTIVE_WINDOW"))
{
mons_activate(ev->window);
static void xpropnotify(XEvent* e)
{
XPropertyEvent* ev = &(e->xproperty);
- printf("PROP_NOTIFY(w: 0x%lx)\n", ev->window);
+ //printf("PROP_NOTIFY(w: 0x%lx)\n", ev->window);
Location loc = {0};
if (mons_find(ev->window, &loc))
{
{
XCrossingEvent* ev = &(e->xcrossing);
Location loc = {0};
+ //printf("ENTER(w: 0x%lx s: %d m: %d d: %d)\n", ev->window, ev->state, ev->mode, ev->detail);
if (mons_find(ev->window, &loc))
{
- printf("ENTER(w: 0x%lx c: 0x%lx s: %d m: %d d: %d)\n", ev->window, loc.client->win, ev->state, ev->mode, ev->detail);
- if (!ev->state && !ev->mode)
- {
- client_focus(loc.client);
- }
- else
- {
- //XSetInputFocus(X.disp, loc.client->frame, RevertToPointerRoot, CurrentTime);
- }
+ client_focus(loc.client);
}
}
XExposeEvent* ev = &(e->xexpose);
if (ev->count == 0)
{
- printf("EXPOSE(w: 0x%lx)\n", ev->window);
+ //printf("EXPOSE(w: 0x%lx)\n", ev->window);
Location loc = {0};
if (mons_find(ev->window, &loc))
{
static void xkeypress(XEvent* e)
{
XKeyEvent* ev = &(e->xkey);
- printf("KEY_DN(w: 0x%lx)\n", ev->window);
+ //printf("KEY_DN(w: 0x%lx)\n", ev->window);
keys_run(ev);
}
{
X.eventfns[ev.type](&ev);
}
+ XSync(X.disp, False);
}
return 0;
Client* client_add(Window win, XWindowAttributes* attr)
{
- printf("ADD(w: %lx)\n", win);
Client* c = ecalloc(1, sizeof(Client));
c->win = win;
c->x = attr->x;
XAddToSaveSet(X.disp, c->win);
mons_addclient(c);
client_show(c, 1);
- XSync(X.disp, False);
client_draw(c);
- printf("PLACE(w: %lx x: %d y: %d w: %d h: %d)\n", win, c->x, c->y, c->w, c->y);
return c;
}
XSetWindowBorder(X.disp, c->frame, X.clr_bdr);
XSetWindowBorderWidth(X.disp, c->win, 1);
XSetWindowBorder(X.disp, c->win, X.clr_bdr);
- XClearWindow(X.disp, c->frame);
XDefineCursor(X.disp, c->frame, X.csr_point);
+ XClearWindow(X.disp, c->frame);
if (c->name) {
int ascent = abs(X.font_ext->max_logical_extent.y);
Xutf8DrawString(X.disp, c->frame, X.font,
if (c->w < minheight) c->w = minheight;
if (c->h < minheight) c->h = minheight;
XMoveResizeWindow(X.disp, c->frame, c->x, c->y, c->w, (shaded ? minheight : c->h));
- printf("CONFIG(c: %lx x: %d y: %d w: %d h: %d)\n", c->frame, c->x, c->y, c->w, c->h);
if ( !(c->flags & F_SHADED) )
{
int child_w = c->w - 2*BORDER_WIDTH - 2;
void client_focus(Client* c)
{
- printf("SET_FOCUS(w: 0x%lx c: 0x%lx)\n", c->frame, c->win);
Client* prev = Focused;
Focused = c;
XSetInputFocus(X.disp, c->win, RevertToPointerRoot, CurrentTime);
{
client_draw(prev);
}
- XSync(X.disp, False);
}
void client_show(Client* c, int show)