aboutsummaryrefslogtreecommitdiff
path: root/src/WinClient.cc
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-07-20 18:05:40 (GMT)
committerrathnor <rathnor>2003-07-20 18:05:40 (GMT)
commit037bd174bfb107fef4657c949ce49c188090f3e7 (patch)
tree35d56080c76f4751946be2ddf95e4ce18e2a5bf2 /src/WinClient.cc
parent8500132b0a05d22470e63cee1d16191ecb138ecf (diff)
downloadfluxbox-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.cc21
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
519void WinClient::addModal() {
520 ++m_modal;
521 if (transient_for)
522 transient_for->addModal();
523}
524
525void WinClient::removeModal() {
526 --m_modal;
527 if (transient_for)
528 transient_for->removeModal();
529}