diff options
Diffstat (limited to 'src/Ewmh.cc')
-rw-r--r-- | src/Ewmh.cc | 23 |
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 | ||
494 | void Ewmh::updateLayer(FluxboxWindow &win) { | 494 | void 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 | ||
498 | void Ewmh::updateHints(FluxboxWindow &win) { | 506 | void Ewmh::updateHints(FluxboxWindow &win) { |
@@ -637,6 +645,9 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce, | |||
637 | 645 | ||
638 | bool Ewmh::propertyNotify(WinClient &winclient, Atom the_property) { | 646 | bool 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 |