use FbMenu::window instead of WindowCmd<>::window for displaying items in the window menu
Mark Tiefenbruck mark@fluxbox.org
4 files changed,
20 insertions(+),
21 deletions(-)
M
src/FbMenu.cc
→
src/FbMenu.cc
@@ -35,14 +35,11 @@ m_layeritem(fbwindow(), layer) {
} -void FbMenu::show() { - WindowCmd<void>::setWindow(s_window); - FbTk::Menu::show(); -} - void FbMenu::buttonPressEvent(XButtonEvent &be) { + WinClient *old = WindowCmd<void>::client(); WindowCmd<void>::setWindow(s_window); FbTk::Menu::buttonPressEvent(be); + WindowCmd<void>::setClient(old); } void FbMenu::buttonReleaseEvent(XButtonEvent &be) {@@ -55,13 +52,17 @@ screen->getHeadY(head),
screen->getHeadWidth(head), screen->getHeadHeight(head)); } - WindowCmd<void>::setWindow(s_window); // now get on with the show + WinClient *old = WindowCmd<void>::client(); + WindowCmd<void>::setWindow(s_window); FbTk::Menu::buttonReleaseEvent(be); + WindowCmd<void>::setClient(old); } void FbMenu::keyPressEvent(XKeyEvent &ke) { + WinClient *old = WindowCmd<void>::client(); WindowCmd<void>::setWindow(s_window); FbTk::Menu::keyPressEvent(ke); + WindowCmd<void>::setClient(old); }
M
src/FbMenu.hh
→
src/FbMenu.hh
@@ -42,7 +42,6 @@ FbTk::XLayer &layer);
virtual ~FbMenu() { } void raise() { m_layeritem.raise(); } void lower() { m_layeritem.lower(); } - void show(); void buttonPressEvent(XButtonEvent &be); void buttonReleaseEvent(XButtonEvent &be); void keyPressEvent(XKeyEvent &ke);
M
src/MenuCreator.cc
→
src/MenuCreator.cc
@@ -168,14 +168,14 @@
class MenuContext: public LayerObject { public: void moveToLayer(int layer_number) { - if (WindowCmd<void>::window() == 0) + if (FbMenu::window() == 0) return; - WindowCmd<void>::window()->moveToLayer(layer_number); + FbMenu::window()->moveToLayer(layer_number); } int layerNumber() const { - if (WindowCmd<void>::window() == 0) + if (FbMenu::window() == 0) return -1; - return WindowCmd<void>::window()->layerItem().getLayerNum(); + return FbMenu::window()->layerItem().getLayerNum(); } };
M
src/Remember.cc
→
src/Remember.cc
@@ -29,7 +29,6 @@ #include "WinClient.hh"
#include "FbMenu.hh" #include "FbCommands.hh" #include "fluxbox.hh" -#include "WindowCmd.hh" #include "Layer.hh" #include "FbTk/I18n.hh"@@ -250,23 +249,23 @@ setCloseOnClick(false);
} bool isSelected() const { - if (WindowCmd<void>::window() == 0) + if (FbMenu::window() == 0) return false; - if (WindowCmd<void>::window()->numClients()) // ensure it HAS clients - return Remember::instance().isRemembered(WindowCmd<void>::window()->winClient(), m_attrib); + if (FbMenu::window()->numClients()) // ensure it HAS clients + return Remember::instance().isRemembered(FbMenu::window()->winClient(), m_attrib); else return false; } bool isEnabled() const { - if (WindowCmd<void>::window() == 0) + if (FbMenu::window() == 0) return false; if (m_attrib != Remember::REM_JUMPWORKSPACE) return true; - else if (WindowCmd<void>::window()->numClients()) - return (Remember::instance().isRemembered(WindowCmd<void>::window()->winClient(), Remember::REM_WORKSPACE)); + else if (FbMenu::window()->numClients()) + return (Remember::instance().isRemembered(FbMenu::window()->winClient(), Remember::REM_WORKSPACE)); else return false; }@@ -274,11 +273,11 @@
void click(int button, int time, unsigned int mods) { // reconfigure only does stuff if the apps file has changed Remember::instance().checkReload(); - if (WindowCmd<void>::window() != 0) { + if (FbMenu::window() != 0) { if (isSelected()) { - Remember::instance().forgetAttrib(WindowCmd<void>::window()->winClient(), m_attrib); + Remember::instance().forgetAttrib(FbMenu::window()->winClient(), m_attrib); } else { - Remember::instance().rememberAttrib(WindowCmd<void>::window()->winClient(), m_attrib); + Remember::instance().rememberAttrib(FbMenu::window()->winClient(), m_attrib); } } Remember::instance().save();