diff options
author | 諏訪子 <suwako@076.moe> | 2024-06-21 21:02:43 +0900 |
---|---|---|
committer | 諏訪子 <suwako@076.moe> | 2024-06-21 21:02:43 +0900 |
commit | 1b4a5a6bc4712468b4b5bfedc584f0e03728fe11 (patch) | |
tree | 370fe7fd266cd47304a2aa8380f4ae53e48c39d0 /src/wm.c | |
parent | 96c5f9fdf06e7e1d944da3a1800cf9f7f00e8398 (diff) |
WM情報の追加
Diffstat (limited to 'src/wm.c')
-rw-r--r-- | src/wm.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/wm.c b/src/wm.c new file mode 100644 index 0000000..9126755 --- /dev/null +++ b/src/wm.c @@ -0,0 +1,37 @@ +#include "wm.h" +#include "common.h" + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +const char *display_wm() { +#if defined(__APPLE__) + return "Aqua"; +#else + const char *display = run_command_s("echo $DISPLAY"); + if (display == NULL || strlen(display) == 0) return NULL; + else free((void *)display); + + char cmd[512]; + const char *id = run_command_s("xprop -root -notype _NET_SUPPORTING_WM_CHECK | " + "awk '{print $5}'"); + + snprintf( + cmd, + sizeof(cmd), + "%s%s%s", + "xprop -id ", + id, + " -notype -len 100 -f _NET_WM_NAME 8t | awk '{print $3}' | head -1 | " + "sed 's/\"//g'" + ); + + free((void *)id); + + const char *wm = run_command_s(cmd); + + return wm; +#endif + return NULL; +} |