diff options
Diffstat (limited to 'src/client.cc')
| -rw-r--r-- | src/client.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/client.cc b/src/client.cc index 08feae3e..83ee5b9a 100644 --- a/src/client.cc +++ b/src/client.cc @@ -679,8 +679,6 @@ void Client::updateTransientFor() _transient_for = c; if (_transient_for) _transient_for->_transients.push_back(this); // add to new parent - - // XXX: change decor status? } } @@ -841,7 +839,6 @@ void Client::setState(StateAction action, long data1, long data2) } else if (state == otk::Property::atoms.net_wm_state_maximized_horz) { if (_max_horz) continue; maxh = true; - // XXX: resize the window etc } else if (state == otk::Property::atoms.net_wm_state_shaded) { shadestate = true; } else if (state == otk::Property::atoms.net_wm_state_skip_taskbar) { @@ -1551,6 +1548,13 @@ void Client::disableDecorations(DecorationFlags flags) } +bool Client::focusModalChild() +{ + // XXX: find a modal child recursively and try focus it + return false; +} + + bool Client::focus() { // won't try focus if the client doesn't want it, or if the window isn't @@ -1559,6 +1563,10 @@ bool Client::focus() if (_focused) return true; + if (_modal) + if (focusModalChild()) + return true; + // do a check to see if the window has already been unmapped or destroyed // do this intelligently while watching out for unmaps we've generated // (ignore_unmaps > 0) |
