aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Ewmh.cc24
-rw-r--r--src/FbTk/FbWindow.cc7
-rw-r--r--src/FbTk/FbWindow.hh3
3 files changed, 18 insertions, 16 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);
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc
index 12492d9..12b16d9 100644
--- a/src/FbTk/FbWindow.cc
+++ b/src/FbTk/FbWindow.cc
@@ -633,7 +633,8 @@ void FbWindow::create(Window parent, int x, int y,
633 633
634 634
635void FbWindow::sendConfigureNotify(int x, int y, 635void FbWindow::sendConfigureNotify(int x, int y,
636 unsigned int width, unsigned int height) { 636 unsigned int width, unsigned int height,
637 unsigned int bw) {
637 Display *disp = FbTk::App::instance()->display(); 638 Display *disp = FbTk::App::instance()->display();
638 XEvent event; 639 XEvent event;
639 event.type = ConfigureNotify; 640 event.type = ConfigureNotify;
@@ -645,9 +646,7 @@ void FbWindow::sendConfigureNotify(int x, int y,
645 event.xconfigure.y = y; 646 event.xconfigure.y = y;
646 event.xconfigure.width = width; 647 event.xconfigure.width = width;
647 event.xconfigure.height = height; 648 event.xconfigure.height = height;
648 //!! TODO 649 event.xconfigure.border_width = bw;
649 event.xconfigure.border_width = 1;
650 //!! TODO
651 event.xconfigure.above = None; 650 event.xconfigure.above = None;
652 event.xconfigure.override_redirect = false; 651 event.xconfigure.override_redirect = false;
653 652
diff --git a/src/FbTk/FbWindow.hh b/src/FbTk/FbWindow.hh
index b8de60e..e0c4e51 100644
--- a/src/FbTk/FbWindow.hh
+++ b/src/FbTk/FbWindow.hh
@@ -195,7 +195,8 @@ public:
195 void setOpaque(unsigned char alpha); 195 void setOpaque(unsigned char alpha);
196 196
197 void setRenderer(FbWindowRenderer &renderer) { m_renderer = &renderer; } 197 void setRenderer(FbWindowRenderer &renderer) { m_renderer = &renderer; }
198 void sendConfigureNotify(int x, int y, unsigned int width, unsigned int height); 198 void sendConfigureNotify(int x, int y, unsigned int width,
199 unsigned int height, unsigned int bw = 0);
199 200
200 /// forces full background change, recalcing of alpha values if necessary 201 /// forces full background change, recalcing of alpha values if necessary
201 void updateBackground(bool only_if_alpha); 202 void updateBackground(bool only_if_alpha);