X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=wm-tags.c;h=d0b12ecdbd56f101d3f9bc15d1732e59ae86720e;hb=6e727b79920302fb99b1905af34a25e745a982ef;hp=83f7b2857617de5ea8026084afac96778f6060dd;hpb=abf32f3ab4e5214d1a64579d4c7d8134ab46d797;p=wmpus diff --git a/wm-tags.c b/wm-tags.c index 83f7b28..d0b12ec 100644 --- a/wm-tags.c +++ b/wm-tags.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Andy Spencer + * Copyright (c) 2011-2012, Andy Spencer * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -18,6 +18,7 @@ #include #include "util.h" +#include "types.h" #include "sys.h" #include "wm.h" @@ -35,11 +36,11 @@ void wm_update(void) { } -int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr) +int wm_handle_event(win_t *win, event_t ev, mod_t mod, ptr_t ptr) { - int new = key - '0'; + int new = ev - '0'; if (!win || !mod.MODKEY || mod.up || new == tag || - key < '0' || key > '9') + ev < '0' || ev > '9') return 0; if (mod.shift) { @@ -48,12 +49,12 @@ int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr) return 0; tags[tag] = list_remove(tags[tag], node, 0); tags[new] = list_insert(tags[new], win); - sys_show(win, st_hide); + sys_show(win, ST_HIDE); } else { for (list_t *cur = tags[new]; cur; cur = cur->next) - sys_show(cur->data, st_show); + sys_show(cur->data, ST_SHOW); for (list_t *cur = tags[tag]; cur; cur = cur->next) - sys_show(cur->data, st_hide); + sys_show(cur->data, ST_HIDE); tag = new; } return 1; @@ -64,6 +65,11 @@ int wm_handle_ptr(win_t *cwin, ptr_t ptr) return 0; } +int wm_handle_state(win_t *win, state_t prev, state_t next) +{ + return 0; +} + void wm_insert(win_t *win) { tags[tag] = list_insert(tags[tag], win); @@ -79,20 +85,20 @@ void wm_remove(win_t *win) } } -void wm_init(win_t *root) +void wm_init(void) { - Key_t keys[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; + event_t keys[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; for (int i = 0; i < countof(keys); i++) { - sys_watch(root, keys[i], MOD(.MODKEY=1)); - sys_watch(root, keys[i], MOD(.MODKEY=1,.shift=1)); + sys_watch(NULL, keys[i], MOD(.MODKEY=1)); + sys_watch(NULL, keys[i], MOD(.MODKEY=1,.shift=1)); } } -void wm_free(win_t *root) +void wm_free(void) { for (int i = 0; i < 10; i++) { while (tags[i]) { - sys_show(tags[i]->data, st_show); + sys_show(tags[i]->data, ST_SHOW); tags[i] = list_remove(tags[i], tags[i], 0); } }