]> Pileus Git - wmpus/blobdiff - sys.h
Add initial Xinerama support
[wmpus] / sys.h
diff --git a/sys.h b/sys.h
index 74938c7bfe11a0ed9621c705b516452dd61a365f..fdf5356f8e6d12226c8f51b356f33d04ddb0dfbd 100644 (file)
--- a/sys.h
+++ b/sys.h
@@ -29,29 +29,40 @@ typedef enum {
        key_f5, key_f6,  key_f7,  key_f8,
        key_f9, key_f10, key_f11, key_f12,
        key_alt, key_ctrl, key_shift, key_win,
+       key_enter, key_leave, key_focus, key_unfocus,
 } Key_t;
 
 typedef struct {
-       unsigned char up    : 1;
        unsigned char alt   : 1;
        unsigned char ctrl  : 1;
        unsigned char shift : 1;
        unsigned char win   : 1;
+       unsigned char up    : 1;
+       unsigned char spare : 3;
 } mod_t;
 #define MOD(...) ((mod_t){__VA_ARGS__})
-#define mod2int(mod) (*((unsigned*)&(mod)))
+#define mod2int(mod) (*((unsigned short*)&(mod)))
 
 typedef struct {
        int  x,  y;
        int rx, ry;
 } ptr_t;
+#define PTR(...) ((ptr_t){__VA_ARGS__})
 
 void sys_watch(win_t *win, Key_t key, mod_t mod);
 
+void sys_unwatch(win_t *win, Key_t key, mod_t mod);
+
 void sys_move(win_t *win, int x, int y, int w, int h);
 
 void sys_raise(win_t *win);
 
+void sys_focus(win_t *win);
+
+void sys_foreach(win_t *win);
+
+list_t *sys_info(win_t *win);
+
 win_t *sys_init(void);
 
 void sys_run(win_t *root);