[GRASS5] monitor resize

Huidae Cho grass4u at gmail.com
Fri Sep 30 21:40:51 EDT 2005


On Sat, Oct 01, 2005 at 01:31:28PM +1200, Hamish wrote:
> > > I have a question. I remember I was able to resize the XDRIVER
> > > monitor by dragging the edge of the window with mouse.  But now I
> > > cannot, maybe from 6.0 (?).  Is this intended (then why?) or a
> > > window manager problem? I know there is d.resize, but it's sometimes
> > > inconvenient.
> > 
> > You cannot resize the window while a client is connected. The
> > dimensions which the driver reports to the client must remain correct
> > for the lifetime of the client.
> > 
> > However, there have been reported problems with some window managers
> > refusing to allow resizing even when no client is connected. The most
> > likely reason is that they are recording the min/max size which are
> > set while a client is connected then continuing to enforce the
> > restrictions after they are removed.
> > 
> > One thing to try is to change:
> > 
> > 	szhints->flags = PSize;
> > to:
> > 	szhints->flags = 0;
> > 
> > on line 24 of display/drivers/XDRIVER/XDRIVER24/Client.c, and/or
> > changing:
> > 
> >     szhints->flags = USSize;
> > to:
> >     szhints->flags = 0;
> > 
> > on line 205 of display/drivers/XDRIVER/XDRIVER24/Graph_Set.c.
> > 
> > Let me know how this works out; the existing code works OK with all of
> > the window managers which I have tried.
> 
> 
> Using the Fluxbox WM (~1 year old version) on Debian:
> 
> 
> The resizing control (and window border) are there when you first create
> the window with d.mon, but disappear as soon as you call anything (eg
> d.erase). `d.mon stop=xN && d.mon start=xN` doesn't always bring them 
> back unless you start/stop a different number monitor first.

The exact same things happened to me.  I'm working around this problem with a
dirty script:

---
#!/bin/sh
start=0
if echo $@ | grep 'sta.*=' > /dev/null 2>&1
then
	start=1
	mon=`echo $@ | sed 's/^.*=//'`
elif ! echo $@ | grep '=' > /dev/null 2>&1
then
	if ! echo $@ | grep 'help' > /dev/null 2>&1
	then
		start=1
		mon=$@
	fi
fi

if [ $start -eq 1 ]
then
	d.mon -s $mon
	sleep 1
	d.mon select=$mon
else
	d.mon $@
fi
---

This script is aliased to d.mon.


> 
> The above two code changes don't have any affect, AFAICT.
> 
> Are there any verbose xwininfo options that may be of help for checking
> the window's state?
> 

I have no idea about this.

Huidae Cho




More information about the grass-dev mailing list