aboutsummaryrefslogtreecommitdiff
path: root/src/Ewmh.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ewmh.cc')
-rw-r--r--src/Ewmh.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc
index 3ff4e76..afa138c 100644
--- a/src/Ewmh.cc
+++ b/src/Ewmh.cc
@@ -622,21 +622,25 @@ void Ewmh::updateState(FluxboxWindow &win) {
622 state.push_back(m_net_wm_state_skip_taskbar); 622 state.push_back(m_net_wm_state_skip_taskbar);
623 if (win.isFullscreen()) 623 if (win.isFullscreen())
624 state.push_back(m_net_wm_state_fullscreen); 624 state.push_back(m_net_wm_state_fullscreen);
625 if (win.winClient().isStateModal())
626 state.push_back(m_net_wm_state_modal);
627 625
628 FluxboxWindow::ClientList::iterator it = win.clientList().begin(); 626 FluxboxWindow::ClientList::iterator it = win.clientList().begin();
629 FluxboxWindow::ClientList::iterator it_end = win.clientList().end(); 627 FluxboxWindow::ClientList::iterator it_end = win.clientList().end();
630 for (; it != it_end; ++it) { 628 for (; it != it_end; ++it) {
631 629
632 // search the old states for _NET_WM_STATE_SKIP_PAGER and append it
633 // to the current state, so it wont get deleted by us.
634 StateVec client_state(state); 630 StateVec client_state(state);
635 Atom ret_type; 631 Atom ret_type;
636 int fmt; 632 int fmt;
637 unsigned long nitems, bytes_after; 633 unsigned long nitems, bytes_after;
638 unsigned char *data = 0; 634 unsigned char *data = 0;
639 635
636 // set client-specific state
637 if ((*it)->isStateModal())
638 client_state.push_back(m_net_wm_state_modal);
639 if (Fluxbox::instance()->attentionHandler().isDemandingAttention(**it))
640 client_state.push_back(m_net_wm_state_demands_attention);
641
642 // search the old states for _NET_WM_STATE_SKIP_PAGER and append it
643 // to the current state, so it wont get deleted by us.
640 (*it)->property(m_net_wm_state, 0, 0x7fffffff, False, XA_ATOM, 644 (*it)->property(m_net_wm_state, 0, 0x7fffffff, False, XA_ATOM,
641 &ret_type, &fmt, &nitems, &bytes_after, 645 &ret_type, &fmt, &nitems, &bytes_after,
642 &data); 646 &data);