summaryrefslogtreecommitdiff
path: root/tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c
diff options
context:
space:
mode:
authorThomas Ulmer <thomasmulmer02@gmail.com>2026-03-01 11:37:31 -0800
committerThomas Ulmer <thomasmulmer02@gmail.com>2026-03-01 11:37:31 -0800
commite01b84a6698f5060fd7dea789fc0ffa872f26b15 (patch)
treeda1d4369048833f0496ae51d400d118f30c499bd /tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c
parent6d8430971dada74478a0cd2c9eca2272a105b744 (diff)
remove tree
Diffstat (limited to 'tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c')
-rw-r--r--tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c b/tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c
deleted file mode 100644
index 5f62bb7..0000000
--- a/tree/src/slstatus/slstatus-1.1/components/keyboard_indicators.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* See LICENSE file for copyright and license details. */
-#include <ctype.h>
-#include <stdio.h>
-#include <string.h>
-#include <X11/Xlib.h>
-
-#include "../slstatus.h"
-#include "../util.h"
-
-/*
- * fmt consists of uppercase or lowercase 'c' for caps lock and/or 'n' for num
- * lock, each optionally followed by '?', in the order of indicators desired.
- * If followed by '?', the letter with case preserved is included in the output
- * if the corresponding indicator is on. Otherwise, the letter is always
- * included, lowercase when off and uppercase when on.
- */
-const char *
-keyboard_indicators(const char *fmt)
-{
- Display *dpy;
- XKeyboardState state;
- size_t fmtlen, i, n;
- int togglecase, isset;
- char key;
-
- if (!(dpy = XOpenDisplay(NULL))) {
- warn("XOpenDisplay: Failed to open display");
- return NULL;
- }
- XGetKeyboardControl(dpy, &state);
- XCloseDisplay(dpy);
-
- fmtlen = strnlen(fmt, 4);
- for (i = n = 0; i < fmtlen; i++) {
- key = tolower(fmt[i]);
- if (key != 'c' && key != 'n')
- continue;
-
- togglecase = (i + 1 >= fmtlen || fmt[i + 1] != '?');
- isset = (state.led_mask & (1 << (key == 'n')));
-
- if (togglecase)
- buf[n++] = isset ? toupper(key) : key;
- else if (isset)
- buf[n++] = fmt[i];
- }
-
- buf[n] = 0;
- return buf;
-}