• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDEUI

KSelectionOwner Class Reference

This class implements claiming and owning manager selections, as described in the ICCCM, section 2.8. More...

#include <kmanagerselection.h>

Inheritance diagram for KSelectionOwner:

Inheritance graph
[legend]

List of all members.


Signals

void lostOwnership ()

Public Member Functions

bool claim (bool force, bool force_kill=true)
bool filterEvent (XEvent *ev_P)
 KSelectionOwner (const char *selection, int screen=-1, QObject *parent=NULL)
 KSelectionOwner (Atom selection, int screen=-1, QObject *parent=NULL)
Window ownerWindow () const
void release ()
virtual ~KSelectionOwner ()

Protected Member Functions

virtual bool genericReply (Atom target, Atom property, Window requestor)
virtual void getAtoms ()
virtual bool handleMessage (XEvent *ev)
virtual void replyTargets (Atom property, Window requestor)
void setData (long extra1, long extra2)

Detailed Description

This class implements claiming and owning manager selections, as described in the ICCCM, section 2.8.

The selection atom is passed to the constructor, claim() attemps to claim ownership of the selection, release() gives up the selection ownership. Signal lostOwnership() is emitted when the selection is claimed by another owner. ICCCM manager selection owner

Definition at line 45 of file kmanagerselection.h.


Constructor & Destructor Documentation

KSelectionOwner::KSelectionOwner ( Atom  selection,
int  screen = -1,
QObject *  parent = NULL 
) [explicit]

This constructor initializes the object, but doesn't perform any operation on the selection.

Parameters:
selection atom representing the manager selection
screen X screen, or -1 for default
parent parent object, or NULL if there is none

Definition at line 88 of file kmanagerselection.cpp.

KSelectionOwner::KSelectionOwner ( const char *  selection,
int  screen = -1,
QObject *  parent = NULL 
) [explicit]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This constructor accepts the selection name and creates the appropriate atom for it automatically.

Parameters:
selection name of the manager selection
screen X screen, or -1 for default
parent parent object, or NULL if there is none

Definition at line 94 of file kmanagerselection.cpp.

KSelectionOwner::~KSelectionOwner (  )  [virtual]

Destructor.

Calls release().

Definition at line 100 of file kmanagerselection.cpp.


Member Function Documentation

bool KSelectionOwner::claim ( bool  force,
bool  force_kill = true 
)

This function attemps to claim ownership of the manager selection, using the current X timestamp.

If force is false, and the selection is already owned, the selection is not claimed, and false is returned. If claiming is forced and the selection is owned by another client, it is waited for up to 1 second for the previous owner to disown the selection, if force_kill is true, and the previous owner fails to disown the selection in time, it will be forcibly killed. True is returned after successfully claiming ownership of the selection.

Definition at line 106 of file kmanagerselection.cpp.

bool KSelectionOwner::filterEvent ( XEvent *  ev_P  ) 

For internal use only.

Definition at line 208 of file kmanagerselection.cpp.

bool KSelectionOwner::genericReply ( Atom  target,
Atom  property,
Window  requestor 
) [protected, virtual]

Called when a SelectionRequest event is received.

A reply should be sent using the selection handling mechanism described in the ICCCM section 2.

Parameters:
target requested target type
property property to use for the reply data
requestor requestor window

Definition at line 344 of file kmanagerselection.cpp.

void KSelectionOwner::getAtoms (  )  [protected, virtual]

Called to create atoms needed for claiming the selection and communication using the selection handling mechanism.

The default implementation must be called if reimplemented. This method may be called repeatedly.

Definition at line 349 of file kmanagerselection.cpp.

bool KSelectionOwner::handleMessage ( XEvent *  ev  )  [protected, virtual]

Called for every X event received on the window used for owning the selection.

If true is returned, the event is filtered out.

Definition at line 252 of file kmanagerselection.cpp.

void KSelectionOwner::lostOwnership (  )  [signal]

This signal is emitted if the selection was owned and the ownership has been lost due to another client claiming it, this signal is emitted.

IMPORTANT: It's not safe to delete the instance in a slot connected to this signal.

Window KSelectionOwner::ownerWindow (  )  const

If the selection is owned, returns the window used internally for owning the selection.

Definition at line 195 of file kmanagerselection.cpp.

void KSelectionOwner::release (  ) 

If the selection is owned, the ownership is given up.

Definition at line 186 of file kmanagerselection.cpp.

void KSelectionOwner::replyTargets ( Atom  property,
Window  requestor 
) [protected, virtual]

Called to announce the supported targets, as described in the ICCCM section 2.6.

The default implementation announces the required targets MULTIPLE, TIMESTAMP and TARGETS.

Definition at line 336 of file kmanagerselection.cpp.

void KSelectionOwner::setData ( long  extra1,
long  extra2 
) [protected]

Sets extra data to be sent in the message sent to root window after successfully claiming a selection.

These extra data are in data.l[3] and data.l[4] fields of the XClientMessage.

Definition at line 202 of file kmanagerselection.cpp.


The documentation for this class was generated from the following files:
  • kmanagerselection.h
  • kmanagerselection.cpp

KDEUI

Skip menu "KDEUI"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal