aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-11-08 11:54:50 +0100
committerCamil Staps2016-11-30 19:11:44 +0100
commit6b15eebf3e59710ae2d2ef435b58e5d2b3bfac26 (patch)
treee6141e0103801992cc94fbb9c9563ac0e6291ea6
parenti3-nagbar for restarting i3; minimum display brightness on 1 (diff)
spaces to tabs
-rw-r--r--bin/kbdlayout.c77
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));
+ }
}
-