Main Page | Modules | Compound List | File List | Compound 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 #include <X11/XKBlib.h>
00012 
00013 #ifdef __cplusplus
00014 extern "C"
00015 {
00016 #endif
00017 
00018   typedef enum
00019   {
00023     GROUP_CHANGED,
00027     INDICATORS_CHANGED
00028   }
00029   XklStateChange;
00030 
00034   typedef struct
00035   {
00037     int group;
00039     unsigned indicators;
00040   }
00041   XklState;
00042 
00056   extern int XklInit( Display * dpy );
00057 
00061   extern int XklTerm( void );
00062 
00074   extern int XklStartListen( void );
00075 
00080   extern int XklStopListen( void );
00081 
00086   extern int XklPauseListen( void );
00087 
00092   extern int XklResumeListen( void );
00093 
00100   extern Bool XklGrabKey( int key, unsigned modifiers );
00101 
00108   extern Bool XklUngrabKey( int key, unsigned modifiers );
00109 
00117   extern int XklFilterEvents( XEvent * evt );
00118 
00122   extern void XklAllowOneSwitchToSecondaryGroup( void );
00123 
00134   extern Window XklGetCurrentWindow( void );
00135 
00140   extern XklState *XklGetCurrentState( void );
00141 
00153   extern char *XklGetWindowTitle( Window w );
00154 
00162   extern Bool XklGetState( Window win, XklState * state_return );
00163 
00168   extern void XklDelState( Window win );
00169 
00175   extern void XklSaveState( Window win, XklState * state );
00176 
00184   extern void XklSetTransparent( Window win, Bool transparent );
00185 
00191   extern Bool XklIsTransparent( Window win );
00192 
00199   extern Bool XklIsSameApp( Window win1, Window win2 );
00200 
00212   extern unsigned XklGetNumGroups( void );
00213 
00219   extern const char **XklGetGroupNames( void );
00220 
00226   extern const char **XklGetIndicatorNames( void );
00227 
00239   extern int XklGetNextGroup( void );
00240 
00245   extern int XklGetPrevGroup( void );
00246 
00251   extern int XklGetRestoreGroup( void );
00252 
00260   extern void XklLockGroup( int group );
00261 
00274   typedef void ( *XklConfigCallback ) ( void *userData );
00275 
00282   extern int XklRegisterConfigCallback( XklConfigCallback fun,
00283                                         void *userData );
00284 
00296   typedef int ( *XklWinCallback ) ( Window win, Window parent,
00297                                     void *userData );
00298 
00305   extern int XklRegisterWindowCallback( XklWinCallback fun, void *userData );
00306 
00316   typedef void ( *XklStateCallback ) ( XklStateChange changeType, int group,
00317                                        Bool restore, void *userData );
00318 
00325   extern int XklRegisterStateCallback( XklStateCallback fun, void *userData );
00326 
00338   extern void XklSetGroupPerApp( Bool isGlobal );
00339 
00343   extern Bool XklIsGroupPerApp( void );
00344 
00349   extern void XklSetIndicatorsHandling( Bool whetherHandle );
00350 
00354   extern Bool XklGetIndicatorsHandling( void );
00355 
00362   extern void XklSetSecondaryGroupsMask( int mask );
00363 
00367   extern int XklGetSecondaryGroupsMask( void );
00368 
00374   extern void XklSetDefaultGroup( int group );
00375 
00381   extern int XklGetDefaultGroup( void );
00382 
00393   extern const char *XklGetLastError( void );
00394 
00405   extern void _XklDebug( const char file[], const char function[], int level,
00406                          const char format[], ... );
00407 
00422   typedef void ( *XklLogAppender ) ( const char file[], const char function[],
00423                                      int level, const char format[],
00424                                      va_list args );
00425 
00437   extern void XklDefaultLogAppender( const char file[], const char function[],
00438                                      int level, const char format[],
00439                                      va_list args );
00440 
00445   extern void XklSetLogAppender( XklLogAppender fun );
00446 
00452   extern void XklSetDebugLevel( int level );
00453 
00460 #define XklDebug( level, format, args... ) \
00461   _XklDebug( __FILE__, __func__, level, format, ## args )
00462 
00465 #ifdef __cplusplus
00466 }
00467 #endif                          /* __cplusplus */
00468 
00469 #endif

Generated on Fri Oct 24 20:15:53 2003 for libxklavier by doxygen 1.3.3