/** Get information about wmfs *\param info Type of information in a string */ void getinfo(char *info) { if(!check_wmfs_running()) return; ewmh_send_message(ROOT, ROOT, "_WMFS_UPDATE_HINTS", 0, 0, 0, 0, True); if(!strcmp(info, "tag")) getinfo_tag(); else if(!strcmp(info, "screen")) getinfo_screen(); else if(!strcmp(info, "layout")) getinfo_layout(); else if(!strcmp(info, "mwfact")) getinfo_mwfact(); else if(!strcmp(info, "nmaster")) getinfo_nmaster(); else if(!strcmp(info, "help")) printf("Argument list for wmfs -g options:\n" " tag Show current tag number and name, and tag list.\n" " screen Show current screen and screens number.\n" " layout Show current layout name.\n" " mwfact Show mwfact of current tag.\n" " nmaster Show nmaster of current tag.\n"); else warnx("Unknow info argument '%s'\nTry 'wmfs -g help'", info); return; }
/** Update status script by ewmh hint */ static void update_status(void) { if(!check_wmfs_running()) return; ewmh_send_message(ROOT, ROOT, "_WMFS_UPDATE_STATUS", 0, 0, 0, 0, True); return; }
/** Execute an uicb function *\param func Function name *\param cmd Function's command *\return 0 if there is an error */ void exec_uicb_function(char *func, char *cmd) { /* Check if wmfs is running (this function is executed when wmfs is already running normally...) */ if(!check_wmfs_running()) return; XChangeProperty(dpy, ROOT, ATOM("_WMFS_FUNCTION"), ATOM("UTF8_STRING"), 8, PropModeReplace, (uchar*)func, strlen(func)); if(cmd == NULL) cmd = ""; XChangeProperty(dpy, ROOT, ATOM("_WMFS_CMD"), ATOM("UTF8_STRING"), 8, PropModeReplace, (uchar*)cmd, strlen(cmd)); ewmh_send_message(ROOT, ROOT, "_WMFS_FUNCTION", 0, 0, 0, 0, True); return; }