[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