diff --git a/ChangeLog b/ChangeLog index 299a5b24..6f269df0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,9 @@ (Format: Year/Month/Day) Changes for 1.0rc3: *07/01/05: + * Fix placement of window menu with toolbar at the top of the screen, + and remove titlebar from window menu (Mark) + Window.cc IconButton.cc * Don't change focus to a window that doesn't accept focus (Mark) FocusControl.cc * Only grab keybindings on screens managed by fluxbox (Mark) diff --git a/src/IconButton.cc b/src/IconButton.cc index b9cf523d..aaff5b83 100644 --- a/src/IconButton.cc +++ b/src/IconButton.cc @@ -57,7 +57,6 @@ public: explicit ShowMenu(FluxboxWindow &win):m_win(win) { } void execute() { m_win.screen().hideMenus(); - m_win.menu().enableTitle(); // get last button pos const XEvent &event = Fluxbox::instance()->lastEvent(); int x = event.xbutton.x_root - (m_win.menu().width() / 2); diff --git a/src/Window.cc b/src/Window.cc index 523fd66f..d878e2e4 100644 --- a/src/Window.cc +++ b/src/Window.cc @@ -2333,8 +2333,10 @@ void FluxboxWindow::showMenu(int menu_x, int menu_y) { int head = screen().getHead(menu_x, menu_y); - // but not under screen - if (menu_y + menu().height() >= screen().maxBottom(head)) + // but not off the screen + if (menu_y < static_cast(screen().maxTop(head))) + menu_y = screen().maxTop(head); + else if (menu_y + menu().height() >= screen().maxBottom(head)) menu_y = screen().maxBottom(head) - menu().height() - 1 - menu().fbwindow().borderWidth(); if (menu_x < static_cast(screen().maxLeft(head)))