discuss-gnustep
[Top][All Lists]
Advanced

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

Re: NSPasteboard on X, what to do?


From: Richard Frith-Macdonald
Subject: Re: NSPasteboard on X, what to do?
Date: Wed, 9 Jan 2002 10:51:52 +0000

On Wednesday, January 9, 2002, at 09:53 AM, Robert Slover wrote:

The X Window System supports one or more screens containing overlap-
ping windows or subwindows. A screen is a physical monitor and hardware, which can be either color, grayscale or monochrome. There can be multiple screens for each display or workstation. A single X server can provide display services for any number of screens. A set of screens for a single user with one
keyboard and one pointer (usually a mouse) is called a display.

So I had always assumed that in a multi-screen environment (Xinerama?) there was still only one DISPLAY variable per user session. If that assumption is correct, that seems to be the thing to group by, and in that case I don't see why there's anything special to be done to support multiple screens. It seems like each backend should have some idea of what a user session key might be, for
X it is DISPLAY, and the pasteboard server should be set up uniquely per
session key.  If my understanding is naive, please correct me.

Sounds very reasonable to me ... at the moment there is one pasteboard server per machine ... but I have never actually encountered a case where there is was not a one to one mapping between machine and DISPLAY (as described above).

I'm sure there must exist some setups (corporate/academic?) where they have mainframe
systems with multiple DISPLAYs, but I think they must be pretty rare.

So ... we should probably modify stuff as follows -
1. Extend the pasteboard server so we can tell it to advertise itsself to the network
using a name corresponding to the display it is started for.
2. Modify the NSPasteboard class to get it to connect to the correct pasteboard rather
than using the default name on the local host.
3. Define a user default to specify which host/DISPLAY an app is supposed to use and/or
an API for the backend to tell the frontend about this.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]