14 int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr)
16 printf("wm_handle_key: %p - %x\n", win, key);
21 if ((key == key_f1 && mod.ctrl) ||
22 (key_mouse0 <= key && key <= key_mouse7))
26 if (key_mouse0 <= key && key <= key_mouse7 &&
27 mod.up && mode != none)
28 return mode = none, 1;
29 else if (key == key_mouse1 && mod.ctrl)
30 return mode = move, 1;
31 else if (key == key_mouse3 && mod.ctrl)
32 return mode = resize, 1;
37 int wm_handle_ptr(win_t *win, ptr_t ptr)
39 printf("wm_handle_ptr: %p - %d,%d %d,%d (%d) -- \n",
40 win, ptr.x, ptr.y, ptr.rx, ptr.ry, mode);
41 int dx = ptr.rx - kptr.rx;
42 int dy = ptr.ry - kptr.ry;
44 sys_move(kwin, kwin->x+dx, kwin->y+dy, kwin->w, kwin->h);
45 else if (mode == resize)
46 sys_move(kwin, kwin->x, kwin->y, kwin->w+dx, kwin->h+dy);
50 void wm_init(win_t *root)
52 sys_watch(root, key_f1, MOD(.ctrl=1));
53 sys_watch(root, key_mouse1, MOD(.ctrl=1));
54 sys_watch(root, key_mouse3, MOD(.ctrl=1));