diff options
| author | Camil Staps | 2016-11-08 11:54:50 +0100 | 
|---|---|---|
| committer | Camil Staps | 2016-11-30 19:11:44 +0100 | 
| commit | 6b15eebf3e59710ae2d2ef435b58e5d2b3bfac26 (patch) | |
| tree | e6141e0103801992cc94fbb9c9563ac0e6291ea6 /bin | |
| parent | i3-nagbar for restarting i3; minimum display brightness on 1 (diff) | |
spaces to tabs
Diffstat (limited to 'bin')
| -rw-r--r-- | bin/kbdlayout.c | 77 | 
1 files changed, 37 insertions, 40 deletions
| diff --git a/bin/kbdlayout.c b/bin/kbdlayout.c index 7cdd97e..bb030bb 100644 --- a/bin/kbdlayout.c +++ b/bin/kbdlayout.c @@ -4,54 +4,51 @@  #include <string.h>  char* getActiveLayout(char* names, unsigned char active) { -    int i; -    for (i = 0; names[i]; i++) { -        if (names[i] == '+') { -            if (active <= 0) { -                int j = ++i; -                for (; names[j] && names[j] != '+' && names[j] != ':'; j++); -                char* ret = malloc(j - i + 1); -                strncpy(ret, names + i, j - i); -                ret[j - i] = '\0'; -                return ret; -            } else { -                active--; -            } -        } -    } -    return NULL; +	int i; +	for (i = 0; names[i]; i++) { +		if (names[i] == '+') { +			if (active <= 0) { +				int j = ++i; +				for (; names[j] && names[j] != '+' && names[j] != ':'; j++); +				char* ret = malloc(j - i + 1); +				strncpy(ret, names + i, j - i); +				ret[j - i] = '\0'; +				return ret; +			} else { +				active--; +			} +		} +	} +	return NULL;  }  int main(void) { +	int evCode, errRet, rsnRet; +	int maj = XkbMajorVersion; +	int min = XkbMinorVersion; -    int evCode, errRet, rsnRet; -    int maj = XkbMajorVersion; -    int min = XkbMinorVersion; +	Display* disp = XkbOpenDisplay("", &evCode, &errRet, &maj, &min, &rsnRet); -    Display* disp = XkbOpenDisplay("", &evCode, &errRet, &maj, &min, &rsnRet); -     -    // State -    XkbStatePtr state = calloc(1, sizeof(XkbStateRec)); -    XkbGetState(disp, 0x100, state); +	// State +	XkbStatePtr state = calloc(1, sizeof(XkbStateRec)); +	XkbGetState(disp, 0x100, state); -    // Names -    XkbDescPtr desc = XkbAllocKeyboard(); -    XkbGetNames(disp, XkbSymbolsNameMask, desc); +	// Names +	XkbDescPtr desc = XkbAllocKeyboard(); +	XkbGetNames(disp, XkbSymbolsNameMask, desc); -    Atom symNameAtom = desc->names->symbols; -    char* layouts = XGetAtomName(disp, symNameAtom); +	Atom symNameAtom = desc->names->symbols; +	char* layouts = XGetAtomName(disp, symNameAtom); -    printf("%s\n", getActiveLayout(layouts, state->group)); +	printf("%s\n", getActiveLayout(layouts, state->group)); -    unsigned int mask = XkbStateNotifyMask; -    XkbSelectEvents(disp, XkbUseCoreKbd, mask, mask); - -    XkbEvent event; -    while (1) { -        XNextEvent(disp, &event.core); -        if (event.state.changed & 0x90) -            printf("%s\n", getActiveLayout(layouts, event.state.group)); -    } +	unsigned int mask = XkbStateNotifyMask; +	XkbSelectEvents(disp, XkbUseCoreKbd, mask, mask); +	XkbEvent event; +	while (1) { +		XNextEvent(disp, &event.core); +		if (event.state.changed & 0x90) +			printf("%s\n", getActiveLayout(layouts, event.state.group)); +	}  } - | 
