+ return smprintf("%s", UNKNOWN_STR);
+}
+
+static char *
+kernel_release(void)
+{
+ struct utsname udata;
+
+ if (uname(&udata) < 0) {
+ return smprintf(UNKNOWN_STR);
+ }
+
+ return smprintf("%s", udata.release);
+}
+
+static char *
+keyboard_indicators(void)
+{
+ Display *dpy = XOpenDisplay(NULL);
+ XKeyboardState state;
+ XGetKeyboardControl(dpy, &state);
+ XCloseDisplay(dpy);
+
+ switch (state.led_mask) {
+ case 1:
+ return smprintf("c");
+ break;
+ case 2:
+ return smprintf("n");
+ break;
+ case 3:
+ return smprintf("cn");
+ break;
+ default:
+ return smprintf("");
+ }