static WMenu *makeOptionsMenu(WScreen * scr) { WMenu *menu; WMenuEntry *entry; int i; menu = wMenuCreate(scr, NULL, False); if (!menu) { wwarning(_("could not create submenu for window menu")); return NULL; } for (i = 0; i < wlengthof(menu_options_entries); i++) { entry = wMenuAddCallback(menu, _(menu_options_entries[i]), execWindowOptionCommand, NULL); entry->flags.indicator = 1; entry->flags.indicator_type = MI_CHECK; } for (i = 0; i < MAX_WINDOW_SHORTCUTS; i++) { entry = wMenuAddCallback(menu, "", makeShortcutCommand, NULL); entry->flags.indicator = 1; } return menu; }
static WMenu* createApplicationMenu(WScreen *scr) { WMenu *menu; menu = wMenuCreate(scr, NULL, False); wMenuAddCallback(menu, _("Unhide Here"), unhideHereCallback, NULL); wMenuAddCallback(menu, _("Hide"), hideCallback, NULL); wMenuAddCallback(menu, _("Set Icon..."), setIconCallback, NULL); wMenuAddCallback(menu, _("Kill"), killCallback, NULL); return menu; }
static WMenu *makeMaximizeMenu(WScreen * scr) { WMenu *menu; int i; menu = wMenuCreate(scr, NULL, False); if (!menu) { wwarning(_("could not create submenu for window menu")); return NULL; } for (i = 0; i < wlengthof(menu_maximize_entries); i++) wMenuAddCallback(menu, _(menu_maximize_entries[i].label), execMaximizeCommand, NULL); return menu; }
static WMenu *makeWorkspaceMenu(WScreen * scr) { WMenu *menu; menu = wMenuCreate(scr, NULL, False); if (!menu) { wwarning(_("could not create submenu for window menu")); return NULL; } updateWorkspaceMenu(menu); /* * The Workspace Menu is made visible in the screen structure because * it is updated when there is a change on workspaces. This was done * to be efficient, avoiding re-generating completely the window menu * and its sub-menus every time it is needed. */ scr->workspace_submenu = menu; return menu; }
WMenu *wWorkspaceMenuMake(WScreen * scr, Bool titled) { WMenu *wsmenu; WMenuEntry *entry; wsmenu = wMenuCreate(scr, titled ? _("Workspaces") : NULL, False); if (!wsmenu) { wwarning(_("could not create Workspace menu")); return NULL; } /* callback to be called when an entry is edited */ wsmenu->on_edit = onMenuEntryEdited; wMenuAddCallback(wsmenu, _("New"), newWSCommand, NULL); wMenuAddCallback(wsmenu, _("Destroy Last"), deleteWSCommand, NULL); entry = wMenuAddCallback(wsmenu, _("Last Used"), lastWSCommand, NULL); entry->rtext = GetShortcutKey(wKeyBindings[WKBD_LASTWORKSPACE]); return wsmenu; }
static WMenu *createWindowMenu(WScreen * scr) { WMenu *menu; int i; menu = wMenuCreate(scr, NULL, False); for (i = 0; i < wlengthof(window_menu_entries); i++) { WMenuEntry *entry; entry = wMenuAddCallback(menu, _(window_menu_entries[i].label), (window_menu_entries[i].generate_submenu == NULL)?execMenuCommand:NULL, NULL); if (window_menu_entries[i].generate_submenu != NULL) { WMenu *submenu; submenu = window_menu_entries[i].generate_submenu(scr); wMenuEntrySetCascade(menu, entry, submenu); } } return menu; }