diff options
author | Sergey Udaltsov <svu@gnome.org> | 2004-11-25 23:17:30 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2004-11-25 23:17:30 +0000 |
commit | d431ef4a3ca6228954ddb21e2e4a88f0cf9e8624 (patch) | |
tree | bf8eb5bf48f308bfe325e1d7dcffa89bdfb9245e /libxklavier/xklavier_props.c | |
parent | d5c0ab08dad47f5a9d1c17eb18f80aceca5843b9 (diff) | |
download | libxklavier-d431ef4a3ca6228954ddb21e2e4a88f0cf9e8624.tar.gz |
first commit with xmodmap support
Diffstat (limited to 'libxklavier/xklavier_props.c')
-rw-r--r-- | libxklavier/xklavier_props.c | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/libxklavier/xklavier_props.c b/libxklavier/xklavier_props.c index 99c12e0..7435ae2 100644 --- a/libxklavier/xklavier_props.c +++ b/libxklavier/xklavier_props.c @@ -13,12 +13,9 @@ #include "xklavier_config.h" #include "xklavier_private.h" -#define XKB_DEFAULT_MODEL "pc101" -#define XKB_DEFAULT_LAYOUT "us" - void XklConfigRecInit( XklConfigRecPtr data ) { - // clear the structure VarDefsPtr... + /* clear the structure VarDefsPtr... */ memset( ( void * ) data, 0, sizeof( XklConfigRec ) ); } @@ -50,11 +47,11 @@ static Bool _XklGetDefaultNamesProp( char **rulesFileOut, XklConfigRecPtr data ) { if ( rulesFileOut != NULL ) *rulesFileOut = strdup( XKB_DEFAULT_RULESET ); - data->model = strdup( XKB_DEFAULT_MODEL ); -// keeping Nvariants = Nlayouts + data->model = strdup( xklVTable->defaultModel ); +/* keeping Nvariants = Nlayouts */ data->numLayouts = data->numVariants = 1; data->layouts = malloc( sizeof( char * ) ); - data->layouts[0] = strdup( XKB_DEFAULT_LAYOUT ); + data->layouts[0] = strdup( xklVTable->defaultLayout ); data->variants = malloc( sizeof( char * ) ); data->variants[0] = strdup( "" ); data->numOptions = 0; @@ -62,6 +59,17 @@ static Bool _XklGetDefaultNamesProp( char **rulesFileOut, XklConfigRecPtr data ) return True; } +Bool _XklConfigGetFullFromServer( char **rulesFileOut, XklConfigRecPtr data ) +{ + Bool rv = + XklGetNamesProp( xklVTable->baseConfigAtom, rulesFileOut, data ); + + if( !rv ) + rv = _XklGetDefaultNamesProp( rulesFileOut, data ); + + return rv; +} + Bool XklConfigRecEquals( XklConfigRecPtr data1, XklConfigRecPtr data2 ) { if ( data1 == data2 ) @@ -116,19 +124,13 @@ void XklConfigRecReset( XklConfigRecPtr data ) Bool XklConfigGetFromServer( XklConfigRecPtr data ) { - Bool rv = - XklGetNamesProp( _xklAtoms[XKB_RF_NAMES_PROP_ATOM], NULL, data ); - - if( !rv ) - rv = _XklGetDefaultNamesProp( NULL, data ); - - return rv; + return _XklConfigGetFullFromServer( NULL, data ); } Bool XklConfigGetFromBackup( XklConfigRecPtr data ) { Bool rv = - XklGetNamesProp( _xklAtoms[XKB_RF_NAMES_PROP_ATOM_BACKUP], NULL, data ); + XklGetNamesProp( xklVTable->backupConfigAtom, NULL, data ); return rv; } @@ -142,16 +144,14 @@ Bool XklBackupNamesProp( ) XklConfigRecInit( &data ); if( XklGetNamesProp - ( _xklAtoms[XKB_RF_NAMES_PROP_ATOM_BACKUP], NULL, &data ) ) + ( xklVTable->backupConfigAtom, NULL, &data ) ) { XklConfigRecDestroy( &data ); return True; } - // "backup" property is not defined + /* "backup" property is not defined */ XklConfigRecReset( &data ); - cgp = XklGetNamesProp( _xklAtoms[XKB_RF_NAMES_PROP_ATOM], &rf, &data ); - if ( !cgp ) - cgp = _XklGetDefaultNamesProp( &rf, &data ); + cgp = _XklConfigGetFullFromServer( &rf, &data ); if ( cgp ) { @@ -171,7 +171,7 @@ Bool XklBackupNamesProp( ) for( i = data.numOptions; --i >= 0; ) XklDebug( 150, "%d: [%s]\n", i, data.options[i] ); #endif - if( !XklSetNamesProp( _xklAtoms[XKB_RF_NAMES_PROP_ATOM_BACKUP], rf, &data ) ) + if( !XklSetNamesProp( xklVTable->backupConfigAtom, rf, &data ) ) { XklDebug( 150, "Could not backup the configuration" ); rv = False; @@ -194,13 +194,13 @@ Bool XklRestoreNamesProp( ) XklConfigRec data; XklConfigRecInit( &data ); - if( !XklGetNamesProp( _xklAtoms[XKB_RF_NAMES_PROP_ATOM_BACKUP], NULL, &data ) ) + if( !XklGetNamesProp( xklVTable->backupConfigAtom, NULL, &data ) ) { XklConfigRecDestroy( &data ); return False; } - if( !XklSetNamesProp( _xklAtoms[XKB_RF_NAMES_PROP_ATOM], rf, &data ) ) + if( !XklSetNamesProp( xklVTable->baseConfigAtom, rf, &data ) ) { XklDebug( 150, "Could not backup the configuration" ); rv = False; @@ -218,7 +218,7 @@ Bool XklGetNamesProp( Atom rulesAtom, char *propData = NULL, *out; Status rtrn; - // no such atom! + /* no such atom! */ if( rulesAtom == None ) /* property cannot exist */ { _xklLastErrorMsg = "Could not find the atom"; @@ -230,17 +230,17 @@ Bool XklGetNamesProp( Atom rulesAtom, _XKB_RF_NAMES_PROP_MAXLEN, False, XA_STRING, &realPropType, &fmt, &nitems, &extraBytes, ( unsigned char ** ) ( void * ) &propData ); - // property not found! + /* property not found! */ if( rtrn != Success ) { _xklLastErrorMsg = "Could not get the property"; return False; } - // set rules file to "" + /* set rules file to "" */ if( rulesFileOut ) *rulesFileOut = NULL; - // has to be array of strings + /* has to be array of strings */ if( ( extraBytes > 0 ) || ( realPropType != XA_STRING ) || ( fmt != 8 ) ) { if( propData ) @@ -255,13 +255,13 @@ Bool XklGetNamesProp( Atom rulesAtom, return False; } - // rules file + /* rules file */ out = propData; if( out && ( *out ) && rulesFileOut ) *rulesFileOut = strdup( out ); out += strlen( out ) + 1; - // if user is interested in rules only - don't waste the time + /* if user is interested in rules only - don't waste the time */ if( !data ) { XFree( propData ); @@ -298,7 +298,7 @@ Bool XklGetNamesProp( Atom rulesAtom, ( data->numLayouts - data->numVariants ) * sizeof( char * ) ); data->numVariants = data->numLayouts; } - // take variants from layouts like ru(winkeys) + /* take variants from layouts like ru(winkeys) */ theLayout = data->layouts; theVariant = data->variants; for( i = data->numLayouts; --i >= 0; theLayout++, theVariant++ ) @@ -313,7 +313,7 @@ Bool XklGetNamesProp( Atom rulesAtom, { int varlen = varend - varstart; int laylen = varstart - *theLayout; - // I am not sure - but I assume variants in layout have priority + /* I am not sure - but I assume variants in layout have priority */ char *var = *theVariant = ( *theVariant != NULL ) ? realloc( *theVariant, varlen ) : malloc( varlen ); memcpy( var, varstart + 1, --varlen ); @@ -330,13 +330,13 @@ Bool XklGetNamesProp( Atom rulesAtom, if( ( out - propData ) < nitems ) { _XklConfigRecSplitOptions( data, out ); -// out += strlen( out ) + 1; +/* out += strlen( out ) + 1; */ } XFree( propData ); return True; } -// taken from XFree86 maprules.c +/* taken from XFree86 maprules.c */ Bool XklSetNamesProp( Atom rulesAtom, char *rulesFile, const XklConfigRecPtr data ) { |