xserver/hw/dmx/dmxselection.h
David Reveman a1dd3fe551 Add selection support.
Selections are automatically shared with back-end servers. This provides
seamless communication between back-end server clients and local clients.

Some selections are not appropriate to share as they will cause
unwanted conflicts. E.g. most manager selections.  These selections
can still be shared by adding a unique identifier to them. Selections
that need this identifier can be specified using a command line option.
2008-10-30 03:37:47 -04:00

83 lines
2.3 KiB
C

/*
* Copyright © 2008 Novell, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose is hereby granted without
* fee, provided that the above copyright notice appear in all copies
* and that both that copyright notice and this permission notice
* appear in supporting documentation, and that the name of
* Novell, Inc. not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior permission.
* Novell, Inc. makes no representations about the suitability of this
* software for any purpose. It is provided "as is" without express or
* implied warranty.
*
* NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
* NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Author: David Reveman <davidr@novell.com>
*/
#ifndef DMXSELECTION_H
#define DMXSELECTION_H
#include "dmx.h"
#include "propertyst.h"
Window
dmxBEGetSelectionAdjustedPropertyWindow (WindowPtr pWin);
void
dmxSelectionClear (ScreenPtr pScreen,
Window owner,
Atom xSelection);
void
dmxSelectionNotify (ScreenPtr pScreen,
Window requestor,
Atom xSelection,
Atom xTarget,
Atom xProperty,
Time xTime);
Bool
dmxSelectionPropertyNotify (ScreenPtr pScreen,
Window requestor,
int state,
Atom xProperty,
Time xTime);
Bool
dmxSelectionPropertyReplyCheck (ScreenPtr pScreen,
unsigned int sequence,
xcb_generic_reply_t *reply);
void
dmxSelectionRequest (ScreenPtr pScreen,
Window owner,
Window requestor,
Atom xSelection,
Atom xTarget,
Atom xProperty,
Time xTime);
void
dmxSelectionPropertyChangeCheck (WindowPtr pWin,
Atom property,
int nUnits);
Bool
dmxCreateSelectionProxies (void);
void
dmxInitSelections (void);
void
dmxResetSelections (void);
#endif /* DMXSELECTION_H */