all repos — openbox @ 90ee16fc8664f38683edf3b2eb4dd376a572f4ce

openbox fork - make it a bit more like ryudo

better support for relative resizing
Dana Jansens danakj@orodu.net
commit

90ee16fc8664f38683edf3b2eb4dd376a572f4ce

parent

d8967bd534ff10a234fed17059fb92d985be9176

3 files changed, 10 insertions(+), 25 deletions(-)

jump to
M util/epist/screen.ccutil/epist/screen.cc

@@ -274,11 +274,11 @@ window->move(window->x() + it->number(), window->y());

return; case Action::resizeWindowWidth: - window->resize(it->number(), 0); + window->resizeRel(it->number(), 0); return; case Action::resizeWindowHeight: - window->resize(0, it->number()); + window->resizeRel(0, it->number()); return; case Action::toggleshade:
M util/epist/window.ccutil/epist/window.cc

@@ -336,34 +336,18 @@ XMoveWindow(_epist->getXDisplay(), _window, x, y);

} -void XWindow::resize(int dwidth, int dheight) const { +void XWindow::resizeRel(int dwidth, int dheight) const { // resize in increments if requested by the window - - unsigned int wdest = _rect.width() + (dwidth * _inc_x) / - _inc_x * _inc_x + _base_x; - unsigned int hdest = _rect.height() + (dheight * _inc_y) / - _inc_y * _inc_y + _base_y; - - if (width > wdest) { - while (width > wdest) - wdest += _inc_x; - } else { - while (width < wdest) - wdest -= _inc_x; - } - if (height > hdest) { - while (height > hdest) - hdest += _inc_y; - } else { - while (height < hdest) - hdest -= _inc_y; - } + unsigned int width = _rect.width(), height = _rect.height(); + unsigned int wdest = width + (dwidth * _inc_x) / _inc_x * _inc_x + _base_x; + unsigned int hdest = height + (dheight * _inc_y) / _inc_y * _inc_y + _base_y; + XResizeWindow(_epist->getXDisplay(), _window, wdest, hdest); } -void XWindow::resize(unsigned int width, unsigned int height) const { +void XWindow::resizeAbs(unsigned int width, unsigned int height) const { // resize in increments if requested by the window unsigned int wdest = width / _inc_x * _inc_x + _base_x;
M util/epist/window.hhutil/epist/window.hh

@@ -111,7 +111,8 @@ void iconify() const;

void focus() const; void sendTo(unsigned int dest) const; void move(int x, int y) const; - void resize(unsigned int width, unsigned int height) const; + void resizeRel(int dwidth, int dheight) const; + void resizeAbs(unsigned int width, unsigned int height) const; void toggleMaximize(Max max) const; // i hate toggle functions void maximize(Max max) const;