X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=wm.h;h=57d79a37481ab31d243ee9d08d89bb321eb65342;hb=7b1461df6049d172f3c95f3adca510b528c9f390;hp=10b319e862b5ce56ab8bd0340eecc077f4ae4289;hpb=eefa2034ad0f5c2ef5eb478984cfc53a6a40c6b7;p=wmpus diff --git a/wm.h b/wm.h index 10b319e..57d79a3 100644 --- a/wm.h +++ b/wm.h @@ -1,22 +1,20 @@ /* - * Copyright (C) 2011 Andy Spencer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * 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 + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF */ /* Window manager interface: - * + * * The window manager receives input events from the system * and responds by using the system to arrange the windows * according to it's layout. @@ -27,14 +25,15 @@ /* Refresh the window layout */ void wm_update(void); -/* Called for each watched key press. - * This is currently used for some other events such - * as focus-in and focus-out as well. */ -int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr); +/* Called for each watched event */ +int wm_handle_event(win_t *win, event_t ev, mod_t mod, ptr_t ptr); /* Called for each mouse movement */ int wm_handle_ptr(win_t *win, ptr_t ptr); +/* Called when a window changes states */ +int wm_handle_state(win_t *win, state_t prev, state_t next); + /* Begin managing a window, called for each new window */ void wm_insert(win_t *win); @@ -43,3 +42,6 @@ void wm_remove(win_t *win); /* First call, sets up key bindings, etc */ void wm_init(win_t *root); + +/* First call, sets up key bindings, etc */ +void wm_free(win_t *root);