From: Javier <je-vv@e.email> - 2022-10-22 23:55:14
|
Found the culprit: > % git bisect good > 299e098f5f6fc6d33684b3d4e80185c8a7899664 is the first bad commit > commit 299e098f5f6fc6d33684b3d4e80185c8a7899664 > Author: Thomas Lübking <tho...@gm...> > Date: Mon Aug 1 10:26:48 2016 +0200 > > handle oversized windows > > Clients can still be stupid (feh constrains itself to the root window > ...) or lazy (llpp uses the last size - if that was in pivot mode ...) > and create windows which exceed the workspace dimensions, resulting in > both opposing edges being off-screen (for all tested placements) > > This applies partial maximization instead and resizes the (restored) > window to soem sane size (size constraints applied) > > CCBUG: 688 > CCBUG: 984 > > src/Window.cc | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) And the commit itself: > commit 299e098f5f6fc6d33684b3d4e80185c8a7899664 > Author: Thomas Lübking <tho...@gm...> > Date: Mon Aug 1 10:26:48 2016 +0200 > > handle oversized windows > > Clients can still be stupid (feh constrains itself to the root window > ...) or lazy (llpp uses the last size - if that was in pivot mode ...) > and create windows which exceed the workspace dimensions, resulting in > both opposing edges being off-screen (for all tested placements) > > This applies partial maximization instead and resizes the (restored) > window to soem sane size (size constraints applied) > > CCBUG: 688 > CCBUG: 984 > > diff --git a/src/Window.cc b/src/Window.cc > index 3ad5088f..f1bf1e9a 100644 > --- a/src/Window.cc > +++ b/src/Window.cc > @@ -506,6 +506,25 @@ void FluxboxWindow::init() { > > fluxbox.attachSignals(*this); > > + if (!m_state.fullscreen) { > + unsigned int new_width = 0, new_height = 0; > + if (m_client->width() >= screen().width()) { > + m_state.maximized |= WindowState::MAX_HORZ; > + new_width = 2 * screen().width() / 3; > + } > + if (m_client->height() >= screen().height()) { > + m_state.maximized |= WindowState::MAX_VERT; > + new_height = 2 * screen().height() / 3; > + } > + if (new_width || new_height) { > + const int maximized = m_state.maximized; > + m_state.maximized = WindowState::MAX_NONE; > + resize(new_width ? new_width : width(), new_height ? new_height : height()); > + m_placed = false; > + m_state.maximized = maximized; > + } > + } > + > // this window is managed, we are now allowed to modify actual state > m_initialized = true; "partial maximization"indicates the commit message? Or "2/3" in the code? I don't quite follow the change, but that's the one breaking functionality. Please notice in my case the wallpaper is set by LXQt, and fluxbox doesn't even set the wallpaper, so not sure why it's doing the weird resize of the screen. But the resizing explains the weird behavior. See, what I noticed is like if the desktop was shrinked, hehe... What next, can there be a commmit reverting that, or an attempt to fix it? Thanks a lot @mark ! -- Javier |