Main Page | Modules | Class List | File List | Class Members | File Members

xklavier.h

Go to the documentation of this file.
00001 00005 #ifndef __XKLAVIER_H__ 00006 #define __XKLAVIER_H__ 00007 00008 #include <stdarg.h> 00009 00010 #include <X11/Xlib.h> 00011 00012 #ifdef XKB_HEADERS_PRESENT 00013 #include <X11/XKBlib.h> 00014 #endif 00015 00016 #ifdef __cplusplus 00017 extern "C" 00018 { 00019 #endif 00020 00021 typedef enum 00022 { 00026 GROUP_CHANGED, 00030 INDICATORS_CHANGED 00031 } 00032 XklStateChange; 00033 00037 typedef struct 00038 { 00040 int group; 00042 unsigned indicators; 00043 } 00044 XklState; 00045 00059 extern int XklInit( Display * dpy ); 00060 00064 extern int XklTerm( void ); 00065 00077 extern int XklStartListen( void ); 00078 00083 extern int XklStopListen( void ); 00084 00089 extern int XklPauseListen( void ); 00090 00095 extern int XklResumeListen( void ); 00096 00103 extern Bool XklGrabKey( int key, unsigned modifiers ); 00104 00111 extern Bool XklUngrabKey( int key, unsigned modifiers ); 00112 00120 extern int XklFilterEvents( XEvent * evt ); 00121 00125 extern void XklAllowOneSwitchToSecondaryGroup( void ); 00126 00137 extern Window XklGetCurrentWindow( void ); 00138 00143 extern XklState *XklGetCurrentState( void ); 00144 00156 extern char *XklGetWindowTitle( Window w ); 00157 00165 extern Bool XklGetState( Window win, XklState * state_return ); 00166 00171 extern void XklDelState( Window win ); 00172 00178 extern void XklSaveState( Window win, XklState * state ); 00179 00187 extern void XklSetTransparent( Window win, Bool transparent ); 00188 00194 extern Bool XklIsTransparent( Window win ); 00195 00202 extern Bool XklIsSameApp( Window win1, Window win2 ); 00203 00215 extern unsigned XklGetNumGroups( void ); 00216 00222 extern const char **XklGetGroupNames( void ); 00223 00229 extern const char **XklGetIndicatorNames( void ); 00230 00242 extern int XklGetNextGroup( void ); 00243 00248 extern int XklGetPrevGroup( void ); 00249 00254 extern int XklGetRestoreGroup( void ); 00255 00263 extern void XklLockGroup( int group ); 00264 00277 typedef void ( *XklConfigCallback ) ( void *userData ); 00278 00285 extern int XklRegisterConfigCallback( XklConfigCallback fun, 00286 void *userData ); 00287 00299 typedef int ( *XklWinCallback ) ( Window win, Window parent, 00300 void *userData ); 00301 00308 extern int XklRegisterWindowCallback( XklWinCallback fun, void *userData ); 00309 00319 typedef void ( *XklStateCallback ) ( XklStateChange changeType, int group, 00320 Bool restore, void *userData ); 00321 00328 extern int XklRegisterStateCallback( XklStateCallback fun, void *userData ); 00329 00341 extern void XklSetGroupPerApp( Bool isGlobal ); 00342 00346 extern Bool XklIsGroupPerApp( void ); 00347 00352 extern void XklSetIndicatorsHandling( Bool whetherHandle ); 00353 00357 extern Bool XklGetIndicatorsHandling( void ); 00358 00365 extern void XklSetSecondaryGroupsMask( int mask ); 00366 00370 extern int XklGetSecondaryGroupsMask( void ); 00371 00377 extern void XklSetDefaultGroup( int group ); 00378 00384 extern int XklGetDefaultGroup( void ); 00385 00396 extern const char *XklGetLastError( void ); 00397 00408 extern void _XklDebug( const char file[], const char function[], int level, 00409 const char format[], ... ); 00410 00425 typedef void ( *XklLogAppender ) ( const char file[], const char function[], 00426 int level, const char format[], 00427 va_list args ); 00428 00440 extern void XklDefaultLogAppender( const char file[], const char function[], 00441 int level, const char format[], 00442 va_list args ); 00443 00448 extern void XklSetLogAppender( XklLogAppender fun ); 00449 00455 extern void XklSetDebugLevel( int level ); 00456 00463 #ifdef G_HAVE_ISO_VARARGS 00464 #define XklDebug( level, ... ) \ 00465 _XklDebug( __FILE__, __func__, level, __VA_ARGS__ ) 00466 #elif defined(G_HAVE_GNUC_VARARGS) 00467 #define XklDebug( level, format, args... ) \ 00468 _XklDebug( __FILE__, __func__, level, format, ## args ) 00469 #else 00470 #define XklDebug( level, ... ) \ 00471 _XklDebug( __FILE__, __func__, level, __VA_ARGS__ ) 00472 #endif 00473 00476 #ifdef __cplusplus 00477 } 00478 #endif /* __cplusplus */ 00479 00480 #endif

Generated on Tue Aug 3 21:09:05 2004 for libxklavier by doxygen 1.3.8