/** Reload the menu. */ void ReloadMenu(void) { shouldReload = 1; if(!menuShown) { ShutdownRootMenu(); DestroyRootMenu(); InitializeRootMenu(); ParseConfig(configPath); StartupRootMenu(); shouldReload = 0; } }
/** Startup the various JWM components. * This is called after the X connection is opened. */ void Startup(void) { /* This order is important. */ /* First we grab the server to prevent clients from changing things * while we're still loading. */ GrabServer(); StartupSettings(); StartupScreens(); StartupGroups(); StartupColors(); StartupIcons(); StartupBackgrounds(); StartupFonts(); StartupCursors(); StartupPager(); StartupClock(); StartupTaskBar(); StartupTrayButtons(); StartupDesktops(); StartupHints(); StartupDock(); StartupTray(); StartupKeys(); StartupBorders(); StartupPlacement(); StartupClients(); # ifndef DISABLE_CONFIRM StartupDialogs(); # endif StartupPopup(); StartupRootMenu(); SetDefaultCursor(rootWindow); ReadCurrentDesktop(); JXFlush(display); RequireRestack(); /* Allow clients to do their thing. */ JXSync(display, True); UngrabServer(); StartupSwallow(); DrawTray(); /* Send expose events. */ ExposeCurrentDesktop(); /* Draw the background (if backgrounds are used). */ LoadBackground(currentDesktop); /* Run any startup commands. */ StartupCommands(); }