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 | |
parent | i3-nagbar for restarting i3; minimum display brightness on 1 (diff) |
spaces to tabs
-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)); + } } - |