deiconify windows when auto-grouped with new window, when using focusnew
This commit is contained in:
parent
678703b08f
commit
c16f838abf
2 changed files with 9 additions and 4 deletions
|
@ -1,6 +1,9 @@
|
||||||
(Format: Year/Month/Day)
|
(Format: Year/Month/Day)
|
||||||
Changes for 1.0.0:
|
Changes for 1.0.0:
|
||||||
*07/06/03:
|
*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)
|
* Submenus of slit menu were misbehaving with xinerama (Mark)
|
||||||
Slit.cc
|
Slit.cc
|
||||||
* Also send transient windows when sending a window to another workspace, bug
|
* Also send transient windows when sending a window to another workspace, bug
|
||||||
|
|
|
@ -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
|
// and we don't seem to get a FocusIn event from setInputFocus
|
||||||
setCurrentClient(client);
|
setCurrentClient(client);
|
||||||
FocusControl::setFocusedWindow(&client);
|
FocusControl::setFocusedWindow(&client);
|
||||||
} else if (focused_win)
|
} else if (focused_win) {
|
||||||
setCurrentClient(*focused_win, false);
|
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
|
// reparenting puts the new client on top, but the old client is keeping
|
||||||
// the focus, so we raise it
|
// the focus, so we raise it
|
||||||
m_client->raise();
|
m_client->raise();
|
||||||
|
@ -1501,7 +1503,7 @@ void FluxboxWindow::deiconify(bool reassoc, bool do_raise) {
|
||||||
(*client_it)->setEventMask(PropertyChangeMask | StructureNotifyMask | FocusChangeMask);
|
(*client_it)->setEventMask(PropertyChangeMask | StructureNotifyMask | FocusChangeMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reassoc && !m_client->transients.empty()) {
|
if (reassoc) {
|
||||||
// deiconify all transients
|
// deiconify all transients
|
||||||
client_it = clientList().begin();
|
client_it = clientList().begin();
|
||||||
for (; client_it != client_it_end; ++client_it) {
|
for (; client_it != client_it_end; ++client_it) {
|
||||||
|
@ -2337,7 +2339,7 @@ void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) {
|
||||||
|
|
||||||
void FluxboxWindow::mapNotifyEvent(XMapEvent &ne) {
|
void FluxboxWindow::mapNotifyEvent(XMapEvent &ne) {
|
||||||
WinClient *client = findClient(ne.window);
|
WinClient *client = findClient(ne.window);
|
||||||
if (client == 0)
|
if (client == 0 || client != m_client)
|
||||||
return;
|
return;
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
cerr<<"FluxboxWindow::mapNotifyEvent: "
|
cerr<<"FluxboxWindow::mapNotifyEvent: "
|
||||||
|
|
Loading…
Reference in a new issue