diff options
author | markt <markt> | 2006-07-09 01:46:47 (GMT) |
---|---|---|
committer | markt <markt> | 2006-07-09 01:46:47 (GMT) |
commit | f7574fe1c90118ca7421dffef0b035cb64cf78c1 (patch) | |
tree | 3e4755675e6459c8c774743e1268bc6108faf896 | |
parent | 4e820f5ba3bb35cce5a1e1d8ca2f770dc4f42299 (diff) | |
download | fluxbox-f7574fe1c90118ca7421dffef0b035cb64cf78c1.zip fluxbox-f7574fe1c90118ca7421dffef0b035cb64cf78c1.tar.bz2 |
fix implementation of _NET_MOVERESIZE_WINDOW
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/Ewmh.cc | 17 |
2 files changed, 13 insertions, 7 deletions
@@ -1,5 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 1.0rc3: | 2 | Changes for 1.0rc3: |
3 | *06/07/08: | ||
4 | * Fix implementation of _NET_MOVERESIZE_WINDOW (Mark) | ||
5 | Ewmh.cc | ||
3 | *06/07/06: | 6 | *06/07/06: |
4 | * Fixed bug #1069909, Incorrect window dimensions (Henrik) | 7 | * Fixed bug #1069909, Incorrect window dimensions (Henrik) |
5 | It created strut even if it didnt have any clients | 8 | It created strut even if it didnt have any clients |
diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 8a5bfad..78a2b3c 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc | |||
@@ -831,14 +831,17 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce, | |||
831 | if (winclient == 0 || winclient->fbwindow() == 0) | 831 | if (winclient == 0 || winclient->fbwindow() == 0) |
832 | return true; | 832 | return true; |
833 | // ce.data.l[0] = gravity and flags | 833 | // ce.data.l[0] = gravity and flags |
834 | // ce.data.l[1] = x | 834 | int x = (ce.data.l[0] & 0x0100) ? ce.data.l[1] : |
835 | // ce.data.l[2] = y | 835 | winclient->fbwindow()->x(); |
836 | // ce.data.l[3] = width | 836 | int y = (ce.data.l[0] & 0x0200) ? ce.data.l[2] : |
837 | // ce.data.l[4] = height | 837 | winclient->fbwindow()->y(); |
838 | // TODO: flags | 838 | unsigned int width = (ce.data.l[0] & 0x0400) ? ce.data.l[3] : |
839 | winclient->fbwindow()->width(); | ||
840 | unsigned int height = (ce.data.l[0] & 0x0800) ? ce.data.l[4] : | ||
841 | winclient->fbwindow()->height(); | ||
839 | int win_gravity=ce.data.l[0] & 0xFF; | 842 | int win_gravity=ce.data.l[0] & 0xFF; |
840 | winclient->fbwindow()->moveResizeForClient(ce.data.l[1], ce.data.l[2], | 843 | winclient->fbwindow()->moveResizeForClient(x, y, width, height, |
841 | ce.data.l[3], ce.data.l[4], win_gravity, winclient->old_bw); | 844 | win_gravity, winclient->old_bw); |
842 | return true; | 845 | return true; |
843 | } else if (ce.message_type == m_net_restack_window) { | 846 | } else if (ce.message_type == m_net_restack_window) { |
844 | #ifndef DEBUG | 847 | #ifndef DEBUG |