Added keyboard_indicators (Fixes #31)
This commit is contained in:
parent
3f976aabc0
commit
823f2d047f
@ -18,6 +18,7 @@ The following information is included:
|
||||
- Hostname
|
||||
- IP addresses
|
||||
- Kernel version
|
||||
- Keyboard indicators
|
||||
- Load averages
|
||||
- Memory status (free memory, percentage, total memory and used memory)
|
||||
- Swap status (free swap, percentage, total swap and used swap)
|
||||
|
@ -20,6 +20,7 @@
|
||||
- hostname [argument: NULL]
|
||||
- ip (ip address) [argument: interface]
|
||||
- kernel_release (uname -r) [argument: NULL]
|
||||
- keyboard_indicators (caps/num lock indicators) [agrument: NULL]
|
||||
- load_avg (load average) [argument: NULL]
|
||||
- ram_free (free ram in GB) [argument: NULL]
|
||||
- ram_perc (ram usage in percent) [argument: NULL]
|
||||
|
25
slstatus.c
25
slstatus.c
@ -47,6 +47,7 @@ static char *gid(void);
|
||||
static char *hostname(void);
|
||||
static char *ip(const char *iface);
|
||||
static char *kernel_release(void);
|
||||
static char *keyboard_indicators(void);
|
||||
static char *load_avg(void);
|
||||
static char *ram_free(void);
|
||||
static char *ram_perc(void);
|
||||
@ -322,6 +323,30 @@ kernel_release(void)
|
||||
return smprintf("%s", udata.release);
|
||||
}
|
||||
|
||||
static char *
|
||||
keyboard_indicators(void)
|
||||
{
|
||||
Display *dpy = XOpenDisplay(NULL);
|
||||
XKeyboardState state;
|
||||
XGetKeyboardControl(dpy, &state);
|
||||
|
||||
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("");
|
||||
}
|
||||
|
||||
XCloseDisplay(dpy);
|
||||
}
|
||||
|
||||
static char *
|
||||
load_avg(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user