diff --git a/src/defaults.c b/src/defaults.c index dab5e64a..70a372a5 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -61,6 +61,7 @@ #include "dock.h" #include "workspace.h" #include "properties.h" +#include "rootmenu.h" #define MAX_SHORTCUT_LENGTH 32 @@ -998,6 +999,9 @@ void wDefaultsCheckDomains(void* arg) } WDRootMenu->dictionary = dict; wDefaultsMergeGlobalMenus(WDRootMenu); + scr = wScreenWithNumber(0); + configureMenu(scr, dict, True); + rebind_key_grabs(scr); } } else { wwarning(_("could not load domain %s from user defaults database"), "WMRootMenu"); diff --git a/src/rootmenu.c b/src/rootmenu.c index cccbab8f..91833809 100644 --- a/src/rootmenu.c +++ b/src/rootmenu.c @@ -50,6 +50,7 @@ #include "framewin.h" #include "session.h" #include "xmodifier.h" +#include "rootmenu.h" #include @@ -63,7 +64,6 @@ extern WPreferences wPreferences; static WMenu *readMenuPipe(WScreen * scr, char **file_name); static WMenu *readMenuFile(WScreen * scr, char *file_name); static WMenu *readMenuDirectory(WScreen * scr, char *title, char **file_name, char *command); -static WMenu *configureMenu(WScreen * scr, WMPropList * definition, Bool includeGlobals); typedef struct Shortcut { struct Shortcut *next; @@ -379,7 +379,7 @@ void wRootMenuBindShortcuts(Window window) } } -static void rebindKeygrabs(WScreen * scr) +void rebind_key_grabs(WScreen *scr) { WWindow *wwin; @@ -1479,7 +1479,7 @@ static WMenu *makeDefaultMenu(WScreen * scr) * *---------------------------------------------------------------------- */ -static WMenu *configureMenu(WScreen * scr, WMPropList * definition, Bool includeGlobals) +WMenu *configureMenu(WScreen *scr, WMPropList *definition, Bool includeGlobals) { WMenu *menu = NULL; WMPropList *elem; @@ -1730,5 +1730,5 @@ void OpenRootMenu(WScreen * scr, int x, int y, int keyboard) } if (scr->flags.root_menu_changed_shortcuts) - rebindKeygrabs(scr); + rebind_key_grabs(scr); } diff --git a/src/rootmenu.h b/src/rootmenu.h index e7ed8557..76085368 100644 --- a/src/rootmenu.h +++ b/src/rootmenu.h @@ -23,11 +23,11 @@ #define WMROOTMENU_H #include "WindowMaker.h" - +#include "screen.h" +#include "menu.h" typedef void *WRootMenuData; - typedef struct _WRootMenuReader { Bool (*checkMenuChange)(char *path, time_t lastAccessTime); @@ -41,4 +41,7 @@ typedef struct _WRootMenuReader { void (*closeMenuFile)(WRootMenuData *data); } WRootMenuReader; +void rebind_key_grabs(WScreen *scr); +WMenu *configureMenu(WScreen *scr, WMPropList *definition, Bool includeGlobals); + #endif /* WMROOTMENU_H */