fix implementation of _NET_MOVERESIZE_WINDOW

This commit is contained in:
markt 2006-07-09 01:46:47 +00:00
parent 4e820f5ba3
commit f7574fe1c9
2 changed files with 13 additions and 7 deletions

View file

@ -1,5 +1,8 @@
(Format: Year/Month/Day)
Changes for 1.0rc3:
*06/07/08:
* Fix implementation of _NET_MOVERESIZE_WINDOW (Mark)
Ewmh.cc
*06/07/06:
* Fixed bug #1069909, Incorrect window dimensions (Henrik)
It created strut even if it didnt have any clients

View file

@ -831,14 +831,17 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce,
if (winclient == 0 || winclient->fbwindow() == 0)
return true;
// ce.data.l[0] = gravity and flags
// ce.data.l[1] = x
// ce.data.l[2] = y
// ce.data.l[3] = width
// ce.data.l[4] = height
// TODO: flags
int x = (ce.data.l[0] & 0x0100) ? ce.data.l[1] :
winclient->fbwindow()->x();
int y = (ce.data.l[0] & 0x0200) ? ce.data.l[2] :
winclient->fbwindow()->y();
unsigned int width = (ce.data.l[0] & 0x0400) ? ce.data.l[3] :
winclient->fbwindow()->width();
unsigned int height = (ce.data.l[0] & 0x0800) ? ce.data.l[4] :
winclient->fbwindow()->height();
int win_gravity=ce.data.l[0] & 0xFF;
winclient->fbwindow()->moveResizeForClient(ce.data.l[1], ce.data.l[2],
ce.data.l[3], ce.data.l[4], win_gravity, winclient->old_bw);
winclient->fbwindow()->moveResizeForClient(x, y, width, height,
win_gravity, winclient->old_bw);
return true;
} else if (ce.message_type == m_net_restack_window) {
#ifndef DEBUG