jmsellens@watmath.waterloo.edu.UUCP (02/26/87)
If you have a non-active icon at the left side of your screen, and you
change the title of the window to a shorter one, the icon may disappear
off the screen since the upper left corner stays in the same place, and
the icon shrinks. This is what I did to misc.c around line 866:
#ifdef waterloo
if (screen->iconVwin.window) {
WindowInfo info;
int x, y;
XChangeWindow( screen->iconVwin.window, screen->iconVwin.width,
screen->iconVwin.height );
/* make sure that the icon hasn't shifted completely off sceen */
if ( XQueryWindow( screen->iconVwin.window, &info ) )
if ( info.x + info.width < 10 || info.y + info.height < 10 ) {
x = info.x+info.width<10 ? 10 - info.width : info.x;
y = info.y+info.height<10 ? 10 - info.height : info.y;
XMoveWindow( screen->iconVwin.window, x, y );
}
}
#else
if (screen->iconVwin.window)
XChangeWindow( screen->iconVwin.window, screen->iconVwin.width,
screen->iconVwin.height );
#endif
if (screen->iconTwin.window) {
#ifdef waterloo
WindowInfo info;
int x, y;
screen->iconTwin.width = screen->iconVwin.width;
screen->iconTwin.height = screen->iconVwin.height;
XChangeWindow( screen->iconTwin.window, screen->iconTwin.width,
screen->iconTwin.height );
/* make sure that the icon hasn't shifted completely off sceen */
if ( XQueryWindow( screen->iconTwin.window, &info ) )
if ( info.x + info.width < 10 || info.y + info.height < 10 ) {
x = info.x+info.width<10 ? 10 - info.width : info.x;
y = info.y+info.height<10 ? 10 - info.height : info.y;
XMoveWindow( screen->iconTwin.window, x, y );
}
#else
screen->iconTwin.width = screen->iconVwin.width;
screen->iconTwin.height = screen->iconVwin.height;
XChangeWindow( screen->iconTwin.window, screen->iconTwin.width,
screen->iconTwin.height );
#endif