all repos — fluxbox @ 41b2e0ced41580d377ea04a3c1c19408f2d8db13

custom fork of the fluxbox windowmanager

use FbMenu::window instead of WindowCmd<>::window for displaying items in the window menu
Mark Tiefenbruck mark@fluxbox.org
commit

41b2e0ced41580d377ea04a3c1c19408f2d8db13

parent

fd0389d2e1c28e7dcd1507f76ed37eb8366c4af0

4 files changed, 20 insertions(+), 21 deletions(-)

jump to
M src/FbMenu.ccsrc/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.hhsrc/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.ccsrc/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.ccsrc/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();