diff options
Diffstat (limited to 'src/Ewmh.cc')
-rw-r--r-- | src/Ewmh.cc | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc index c1f9adc..dcd9c18 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc | |||
@@ -977,14 +977,14 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce, | |||
977 | if (!screen) | 977 | if (!screen) |
978 | return true; | 978 | return true; |
979 | FbWinFrameTheme &theme = screen->winFrameTheme(); | 979 | FbWinFrameTheme &theme = screen->winFrameTheme(); |
980 | unsigned int bw = theme.border(true).width(); | ||
980 | long title_h = theme.titleHeight() || | 981 | long title_h = theme.titleHeight() || |
981 | theme.font().height() + 2*theme.bevelWidth() + 2; | 982 | theme.font().height() + 2*theme.bevelWidth() + 2 + 2*bw; |
982 | title_h += theme.border(true).width(); | 983 | long handle_h = theme.handleWidth() + 2*bw; |
983 | long handle_h = theme.handleWidth() + theme.border(true).width(); | ||
984 | long extents[4]; | 984 | long extents[4]; |
985 | // our frames currently don't protrude from left/right | 985 | // our frames currently don't protrude from left/right |
986 | extents[0] = 0; | 986 | extents[0] = bw; |
987 | extents[1] = 0; | 987 | extents[1] = bw; |
988 | extents[2] = title_h; | 988 | extents[2] = title_h; |
989 | extents[3] = handle_h; | 989 | extents[3] = handle_h; |
990 | 990 | ||
@@ -1281,16 +1281,18 @@ void Ewmh::updateFrameExtents(FluxboxWindow &win) { | |||
1281 | protrudes from the client window, on left, right, top, bottom | 1281 | protrudes from the client window, on left, right, top, bottom |
1282 | (it is independent of window position). | 1282 | (it is independent of window position). |
1283 | */ | 1283 | */ |
1284 | long extents[4]; | ||
1285 | // our frames currently don't protrude from left/right | ||
1286 | extents[0] = 0; | ||
1287 | extents[1] = 0; | ||
1288 | extents[2] = win.frame().titlebarHeight(); | ||
1289 | extents[3] = win.frame().handleHeight(); | ||
1290 | 1284 | ||
1291 | FluxboxWindow::ClientList::iterator it = win.clientList().begin(); | 1285 | FluxboxWindow::ClientList::iterator it = win.clientList().begin(); |
1292 | FluxboxWindow::ClientList::iterator it_end = win.clientList().end(); | 1286 | FluxboxWindow::ClientList::iterator it_end = win.clientList().end(); |
1293 | for (; it != it_end; ++it) { | 1287 | for (; it != it_end; ++it) { |
1288 | long extents[4]; | ||
1289 | // our frames currently don't protrude from left/right | ||
1290 | int bw = win.frame().window().borderWidth() - (*it)->old_bw; | ||
1291 | extents[0] = bw; | ||
1292 | extents[1] = bw; | ||
1293 | extents[2] = win.frame().titlebarHeight() + bw; | ||
1294 | extents[3] = win.frame().handleHeight() + bw; | ||
1295 | |||
1294 | (*it)->changeProperty(m_net->frame_extents, | 1296 | (*it)->changeProperty(m_net->frame_extents, |
1295 | XA_CARDINAL, 32, PropModeReplace, | 1297 | XA_CARDINAL, 32, PropModeReplace, |
1296 | (unsigned char *)extents, 4); | 1298 | (unsigned char *)extents, 4); |