このC関数は、多くのウィンドウマネージャーでウィンドウ装飾を無効または有効にするために使用できます。'mode'が'd'の場合、ウィンドウは装飾を非表示にします。それ以外の場合、'mode'が'D'の場合、ウィンドウは装飾を表示します。
void window_tune_decorations(Display *disp, Window win, char mode) {
long hints[5] = { 2, 0, 0, 0, 0};
Atom motif_hints = XInternAtom(disp, "_MOTIF_WM_HINTS", False);
switch (mode) {
case 'D':
hints[2] = 1;
/* fall through */
case 'd':
XChangeProperty(disp, win, motif_hints, motif_hints, 32, PropModeReplace, (unsigned char *)hints, 5);
break;
default:
fputs("Invalid mode.\n", stderr);
}
}
「トグルモード」を実装したいのですが。だから私の質問は、窓に装飾があるかどうかを検出する方法はありますか?XGetWindowPropertyを_MOTIF_WM_HINTSで使用しようとしましたが、出力を解釈する方法がわかりません。