deiconify windows when auto-grouped with new window, when using focusnew
markt markt
2 files changed,
9 insertions(+),
4 deletions(-)
M
ChangeLog
→
ChangeLog
@@ -1,6 +1,9 @@
(Format: Year/Month/Day) Changes for 1.0.0: *07/06/03: + * Deiconify when automatically tabbing to a minimized window with focus new + windows on, bug #1716899 (Mark) + Window.cc FbWinFrame.cc * Submenus of slit menu were misbehaving with xinerama (Mark) Slit.cc * Also send transient windows when sending a window to another workspace, bug
M
src/Window.cc
→
src/Window.cc
@@ -668,9 +668,11 @@ // don't ask me why, but client doesn't seem to keep focus in new window
// and we don't seem to get a FocusIn event from setInputFocus setCurrentClient(client); FocusControl::setFocusedWindow(&client); - } else if (focused_win) + } else if (focused_win) { setCurrentClient(*focused_win, false); - else + if (isIconic() && screen().focusControl().focusNew() && !Fluxbox::instance()->isStartup()) + deiconify(); + } else // reparenting puts the new client on top, but the old client is keeping // the focus, so we raise it m_client->raise();@@ -1501,7 +1503,7 @@ (*client_it)->show();
(*client_it)->setEventMask(PropertyChangeMask | StructureNotifyMask | FocusChangeMask); } - if (reassoc && !m_client->transients.empty()) { + if (reassoc) { // deiconify all transients client_it = clientList().begin(); for (; client_it != client_it_end; ++client_it) {@@ -2337,7 +2339,7 @@
void FluxboxWindow::mapNotifyEvent(XMapEvent &ne) { WinClient *client = findClient(ne.window); - if (client == 0) + if (client == 0 || client != m_client) return; #ifdef DEBUG cerr<<"FluxboxWindow::mapNotifyEvent: "