diff options
Diffstat (limited to 'src/Screen.cc')
-rw-r--r-- | src/Screen.cc | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 1525db6..869fb30 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -278,7 +278,7 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager &rm, | |||
278 | default_deco(rm, "NORMAL", scrname+".defaultDeco", altscrname+".DefaultDeco"), | 278 | default_deco(rm, "NORMAL", scrname+".defaultDeco", altscrname+".DefaultDeco"), |
279 | rootcommand(rm, "", scrname+".rootCommand", altscrname+".RootCommand"), | 279 | rootcommand(rm, "", scrname+".rootCommand", altscrname+".RootCommand"), |
280 | tab_placement(rm, FbWinFrame::TOPLEFT, scrname+".tab.placement", altscrname+".Tab.Placement"), | 280 | tab_placement(rm, FbWinFrame::TOPLEFT, scrname+".tab.placement", altscrname+".Tab.Placement"), |
281 | windowmenufile(rm, "", scrname+".windowMenu", altscrname+".WindowMenu"), | 281 | windowmenufile(rm, Fluxbox::instance()->getDefaultDataFilename("windowmenu"), scrname+".windowMenu", altscrname+".WindowMenu"), |
282 | typing_delay(rm, 0, scrname+".noFocusWhileTypingDelay", altscrname+".NoFocusWhileTypingDelay"), | 282 | typing_delay(rm, 0, scrname+".noFocusWhileTypingDelay", altscrname+".NoFocusWhileTypingDelay"), |
283 | follow_model(rm, IGNORE_OTHER_WORKSPACES, scrname+".followModel", altscrname+".followModel"), | 283 | follow_model(rm, IGNORE_OTHER_WORKSPACES, scrname+".followModel", altscrname+".followModel"), |
284 | user_follow_model(rm, FOLLOW_ACTIVE_WINDOW, scrname+".userFollowModel", altscrname+".UserFollowModel"), | 284 | user_follow_model(rm, FOLLOW_ACTIVE_WINDOW, scrname+".userFollowModel", altscrname+".UserFollowModel"), |
@@ -1523,6 +1523,12 @@ void BScreen::rereadMenu() { | |||
1523 | 1523 | ||
1524 | } | 1524 | } |
1525 | 1525 | ||
1526 | const std::string BScreen::windowMenuFilename() const { | ||
1527 | if ((*resource.windowmenufile).empty()) | ||
1528 | return Fluxbox::instance()->getDefaultDataFilename("windowmenu"); | ||
1529 | return *resource.windowmenufile; | ||
1530 | } | ||
1531 | |||
1526 | void BScreen::rereadWindowMenu() { | 1532 | void BScreen::rereadWindowMenu() { |
1527 | 1533 | ||
1528 | m_windowmenu->removeAll(); | 1534 | m_windowmenu->removeAll(); |
@@ -1530,26 +1536,6 @@ void BScreen::rereadWindowMenu() { | |||
1530 | MenuCreator::createFromFile(windowMenuFilename(), *m_windowmenu, | 1536 | MenuCreator::createFromFile(windowMenuFilename(), *m_windowmenu, |
1531 | m_windowmenu->reloadHelper()); | 1537 | m_windowmenu->reloadHelper()); |
1532 | 1538 | ||
1533 | if (m_windowmenu->numberOfItems() == 0) { | ||
1534 | const char *defaults[] = { | ||
1535 | "shade", | ||
1536 | "stick", | ||
1537 | "maximize", | ||
1538 | "iconify", | ||
1539 | "raise", | ||
1540 | "lower", | ||
1541 | "sendto", | ||
1542 | "layer", | ||
1543 | "alpha", | ||
1544 | "extramenus", | ||
1545 | "separator", | ||
1546 | "close", | ||
1547 | 0 | ||
1548 | }; | ||
1549 | for (unsigned int i=0; defaults[i]; ++i) | ||
1550 | MenuCreator::createWindowMenuItem(defaults[i], "", *m_windowmenu); | ||
1551 | } | ||
1552 | |||
1553 | } | 1539 | } |
1554 | 1540 | ||
1555 | void BScreen::addConfigMenu(const FbTk::FbString &label, FbTk::Menu &menu) { | 1541 | void BScreen::addConfigMenu(const FbTk::FbString &label, FbTk::Menu &menu) { |