14 int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr)
18 printf("wm_handle_key: %p - %x %hhx\n",
19 win, key, mod2int(mod));
24 if ((key == key_f1 && mod.ctrl) ||
25 (key_mouse0 <= key && key <= key_mouse7))
29 if (key_mouse0 <= key && key <= key_mouse7 &&
30 mod.up && mode != none)
31 return mode = none, 1;
32 else if (key == key_mouse1 && mod.ctrl)
33 return mode = move, 1;
34 else if (key == key_mouse3 && mod.ctrl)
35 return mode = resize, 1;
40 int wm_handle_ptr(win_t *win, ptr_t ptr)
42 printf("wm_handle_ptr: %p - %d,%d %d,%d (%d) -- \n",
43 win, ptr.x, ptr.y, ptr.rx, ptr.ry, mode);
44 int dx = ptr.rx - kptr.rx;
45 int dy = ptr.ry - kptr.ry;
47 sys_move(kwin, kwin->x+dx, kwin->y+dy, kwin->w, kwin->h);
48 else if (mode == resize)
49 sys_move(kwin, kwin->x, kwin->y, kwin->w+dx, kwin->h+dy);
53 void wm_init(win_t *root)
55 sys_watch(root, key_f1, MOD(.ctrl=1));
56 sys_watch(root, key_mouse1, MOD(.ctrl=1));
57 sys_watch(root, key_mouse3, MOD(.ctrl=1));