all repos — fluxbox @ 99eaded40eadcbb3b3f3c30bf02a99d413a99751

custom fork of the fluxbox windowmanager

make Swing apps only somewhat horribly broken again
Mark Tiefenbruck mark@fluxbox.org
commit

99eaded40eadcbb3b3f3c30bf02a99d413a99751

parent

42895e115bc28aa058a29061033080869d03fc7d

3 files changed, 14 insertions(+), 58 deletions(-)

jump to
M src/FbWinFrame.ccsrc/FbWinFrame.cc

@@ -880,12 +880,6 @@ // negate gravity

gravityTranslate(grav_x, grav_y, -sizeHints().win_gravity, m_active_orig_client_bw, false); m_bevel = theme()->bevelWidth(); - setBorderWidth(); - - if (useHandle() && theme()->handleWidth() != 0) - showHandle(); - else - hideHandle(); unsigned int orig_handle_h = handle().height(); if (m_use_handle && orig_handle_h != theme()->handleWidth())
M src/Window.ccsrc/Window.cc

@@ -422,8 +422,6 @@ frame().setEventHandler(*this);

fluxbox.saveWindowSearchGroup(frame().window().window(), this); fluxbox.saveWindowSearchGroup(frame().tabcontainer().window(), this); - frame().resize(m_client->width(), m_client->height()); - m_workspace_number = m_screen.currentWorkspaceID(); // set default decorations but don't apply them

@@ -619,11 +617,7 @@ for (; client_it != client_it_end; ++client_it) {

// reparent window to this frame().setClientWindow(**client_it); - moveResizeClient(**client_it, - frame().clientArea().x(), - frame().clientArea().y(), - frame().clientArea().width(), - frame().clientArea().height()); + moveResizeClient(**client_it); // create a labelbutton for this client and // associate it with the pointer

@@ -645,11 +639,7 @@

} else { // client.fbwindow() == 0 associateClient(client); - moveResizeClient(client, - frame().clientArea().x(), - frame().clientArea().y(), - frame().clientArea().width(), - frame().clientArea().height()); + moveResizeClient(client); // right now, this block only happens with new windows or on restart bool is_startup = Fluxbox::instance()->isStartup();

@@ -2870,8 +2860,8 @@ if (FocusControl::focusedFbWindow())

setFullscreenLayer(); } } else if (subj == &m_theme.reconfigSig()) { - frame().reconfigure(); - reconfigTheme(); + frame().applyDecorations(); + sendConfigureNotify(); } else if (m_initialized && subj == &m_frame.frameExtentSig()) { Fluxbox::instance()->updateFrameExtents(*this); sendConfigureNotify();

@@ -3598,15 +3588,16 @@ m_last_resize_y = frame().y() + frame().height() - m_last_resize_h;

} } -void FluxboxWindow::moveResizeClient(WinClient &client, int x, int y, - unsigned int height, unsigned int width) { - client.moveResize(x, y, +void FluxboxWindow::moveResizeClient(WinClient &client) { + client.moveResize(frame().clientArea().x(), frame().clientArea().y(), frame().clientArea().width(), frame().clientArea().height()); - client.sendConfigureNotify(frame().x() + frame().clientArea().x() + frame().window().borderWidth(), - frame().y() + frame().clientArea().y() + frame().window().borderWidth(), - frame().clientArea().width(), - frame().clientArea().height()); + client.sendConfigureNotify(frame().x() + frame().clientArea().x() + + frame().window().borderWidth(), + frame().y() + frame().clientArea().y() + + frame().window().borderWidth(), + frame().clientArea().width(), + frame().clientArea().height()); } void FluxboxWindow::sendConfigureNotify() {

@@ -3619,11 +3610,7 @@ Send event telling where the root position

of the client window is. (ie frame pos + client pos inside the frame = send pos) */ //!! - moveResizeClient(client, - frame().clientArea().x(), - frame().clientArea().y(), - frame().clientArea().width(), - frame().clientArea().height()); + moveResizeClient(client); } // end for

@@ -3844,29 +3831,6 @@

} // end for c frame().reconfigure(); -} - -/** - * reconfigTheme: must be called after frame is reconfigured - * Client windows need to be made the same size and location as - * the frame's client area. - */ -void FluxboxWindow::reconfigTheme() { - - ClientList::iterator it = clientList().begin(); - ClientList::iterator it_end = clientList().end(); - - int x = m_frame.clientArea().x(), - y = m_frame.clientArea().y(); - - unsigned int width = m_frame.clientArea().width(), - height = m_frame.clientArea().height(); - - for (; it != it_end; ++it) { - (*it)->moveResize(x, y, width, height); - } - - sendConfigureNotify(); } // grab pointer and increase counter.
M src/Window.hhsrc/Window.hh

@@ -471,8 +471,6 @@ FbTk::Subject &workspaceSig() { return m_workspacesig; }

const FbTk::Subject &workspaceSig() const { return m_workspacesig; } /** @} */ // end group signals - void reconfigTheme(); - //@} class WinSubject: public FbTk::Subject {

@@ -518,7 +516,7 @@ // modifies left and top if snap is necessary

void doSnapping(int &left, int &top); // user_w/h return the values that should be shown to the user void fixsize(); - void moveResizeClient(WinClient &client, int x, int y, unsigned int width, unsigned int height); + void moveResizeClient(WinClient &client); /// sends configurenotify to all clients void sendConfigureNotify();