all repos — fluxbox @ 02248805872c35ec99fcd75e064ee4a53f9c7be4

custom fork of the fluxbox windowmanager

less flicker
fluxgen fluxgen
commit

02248805872c35ec99fcd75e064ee4a53f9c7be4

parent

c8bcddf58b406b67c268aed38d7779816da0424b

1 files changed, 11 insertions(+), 8 deletions(-)

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

@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Window.cc,v 1.227 2003/09/12 23:34:13 fluxgen Exp $ +// $Id: Window.cc,v 1.228 2003/09/14 10:13:06 fluxgen Exp $ #include "Window.hh"

@@ -968,10 +968,14 @@ }

/// update current client title and title in our frame void FluxboxWindow::updateTitleFromClient() { - m_client->updateTitle(); - m_labelbuttons[m_client]->setText(m_client->title()); - m_labelbuttons[m_client]->clear(); // redraw text + // compare old title with new and see if we need to update + // graphics + if (m_labelbuttons[m_client]->text() != m_client->title()) { + m_labelbuttons[m_client]->setText(m_client->title()); + m_labelbuttons[m_client]->clear(); // redraw text + m_labelbuttons[m_client]->updateTransparent(); + } } /// update icon title from client

@@ -1108,8 +1112,9 @@ new_width = width();

new_height = height(); } + frame().moveResize(new_x, new_y, new_width, new_height); setFocusFlag(focused); - frame().moveResize(new_x, new_y, new_width, new_height); + shaded = false; send_event = true;

@@ -1652,9 +1657,8 @@ }

installColormap(focus); - if (focus != frame().focused()) { + if (focus != frame().focused()) frame().setFocus(focus); - } if ((screen().isSloppyFocus() || screen().isSemiSloppyFocus()) && screen().doAutoRaise()) {

@@ -1948,7 +1952,6 @@ }

} void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { - // we're only concerned about client window event WinClient *client = findClient(re.window); if (client == 0) {