diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/Window.cc b/src/Window.cc index 45c1e9d..2a2dbd9 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -550,9 +550,9 @@ void FluxboxWindow::init() { | |||
550 | } | 550 | } |
551 | #endif // DEBUG | 551 | #endif // DEBUG |
552 | 552 | ||
553 | int real_width = frame().width(); | 553 | unsigned int real_width = frame().width(); |
554 | int real_height = frame().height() - frame().titlebarHeight() - frame().handleHeight(); | 554 | unsigned int real_height = frame().height() - frame().titlebarHeight() - frame().handleHeight(); |
555 | frame().applySizeHints(real_width, real_height); | 555 | frame().sizeHints().apply(real_width, real_height); |
556 | real_height += frame().titlebarHeight() + frame().handleHeight(); | 556 | real_height += frame().titlebarHeight() + frame().handleHeight(); |
557 | 557 | ||
558 | if (m_placed) | 558 | if (m_placed) |
@@ -2483,12 +2483,12 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { | |||
2483 | // make sure the new width/height would be ok with all clients, or else they | 2483 | // make sure the new width/height would be ok with all clients, or else they |
2484 | // could try to resize the window back and forth | 2484 | // could try to resize the window back and forth |
2485 | if (cr.value_mask & CWWidth || cr.value_mask & CWHeight) { | 2485 | if (cr.value_mask & CWWidth || cr.value_mask & CWHeight) { |
2486 | int new_w = (cr.value_mask & CWWidth) ? cr.width : cw; | 2486 | unsigned int new_w = (cr.value_mask & CWWidth) ? cr.width : cw; |
2487 | int new_h = (cr.value_mask & CWHeight) ? cr.height : ch; | 2487 | unsigned int new_h = (cr.value_mask & CWHeight) ? cr.height : ch; |
2488 | ClientList::iterator it = clientList().begin(); | 2488 | ClientList::iterator it = clientList().begin(); |
2489 | ClientList::iterator it_end = clientList().end(); | 2489 | ClientList::iterator it_end = clientList().end(); |
2490 | for (; it != it_end; ++it) { | 2490 | for (; it != it_end; ++it) { |
2491 | if (*it != client && !(*it)->checkSizeHints(new_w, new_h)) | 2491 | if (*it != client && !(*it)->sizeHints().valid(new_w, new_h)) |
2492 | cr.value_mask = cr.value_mask & ~(CWWidth | CWHeight); | 2492 | cr.value_mask = cr.value_mask & ~(CWWidth | CWHeight); |
2493 | } | 2493 | } |
2494 | } | 2494 | } |
@@ -3725,12 +3725,14 @@ void FluxboxWindow::fixsize(int *user_w, int *user_h, bool maximizing) { | |||
3725 | 3725 | ||
3726 | // dx is new width = current width + difference between new and old x values | 3726 | // dx is new width = current width + difference between new and old x values |
3727 | //int dx = frame().width() + frame().x() - m_last_resize_x; | 3727 | //int dx = frame().width() + frame().x() - m_last_resize_x; |
3728 | int dw = m_last_resize_w; | 3728 | unsigned int dw = m_last_resize_w; |
3729 | 3729 | ||
3730 | // dy = new height (w/o decorations), similarly | 3730 | // dy = new height (w/o decorations), similarly |
3731 | int dh = m_last_resize_h - decoration_height; | 3731 | unsigned int dh = m_last_resize_h - decoration_height; |
3732 | 3732 | ||
3733 | frame().applySizeHints(dw, dh, user_w, user_h, maximizing); | 3733 | frame().sizeHints().apply(dw, dh, maximizing); |
3734 | if (user_w && user_h) | ||
3735 | frame().sizeHints().displaySize(*user_w, *user_h, dw, dh); | ||
3734 | 3736 | ||
3735 | // update last resize | 3737 | // update last resize |
3736 | m_last_resize_w = dw; | 3738 | m_last_resize_w = dw; |