summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-09-14 10:13:06 (GMT)
committerfluxgen <fluxgen>2003-09-14 10:13:06 (GMT)
commit02248805872c35ec99fcd75e064ee4a53f9c7be4 (patch)
tree0121a8a24e89422c5e8df069a62b17a7ca992f11
parentc8bcddf58b406b67c268aed38d7779816da0424b (diff)
downloadfluxbox_lack-02248805872c35ec99fcd75e064ee4a53f9c7be4.zip
fluxbox_lack-02248805872c35ec99fcd75e064ee4a53f9c7be4.tar.bz2
less flicker
-rw-r--r--src/Window.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 00f2e42..b33bcbe 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Window.cc,v 1.227 2003/09/12 23:34:13 fluxgen Exp $ 25// $Id: Window.cc,v 1.228 2003/09/14 10:13:06 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -968,10 +968,14 @@ void FluxboxWindow::reconfigure() {
968 968
969/// update current client title and title in our frame 969/// update current client title and title in our frame
970void FluxboxWindow::updateTitleFromClient() { 970void FluxboxWindow::updateTitleFromClient() {
971
972 m_client->updateTitle(); 971 m_client->updateTitle();
973 m_labelbuttons[m_client]->setText(m_client->title()); 972 // compare old title with new and see if we need to update
974 m_labelbuttons[m_client]->clear(); // redraw text 973 // graphics
974 if (m_labelbuttons[m_client]->text() != m_client->title()) {
975 m_labelbuttons[m_client]->setText(m_client->title());
976 m_labelbuttons[m_client]->clear(); // redraw text
977 m_labelbuttons[m_client]->updateTransparent();
978 }
975} 979}
976 980
977/// update icon title from client 981/// update icon title from client
@@ -1108,8 +1112,9 @@ void FluxboxWindow::moveResize(int new_x, int new_y,
1108 new_height = height(); 1112 new_height = height();
1109 } 1113 }
1110 1114
1111 setFocusFlag(focused);
1112 frame().moveResize(new_x, new_y, new_width, new_height); 1115 frame().moveResize(new_x, new_y, new_width, new_height);
1116 setFocusFlag(focused);
1117
1113 1118
1114 shaded = false; 1119 shaded = false;
1115 send_event = true; 1120 send_event = true;
@@ -1652,9 +1657,8 @@ void FluxboxWindow::setFocusFlag(bool focus) {
1652 1657
1653 installColormap(focus); 1658 installColormap(focus);
1654 1659
1655 if (focus != frame().focused()) { 1660 if (focus != frame().focused())
1656 frame().setFocus(focus); 1661 frame().setFocus(focus);
1657 }
1658 1662
1659 if ((screen().isSloppyFocus() || screen().isSemiSloppyFocus()) 1663 if ((screen().isSloppyFocus() || screen().isSemiSloppyFocus())
1660 && screen().doAutoRaise()) { 1664 && screen().doAutoRaise()) {
@@ -1948,7 +1952,6 @@ void FluxboxWindow::handleEvent(XEvent &event) {
1948} 1952}
1949 1953
1950void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { 1954void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) {
1951
1952 // we're only concerned about client window event 1955 // we're only concerned about client window event
1953 WinClient *client = findClient(re.window); 1956 WinClient *client = findClient(re.window);
1954 if (client == 0) { 1957 if (client == 0) {