<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>KSelectionOwner</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link rel="stylesheet" type="text/css" href="../common/doxygen.css" /> <link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="../common/kde.css" /> </head> <body> <div id="container"> <div id="header"> <div id="header_top"> <div> <div> <img alt ="" src="../common/top-kde.jpg"/> KDE 4.4 PyKDE API Reference </div> </div> </div> <div id="header_bottom"> <div id="location"> <ul> <li>KDE's Python API</li> </ul> </div> <div id="menu"> <ul> <li><a href="../modules.html">Overview</a></li> <li><a href="http://techbase.kde.org/Development/Languages/Python">PyKDE Home</a></li> <li><a href="http://kde.org/family/">Sitemap</a></li> <li><a href="http://kde.org/contact/">Contact Us</a></li> </ul> </div> </div> </div> <div id="body_wrapper"> <div id="body"> <div id="right"> <div class="content"> <div id="main"> <div class="clearer"> </div> <h1>KSelectionOwner Class Reference</h1> <code>from PyKDE4.kdeui import *</code> <p> Inherits: <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a><br /> <h2>Detailed Description</h2> <p>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 </p> <table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Signals</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#lostOwnership">lostOwnership</a> ()</td></tr> <tr><td colspan="2"><br><h2>Methods</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#KSelectionOwner">__init__</a> (self, <a href="../kdeui/Atom.html">Atom</a> selection, int screen=-1, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a> parent=NULL)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#KSelectionOwner">__init__</a> (self, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qstring.html">QString</a> selection, int screen=-1, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a> parent=NULL)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#claim">claim</a> (self, bool force, bool force_kill=1)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#genericReply">genericReply</a> (self, <a href="../kdeui/Atom.html">Atom</a> target, <a href="../kdeui/Atom.html">Atom</a> property, <a href="../kdecore/Window.html">Window</a> requestor)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#getAtoms">getAtoms</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#lostOwnership">lostOwnership</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../kdecore/Window.html">Window</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ownerWindow">ownerWindow</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#release">release</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#replyTargets">replyTargets</a> (self, <a href="../kdeui/Atom.html">Atom</a> property, <a href="../kdecore/Window.html">Window</a> requestor)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setData">setData</a> (self, long extra1, long extra2)</td></tr> </table> <hr><h2>Method Documentation</h2><a class="anchor" name="KSelectionOwner"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdeui/Atom.html">Atom</a> </td> <td class="paramname"><em>selection</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>screen=-1</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a> </td> <td class="paramname"><em>parent=NULL</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p> This constructor accepts the selection name and creates the appropriate atom for it automatically. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>selection</em> </td><td> name of the manager selection <tr><td></td><td valign="top"><em>screen</em> </td><td> X screen, or -1 for default <tr><td></td><td valign="top"><em>parent</em> </td><td> parent object, or NULL if there is none </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="KSelectionOwner"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qstring.html">QString</a> </td> <td class="paramname"><em>selection</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>screen=-1</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a> </td> <td class="paramname"><em>parent=NULL</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p> This constructor accepts the selection name and creates the appropriate atom for it automatically. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>selection</em> </td><td> name of the manager selection <tr><td></td><td valign="top"><em>screen</em> </td><td> X screen, or -1 for default <tr><td></td><td valign="top"><em>parent</em> </td><td> parent object, or NULL if there is none </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="claim"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool claim</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>force</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>force_kill=1</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>This function attemps to claim ownership of the manager selection, using the current X timestamp. If <b>force</b> 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 <b>force_kill</b> 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. </p></div></div><a class="anchor" name="genericReply"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool genericReply</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdeui/Atom.html">Atom</a> </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdeui/Atom.html">Atom</a> </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdecore/Window.html">Window</a> </td> <td class="paramname"><em>requestor</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Called when a SelectionRequest event is received. A reply should be sent using the selection handling mechanism described in the ICCCM section 2. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>target</em> </td><td> requested target type <tr><td></td><td valign="top"><em>property</em> </td><td> property to use for the reply data <tr><td></td><td valign="top"><em>requestor</em> </td><td> requestor window </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="getAtoms"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> getAtoms</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>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. </p></div></div><a class="anchor" name="lostOwnership"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> lostOwnership</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>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. </p><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("lostOwnership()"), target_slot)</code></dd></dl></div></div><a class="anchor" name="ownerWindow"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../kdecore/Window.html">Window</a> ownerWindow</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>If the selection is owned, returns the window used internally for owning the selection. </p></div></div><a class="anchor" name="release"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> release</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>If the selection is owned, the ownership is given up. </p></div></div><a class="anchor" name="replyTargets"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> replyTargets</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdeui/Atom.html">Atom</a> </td> <td class="paramname"><em>property</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdecore/Window.html">Window</a> </td> <td class="paramname"><em>requestor</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>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. </p></div></div><a class="anchor" name="setData"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setData</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"><em>extra1</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"><em>extra2</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>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. </p></div></div> </div> </div> </div> <div id="left"> <div class="menu_box"> <div class="nav_list"> <ul> <li><a href="../allclasses.html">Full Index</a></li> </ul> </div> <a name="cp-menu" /><div class="menutitle"><div> <h2 id="cp-menu-project">Modules</h2> </div></div> <div class="nav_list"> <ul><li><a href="../akonadi/index.html">akonadi</a></li> <li><a href="../dnssd/index.html">dnssd</a></li> <li><a href="../kdecore/index.html">kdecore</a></li> <li><a href="../kdeui/index.html">kdeui</a></li> <li><a href="../khtml/index.html">khtml</a></li> <li><a href="../kio/index.html">kio</a></li> <li><a href="../knewstuff/index.html">knewstuff</a></li> <li><a href="../kparts/index.html">kparts</a></li> <li><a href="../kutils/index.html">kutils</a></li> <li><a href="../nepomuk/index.html">nepomuk</a></li> <li><a href="../phonon/index.html">phonon</a></li> <li><a href="../plasma/index.html">plasma</a></li> <li><a href="../polkitqt/index.html">polkitqt</a></li> <li><a href="../solid/index.html">solid</a></li> <li><a href="../soprano/index.html">soprano</a></li> </ul></div></div> </div> </div> <div class="clearer"/> </div> <div id="end_body"></div> </div> <div id="footer"><div id="footer_text"> This documentation is maintained by <a href="mailto:simon@simonzone.com">Simon Edwards</a>.<br /> KDE<sup>®</sup> and <a href="../images/kde_gear_black.png">the K Desktop Environment<sup>®</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div></div> </body> </html>