update menu xinerama settings after moving
This commit is contained in:
parent
c16f838abf
commit
8f89c86592
4 changed files with 24 additions and 2 deletions
|
@ -1,5 +1,9 @@
|
|||
(Format: Year/Month/Day)
|
||||
Changes for 1.0.0:
|
||||
*07/06/04:
|
||||
* Fix submenu placement with xinerama after moving the menu between heads,
|
||||
bug #1479517 (Mark)
|
||||
FbMenu.cc/hh FbTk/Menu.hh
|
||||
*07/06/03:
|
||||
* Deiconify when automatically tabbing to a minimized window with focus new
|
||||
windows on, bug #1716899 (Mark)
|
||||
|
|
|
@ -23,8 +23,10 @@
|
|||
|
||||
|
||||
#include "FbMenu.hh"
|
||||
#include "MenuTheme.hh"
|
||||
|
||||
#include "fluxbox.hh"
|
||||
#include "MenuTheme.hh"
|
||||
#include "Screen.hh"
|
||||
#include "Shape.hh"
|
||||
|
||||
FbMenu::FbMenu(MenuTheme &tm, FbTk::ImageControl &imgctrl,
|
||||
|
@ -54,3 +56,17 @@ void FbMenu::reconfigure() {
|
|||
FbTk::Menu::reconfigure();
|
||||
}
|
||||
|
||||
void FbMenu::buttonReleaseEvent(XButtonEvent &be) {
|
||||
BScreen *screen = Fluxbox::instance()->findScreen(screenNumber());
|
||||
if (be.window == titleWindow() && isMoving() && screen) {
|
||||
// menu stopped moving, so update head
|
||||
int head = screen->getHead(be.x_root, be.y_root);
|
||||
setScreen(screen->getHeadX(head),
|
||||
screen->getHeadY(head),
|
||||
screen->getHeadWidth(head),
|
||||
screen->getHeadHeight(head));
|
||||
}
|
||||
|
||||
// now get on with the show
|
||||
FbTk::Menu::buttonReleaseEvent(be);
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ public:
|
|||
void raise() { m_layeritem.raise(); }
|
||||
void lower() { m_layeritem.lower(); }
|
||||
void reconfigure();
|
||||
void buttonReleaseEvent(XButtonEvent &be);
|
||||
private:
|
||||
FbTk::XLayerItem m_layeritem;
|
||||
std::auto_ptr<Shape> m_shape;
|
||||
|
|
|
@ -104,7 +104,7 @@ public:
|
|||
//@{
|
||||
void handleEvent(XEvent &event);
|
||||
void buttonPressEvent(XButtonEvent &bp);
|
||||
void buttonReleaseEvent(XButtonEvent &br);
|
||||
virtual void buttonReleaseEvent(XButtonEvent &br);
|
||||
void motionNotifyEvent(XMotionEvent &mn);
|
||||
void exposeEvent(XExposeEvent &ee);
|
||||
void keyPressEvent(XKeyEvent &ke);
|
||||
|
@ -138,6 +138,7 @@ public:
|
|||
#endif
|
||||
inline bool isTorn() const { return m_torn; }
|
||||
inline bool isVisible() const { return m_visible; }
|
||||
inline bool isMoving() const { return m_moving; }
|
||||
inline int screenNumber() const { return menu.window.screenNumber(); }
|
||||
inline Window window() const { return menu.window.window(); }
|
||||
inline FbWindow &fbwindow() { return menu.window; }
|
||||
|
|
Loading…
Reference in a new issue