aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMark Tiefenbruck <mark@fluxbox.org>2008-01-02 01:32:10 (GMT)
committerMark Tiefenbruck <mark@fluxbox.org>2008-01-02 01:32:10 (GMT)
commit2f9f29df22e82f8648c048eec574443811cec5c1 (patch)
treed3508534b3f227fa0e3c6b200dff90aca1ac2116 /src
parent7588fc10a61c141208ccccc423cc7920207b2e89 (diff)
downloadfluxbox_paul-2f9f29df22e82f8648c048eec574443811cec5c1.zip
fluxbox_paul-2f9f29df22e82f8648c048eec574443811cec5c1.tar.bz2
make reported frame extents include border width
Diffstat (limited to 'src')
-rw-r--r--src/Ewmh.cc24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc
index 257b432..067b445 100644
--- a/src/Ewmh.cc
+++ b/src/Ewmh.cc
@@ -810,14 +810,14 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce,
810 if (!screen) 810 if (!screen)
811 return true; 811 return true;
812 FbWinFrameTheme &theme = screen->winFrameTheme(); 812 FbWinFrameTheme &theme = screen->winFrameTheme();
813 unsigned int bw = theme.border(true).width();
813 long title_h = theme.titleHeight() || 814 long title_h = theme.titleHeight() ||
814 theme.font().height() + 2*theme.bevelWidth() + 2; 815 theme.font().height() + 2*theme.bevelWidth() + 2 + 2*bw;
815 title_h += theme.border(true).width(); 816 long handle_h = theme.handleWidth() + 2*bw;
816 long handle_h = theme.handleWidth() + theme.border(true).width();
817 long extents[4]; 817 long extents[4];
818 // our frames currently don't protrude from left/right 818 // our frames currently don't protrude from left/right
819 extents[0] = 0; 819 extents[0] = bw;
820 extents[1] = 0; 820 extents[1] = bw;
821 extents[2] = title_h; 821 extents[2] = title_h;
822 extents[3] = handle_h; 822 extents[3] = handle_h;
823 823
@@ -1195,16 +1195,18 @@ void Ewmh::updateFrameExtents(FluxboxWindow &win) {
1195 protrudes from the client window, on left, right, top, bottom 1195 protrudes from the client window, on left, right, top, bottom
1196 (it is independent of window position). 1196 (it is independent of window position).
1197 */ 1197 */
1198 long extents[4];
1199 // our frames currently don't protrude from left/right
1200 extents[0] = 0;
1201 extents[1] = 0;
1202 extents[2] = win.frame().titlebarHeight();
1203 extents[3] = win.frame().handleHeight();
1204 1198
1205 FluxboxWindow::ClientList::iterator it = win.clientList().begin(); 1199 FluxboxWindow::ClientList::iterator it = win.clientList().begin();
1206 FluxboxWindow::ClientList::iterator it_end = win.clientList().end(); 1200 FluxboxWindow::ClientList::iterator it_end = win.clientList().end();
1207 for (; it != it_end; ++it) { 1201 for (; it != it_end; ++it) {
1202 long extents[4];
1203 // our frames currently don't protrude from left/right
1204 int bw = win.frame().window().borderWidth() - (*it)->old_bw;
1205 extents[0] = bw;
1206 extents[1] = bw;
1207 extents[2] = win.frame().titlebarHeight() + bw;
1208 extents[3] = win.frame().handleHeight() + bw;
1209
1208 (*it)->changeProperty(m_net_frame_extents, 1210 (*it)->changeProperty(m_net_frame_extents,
1209 XA_CARDINAL, 32, PropModeReplace, 1211 XA_CARDINAL, 32, PropModeReplace,
1210 (unsigned char *)extents, 4); 1212 (unsigned char *)extents, 4);