From 1b4a5a6bc4712468b4b5bfedc584f0e03728fe11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AB=8F=E8=A8=AA=E5=AD=90?= Date: Fri, 21 Jun 2024 21:02:43 +0900 Subject: =?UTF-8?q?WM=E6=83=85=E5=A0=B1=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/wm.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/wm.c (limited to 'src/wm.c') 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 +#include +#include + +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; +} -- cgit v1.2.3