deiconify windows when auto-grouped with new window, when using focusnew

This commit is contained in:
markt 2007-06-03 20:37:32 +00:00
parent 678703b08f
commit c16f838abf
2 changed files with 9 additions and 4 deletions

View file

@ -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

View file

@ -668,9 +668,11 @@ void FluxboxWindow::attachClient(WinClient &client, int x, int y) {
// 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 @@ void FluxboxWindow::deiconify(bool reassoc, bool do_raise) {
(*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::mapRequestEvent(XMapRequestEvent &re) {
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: "