[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: X thinks my screen is larger than it actually is



On Fri, Apr 09, 1999 at 10:57:19AM -0400, MallarJ@aol.com wrote:
> In a message dated 4/9/99 9:39:51 AM Central Daylight Time, 
> 95rmwh@eng.cam.ac.uk writes:
> 
> > Which window manager are you using?  It must be possible to fix this:
> >  you're just bothered by the initial placement of the windows, not with
> >  bits of your actual desktop being off the screen, right?  
> 
> It seems to be all window managers.  I've used kwm (with KDE), enlightenment, 
> fvwm, fvwm95, so far - and all them have the same problem.  My current (and 
> probably final) window manager is kwm.

They probably all have the same problem because they're all based on fvwm
code, ultimately.  (And the original fvwm was a stripped down and enhanced
version of twm.)

> The problem is partly the initial placement of windows - and the -geometry 
> option helps a great deal - but the issue is more based in the fact that I 
> shouldn't have to do this for every single window - and there are some 
> windows I can't fix in this way.
> 
> For example,
> 
> Everytime I right click in KDE to bring up a properties dialog, it is always 
> half on and half off the screen.  A window should NEVER be placed beyond the 
> physical limits of the current resolution.   Also, there are quite a few KDE 
> windows that are just to big for 640x480 in the first place - and since I 
> can't fix them with the -geometry option, I constantly have to move them 
> around to use them.
> 
> Another example - every time I start up emacs, the window created is much 
> larger than my actual resolution.  I can maximize the window to bring it back 
> to my 640x480 restraints, or use the geometry option - but why is this window 
> created beyond my screen size in the first place?

Okay, assuming you are using a virtual desktop, e.g., your actual physical
screen is a 640x480 "viewport" onto a larger desk (I'm not talking about a
paged desktop a la FvwmPager) -- there is probably no easy way to fix this
problem, because only the server knows where on the virtual desktop you
are, and I don't think it makes this information available to clients.

In other words, if you have a 640x480 mode but your XF86Config has a
  Virtual 1024 768
line, then every X client in the world thinks you have a 1024x768 display,
and the assumption is that you can see all of it at once.  I think the
virtual desktop is a hack that XFree86 developed, but I'm too lazy to dig
into the server sources and look.  I've never run across any other
implementation of X that used a virtual desktop in this manner.

> PS - the man pages are no help with this issue.  I'm pretty sure I've 
> searched everywhere on this one, but someone, please, correct me if I'm wrong 
> - I'd LOVE to fix this beast.

If my diagnosis is correct, there is probably no easy way to fix this and
keep the virtual desktop.  The hard way to fix it would be to hack the X
server in such a way as to have it report back the size of the viewport
instead of the real screen resolution, when Xlib functions and macros like
DisplayWidth(), DisplayHeight(), XGetGeometry(), and XGetWindowAttributes()
try to obtain this information.

Doing that, however, might turn out to be a hideously bad idea for reasons
I can't think of right now.  An experienced X client programmer would
probably be able to come up with some.

If not, however, it's worth wishlisting to the XFree86 guys.

Personally, I find virtual desktops to be a pain in the ass and I don't use
them.  OTOH, I have the luxury of running a 17" monitor and a 1376x1032
default resolution, which just ain't gonna happen on a 14" or 15" (if
somebody does manage it, they'll have to press their nose against the
monitor glass to read an xterm -fn fixed).

I think a paged desktop such as that provided by fvwm is a superior
solution.  The window manager knows about this, and can make better
decisions about window placement.  Server-based virtual desktops hide
it from all clients, including the window manager.

-- 
G. Branden Robinson              |   America is at that awkward stage.  It's
Debian GNU/Linux                 |   too late to work within the system, but
branden@ecn.purdue.edu           |   too early to shoot the bastards.
cartoon.ecn.purdue.edu/~branden/ |   --Claire Wolfe

Attachment: pgpgWe5mlE_U9.pgp
Description: PGP signature


Reply to: