summaryrefslogtreecommitdiff
path: root/src/Ewmh.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ewmh.cc')
-rw-r--r--src/Ewmh.cc23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc
index ad6663f..c5c327b 100644
--- a/src/Ewmh.cc
+++ b/src/Ewmh.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: Ewmh.cc,v 1.47 2004/06/20 04:49:32 rathnor Exp $ 22// $Id: Ewmh.cc,v 1.48 2004/07/21 18:56:34 fluxgen Exp $
23 23
24#include "Ewmh.hh" 24#include "Ewmh.hh"
25 25
@@ -181,7 +181,7 @@ void Ewmh::setupFrame(FluxboxWindow &win) {
181 break; 181 break;
182 } else if (atoms[l] == m_net_wm_window_type_desktop) { 182 } else if (atoms[l] == m_net_wm_window_type_desktop) {
183 /* 183 /*
184 * _NET_WM_WINDOW_TYPE_DOCK indicates a "false desktop" window 184 * _NET_WM_WINDOW_TYPE_DESKTOP indicates a "false desktop" window
185 * We let it be the size it wants, but it gets no decoration, 185 * We let it be the size it wants, but it gets no decoration,
186 * is hidden in the toolbar and window cycling list, plus 186 * is hidden in the toolbar and window cycling list, plus
187 * windows don't tab with it and is right on the bottom. 187 * windows don't tab with it and is right on the bottom.
@@ -493,6 +493,14 @@ void Ewmh::updateState(FluxboxWindow &win) {
493 493
494void Ewmh::updateLayer(FluxboxWindow &win) { 494void Ewmh::updateLayer(FluxboxWindow &win) {
495 //!! TODO _NET_WM_WINDOW_TYPE 495 //!! TODO _NET_WM_WINDOW_TYPE
496 /*
497 if (win.getLayer() == Fluxbox::instance()->getAboveDockLayer()) {
498 // _NET_WM_STATE_BELOW
499
500 } else if (win.getLayer() == Fluxbox::instance()->getBottomLayer()) {
501 // _NET_WM_STATE_ABOVE
502 }
503 */
496} 504}
497 505
498void Ewmh::updateHints(FluxboxWindow &win) { 506void Ewmh::updateHints(FluxboxWindow &win) {
@@ -637,6 +645,9 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce,
637 645
638bool Ewmh::propertyNotify(WinClient &winclient, Atom the_property) { 646bool Ewmh::propertyNotify(WinClient &winclient, Atom the_property) {
639 if (the_property == m_net_wm_strut) { 647 if (the_property == m_net_wm_strut) {
648#ifdef DEBUG
649 cerr<<"_NET_WM_STRUT"<<endl;
650#endif // DEBUG
640 updateStrut(winclient); 651 updateStrut(winclient);
641 return true; 652 return true;
642 } 653 }
@@ -759,13 +770,13 @@ void Ewmh::setState(FluxboxWindow &win, Atom state, bool value) {
759 state == m_net_wm_state_skip_taskbar) { 770 state == m_net_wm_state_skip_taskbar) {
760 win.setFocusHidden(value); 771 win.setFocusHidden(value);
761 win.setIconHidden(win.isFocusHidden()); 772 win.setIconHidden(win.isFocusHidden());
762 } else if (state == m_net_wm_state_below) { 773 } else if (state == m_net_wm_state_below) { // bottom layer
763 if (value) 774 if (value)
764 win.moveToLayer(Fluxbox::instance()->getBottomLayer()); 775 win.moveToLayer(Fluxbox::instance()->getBottomLayer());
765 else 776 else
766 win.moveToLayer(Fluxbox::instance()->getNormalLayer()); 777 win.moveToLayer(Fluxbox::instance()->getNormalLayer());
767 778
768 } else if (state == m_net_wm_state_above) { 779 } else if (state == m_net_wm_state_above) { // above layer
769 if (value) 780 if (value)
770 win.moveToLayer(Fluxbox::instance()->getAboveDockLayer()); 781 win.moveToLayer(Fluxbox::instance()->getAboveDockLayer());
771 else 782 else
@@ -790,13 +801,13 @@ void Ewmh::toggleState(FluxboxWindow &win, Atom state) {
790 state == m_net_wm_state_skip_taskbar) { 801 state == m_net_wm_state_skip_taskbar) {
791 win.setFocusHidden(!win.isFocusHidden()); 802 win.setFocusHidden(!win.isFocusHidden());
792 win.setIconHidden(!win.isIconHidden()); 803 win.setIconHidden(!win.isIconHidden());
793 } else if (state == m_net_wm_state_below) { 804 } else if (state == m_net_wm_state_below) { // bottom layer
794 if (win.layerNum() == Fluxbox::instance()->getBottomLayer()) 805 if (win.layerNum() == Fluxbox::instance()->getBottomLayer())
795 win.moveToLayer(Fluxbox::instance()->getNormalLayer()); 806 win.moveToLayer(Fluxbox::instance()->getNormalLayer());
796 else 807 else
797 win.moveToLayer(Fluxbox::instance()->getBottomLayer()); 808 win.moveToLayer(Fluxbox::instance()->getBottomLayer());
798 809
799 } else if (state == m_net_wm_state_above) { 810 } else if (state == m_net_wm_state_above) { // top layer
800 if (win.layerNum() == Fluxbox::instance()->getAboveDockLayer()) 811 if (win.layerNum() == Fluxbox::instance()->getAboveDockLayer())
801 win.moveToLayer(Fluxbox::instance()->getNormalLayer()); 812 win.moveToLayer(Fluxbox::instance()->getNormalLayer());
802 else 813 else