fixed iconbar update bug
This commit is contained in:
parent
d78a4ac9a9
commit
675f28ad9e
2 changed files with 23 additions and 21 deletions
|
@ -22,7 +22,9 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: Window.cc,v 1.39 2002/04/04 14:23:30 fluxgen Exp $
|
// $Id: Window.cc,v 1.40 2002/04/04 22:39:52 fluxgen Exp $
|
||||||
|
|
||||||
|
#include "Window.hh"
|
||||||
|
|
||||||
//use GNU extensions
|
//use GNU extensions
|
||||||
#ifndef _GNU_SOURCE
|
#ifndef _GNU_SOURCE
|
||||||
|
@ -38,7 +40,6 @@
|
||||||
#include "Icon.hh"
|
#include "Icon.hh"
|
||||||
#include "Screen.hh"
|
#include "Screen.hh"
|
||||||
#include "Toolbar.hh"
|
#include "Toolbar.hh"
|
||||||
#include "Window.hh"
|
|
||||||
#include "Windowmenu.hh"
|
#include "Windowmenu.hh"
|
||||||
#include "StringUtil.hh"
|
#include "StringUtil.hh"
|
||||||
|
|
||||||
|
@ -1469,6 +1470,7 @@ void FluxboxWindow::getWMName(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
client.title_text_w += (frame.bevel_w * 4);
|
client.title_text_w += (frame.bevel_w * 4);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1498,6 +1500,7 @@ void FluxboxWindow::getWMIconName(void) {
|
||||||
client.icon_title = getTitle();
|
client.icon_title = getTitle();
|
||||||
} else
|
} else
|
||||||
client.icon_title = getTitle();
|
client.icon_title = getTitle();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2971,6 +2974,7 @@ void FluxboxWindow::propertyNotifyEvent(Atom atom) {
|
||||||
case XA_WM_ICON_NAME:
|
case XA_WM_ICON_NAME:
|
||||||
getWMIconName();
|
getWMIconName();
|
||||||
if (iconic) screen->iconUpdate();
|
if (iconic) screen->iconUpdate();
|
||||||
|
updateIcon();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case XA_WM_NAME:
|
case XA_WM_NAME:
|
||||||
|
@ -2984,22 +2988,9 @@ void FluxboxWindow::propertyNotifyEvent(Atom atom) {
|
||||||
|
|
||||||
if (! iconic)
|
if (! iconic)
|
||||||
screen->getWorkspace(workspace_number)->update();
|
screen->getWorkspace(workspace_number)->update();
|
||||||
else if (Fluxbox::instance()->useIconBar()) {
|
|
||||||
IconBar *iconbar = 0;
|
|
||||||
IconBarObj *icon = 0;
|
|
||||||
if ((iconbar = screen->getToolbar()->getIconBar()) != 0) {
|
|
||||||
if ((icon = iconbar->findIcon(this)) != 0)
|
|
||||||
iconbar->draw(icon, icon->getWidth());
|
|
||||||
#ifdef DEBUG
|
|
||||||
else
|
else
|
||||||
cerr<<__FILE__<<"("<<__LINE__<<"): can't find icon!"<<endl;
|
updateIcon();
|
||||||
#endif //DEBUG
|
|
||||||
}
|
|
||||||
#ifdef DEBUG
|
|
||||||
else
|
|
||||||
cerr<<__FILE__<<"("<<__LINE__<<"): can't find iconbar!"<<endl;
|
|
||||||
#endif //DEBUG
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -3607,6 +3598,17 @@ void FluxboxWindow::stopResizing(Window win) {
|
||||||
XUngrabPointer(display, CurrentTime);
|
XUngrabPointer(display, CurrentTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//finds and redraw the icon label
|
||||||
|
void FluxboxWindow::updateIcon() {
|
||||||
|
if (Fluxbox::instance()->useIconBar()) {
|
||||||
|
IconBar *iconbar = 0;
|
||||||
|
IconBarObj *icon = 0;
|
||||||
|
if ((iconbar = screen->getToolbar()->getIconBar()) != 0) {
|
||||||
|
if ((icon = iconbar->findIcon(this)) != 0)
|
||||||
|
iconbar->draw(icon, icon->getWidth());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FluxboxWindow::restore(void) {
|
void FluxboxWindow::restore(void) {
|
||||||
XChangeSaveSet(display, client.window, SetModeDelete);
|
XChangeSaveSet(display, client.window, SetModeDelete);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: Window.hh,v 1.17 2002/04/04 14:23:30 fluxgen Exp $
|
// $Id: Window.hh,v 1.18 2002/04/04 22:39:52 fluxgen Exp $
|
||||||
|
|
||||||
#ifndef WINDOW_HH
|
#ifndef WINDOW_HH
|
||||||
#define WINDOW_HH
|
#define WINDOW_HH
|
||||||
|
@ -317,7 +317,7 @@ private:
|
||||||
void stopMoving();
|
void stopMoving();
|
||||||
void startResizing(XMotionEvent *me, bool left);
|
void startResizing(XMotionEvent *me, bool left);
|
||||||
void stopResizing(Window win=0);
|
void stopResizing(Window win=0);
|
||||||
|
void updateIcon();
|
||||||
|
|
||||||
#ifdef GNOME
|
#ifdef GNOME
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue