/* * Matchbox Window Manager II - A lightweight window manager not for the * desktop. * * Authored By Matthew Allum * * Copyright (c) 2005 OpenedHand Ltd - http://o-hand.com * * 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 2, 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. * */ #ifndef _HAVE_MB_WM_KEYS_H #define _HAVE_MB_WM_KEYS_H #include typedef struct MBWMKeys MBWMKeys; typedef struct MBWMKeyBinding MBWMKeyBinding; typedef void (*MBWMKeyPressedFunc) (MBWMManager *wm, MBWMKeyBinding *binding, void *userdata); typedef void (*MBWMKeyDestroyFunc) (MBWMManager *wm, MBWMKeyBinding *binding, void *userdata); struct MBWMKeyBinding { KeySym keysym; int modifier_mask; MBWMKeyPressedFunc pressed; MBWMKeyDestroyFunc destroy; void *userdata; /* FIXME: free func */ }; void mb_wm_keys_binding_remove_all (MBWMManager *wm); void mb_wm_keys_binding_remove (MBWMManager *wm, MBWMKeyBinding *binding); MBWMKeyBinding* mb_wm_keys_binding_add (MBWMManager *wm, KeySym ks, int mask, MBWMKeyPressedFunc press_func, MBWMKeyDestroyFunc destroy_func, void *userdata); MBWMKeyBinding* mb_wm_keys_binding_add_with_spec (MBWMManager *wm, const char *keystr, MBWMKeyPressedFunc press_func, MBWMKeyDestroyFunc destroy_func, void *userdata); void mb_wm_keys_press (MBWMManager *wm, KeySym keysym, int modifier_mask); Bool mb_wm_keys_init (MBWMManager *wm); #endif