diff options
author | rathnor <rathnor> | 2003-07-20 18:05:40 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-07-20 18:05:40 (GMT) |
commit | 037bd174bfb107fef4657c949ce49c188090f3e7 (patch) | |
tree | 35d56080c76f4751946be2ddf95e4ce18e2a5bf2 /src/WinClient.cc | |
parent | 8500132b0a05d22470e63cee1d16191ecb138ecf (diff) | |
download | fluxbox-037bd174bfb107fef4657c949ce49c188090f3e7.zip fluxbox-037bd174bfb107fef4657c949ce49c188090f3e7.tar.bz2 |
fix focus and raising for transient windows in particular
Diffstat (limited to 'src/WinClient.cc')
-rw-r--r-- | src/WinClient.cc | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/WinClient.cc b/src/WinClient.cc index ddd3cd1..416dd63 100644 --- a/src/WinClient.cc +++ b/src/WinClient.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: WinClient.cc,v 1.17 2003/07/10 11:58:13 fluxgen Exp $ | 22 | // $Id: WinClient.cc,v 1.18 2003/07/20 18:05:39 rathnor Exp $ |
23 | 23 | ||
24 | #include "WinClient.hh" | 24 | #include "WinClient.hh" |
25 | 25 | ||
@@ -54,7 +54,7 @@ WinClient::WinClient(Window win, BScreen &screen, FluxboxWindow *fbwin):FbTk::Fb | |||
54 | wm_hint_flags(0), | 54 | wm_hint_flags(0), |
55 | send_focus_message(false), | 55 | send_focus_message(false), |
56 | m_win(fbwin), | 56 | m_win(fbwin), |
57 | modal(false), | 57 | m_modal(0), |
58 | m_title(""), m_icon_title(""), | 58 | m_title(""), m_icon_title(""), |
59 | m_class_name(""), m_instance_name(""), | 59 | m_class_name(""), m_instance_name(""), |
60 | m_blackbox_hint(0), | 60 | m_blackbox_hint(0), |
@@ -245,8 +245,9 @@ void WinClient::updateTransientInfo() { | |||
245 | return; | 245 | return; |
246 | 246 | ||
247 | if (win != None && m_win->screen().rootWindow() == win) { | 247 | if (win != None && m_win->screen().rootWindow() == win) { |
248 | modal = true; | 248 | // transient for root window... = transient for group |
249 | return; // transient for root window... | 249 | // I don't think we are group-aware yet |
250 | return; | ||
250 | } | 251 | } |
251 | 252 | ||
252 | FluxboxWindow *transient_win = Fluxbox::instance()->searchWindow(win); | 253 | FluxboxWindow *transient_win = Fluxbox::instance()->searchWindow(win); |
@@ -514,3 +515,15 @@ bool WinClient::hasGroupLeftWindow() const { | |||
514 | } | 515 | } |
515 | return false; | 516 | return false; |
516 | } | 517 | } |
518 | |||
519 | void WinClient::addModal() { | ||
520 | ++m_modal; | ||
521 | if (transient_for) | ||
522 | transient_for->addModal(); | ||
523 | } | ||
524 | |||
525 | void WinClient::removeModal() { | ||
526 | --m_modal; | ||
527 | if (transient_for) | ||
528 | transient_for->removeModal(); | ||
529 | } | ||