aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-07-18 10:44:01 (GMT)
committerPaul Tagliamonte <paultag@fluxbox.org>2012-04-07 02:11:32 (GMT)
commite1c1e1d11dc6bbf096586a7605869a11d0229729 (patch)
tree8c945b1c5deeda80448d89c3c3aa7c4255c05606
parent54d7ed69720381e0b68c0f25115a9d603195bc9e (diff)
downloadfluxbox_paul-e1c1e1d11dc6bbf096586a7605869a11d0229729.zip
fluxbox_paul-e1c1e1d11dc6bbf096586a7605869a11d0229729.tar.bz2
Attach modifiedSig handlers to the session.screenX.windowMenu resource
-rw-r--r--src/Screen.cc15
-rw-r--r--src/Screen.hh1
2 files changed, 4 insertions, 12 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 7e3913a..d898e69 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -826,9 +826,6 @@ void BScreen::reconfigure() {
826 for(size_t i = 0; i < std::min(m_workspaces_list.size(), resource.workspace_names->size()); ++i) 826 for(size_t i = 0; i < std::min(m_workspaces_list.size(), resource.workspace_names->size()); ++i)
827 m_workspaces_list[i]->setName( resource.workspace_names.get()[i] ); 827 m_workspaces_list[i]->setName( resource.workspace_names.get()[i] );
828 828
829 // update menu filenames
830 m_windowmenu->reloadHelper()->setMainFile(windowMenuFilename());
831
832 // reconfigure workspaces 829 // reconfigure workspaces
833 for_each(m_workspaces_list.begin(), 830 for_each(m_workspaces_list.begin(),
834 m_workspaces_list.end(), 831 m_workspaces_list.end(),
@@ -1347,7 +1344,9 @@ void BScreen::initMenus() {
1347 MemFun(*m_rootmenu->reloadHelper(), &FbTk::AutoReloadHelper::setMainFile)); 1344 MemFun(*m_rootmenu->reloadHelper(), &FbTk::AutoReloadHelper::setMainFile));
1348 m_rootmenu->reloadHelper()->setMainFile(*Fluxbox::instance()->getMenuResource()); 1345 m_rootmenu->reloadHelper()->setMainFile(*Fluxbox::instance()->getMenuResource());
1349 1346
1350 m_windowmenu->reloadHelper()->setMainFile(windowMenuFilename()); 1347 m_tracker.join(resource.windowmenufile.modifiedSig(),
1348 MemFun(*m_windowmenu->reloadHelper(), &FbTk::AutoReloadHelper::setMainFile));
1349 m_windowmenu->reloadHelper()->setMainFile(*resource.windowmenufile);
1351} 1350}
1352 1351
1353 1352
@@ -1390,12 +1389,6 @@ void BScreen::rereadMenu() {
1390 1389
1391} 1390}
1392 1391
1393const std::string BScreen::windowMenuFilename() const {
1394 if ((*resource.windowmenufile).empty())
1395 return Fluxbox::instance()->getDefaultDataFilename("windowmenu");
1396 return *resource.windowmenufile;
1397}
1398
1399void BScreen::rereadWindowMenu() { 1392void BScreen::rereadWindowMenu() {
1400 lua::state &l = Fluxbox::instance()->lua(); 1393 lua::state &l = Fluxbox::instance()->lua();
1401 l.checkstack(1); 1394 l.checkstack(1);
@@ -1403,7 +1396,7 @@ void BScreen::rereadWindowMenu() {
1403 1396
1404 m_windowmenu->removeAll(); 1397 m_windowmenu->removeAll();
1405 try { 1398 try {
1406 l.loadfile(FbTk::StringUtil::expandFilename(windowMenuFilename()).c_str()); 1399 l.loadfile(FbTk::StringUtil::expandFilename(resource.windowmenufile).c_str());
1407 l.call(0, 1); 1400 l.call(0, 1);
1408 MenuCreator::createMenu(*m_windowmenu, l, m_windowmenu->reloadHelper()); 1401 MenuCreator::createMenu(*m_windowmenu, l, m_windowmenu->reloadHelper());
1409 } 1402 }
diff --git a/src/Screen.hh b/src/Screen.hh
index 2ff87db..3b54815 100644
--- a/src/Screen.hh
+++ b/src/Screen.hh
@@ -109,7 +109,6 @@ public:
109 bool getMaxDisableResize() const { return *resource.max_disable_resize; } 109 bool getMaxDisableResize() const { return *resource.max_disable_resize; }
110 bool doShowWindowPos() const { return *resource.show_window_pos; } 110 bool doShowWindowPos() const { return *resource.show_window_pos; }
111 FbTk::StringResource &defaultDecoResource() { return resource.default_deco; } 111 FbTk::StringResource &defaultDecoResource() { return resource.default_deco; }
112 const std::string windowMenuFilename() const;
113 FbTk::ImageControl &imageControl() { return *m_image_control.get(); } 112 FbTk::ImageControl &imageControl() { return *m_image_control.get(); }
114 // menus 113 // menus
115 const FbMenu &rootMenu() const { return *m_rootmenu.get(); } 114 const FbMenu &rootMenu() const { return *m_rootmenu.get(); }