Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > c67c6057ffd14254a26624517a2352e6 > files > 89

i3-doc-3.e-3.bf1.fc14.noarch.rpm

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>i3: include/floating.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>include/floating.h File Reference</h1><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>

<p><a href="a00039_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a1b6cf5fbd1cee4e32a102b1da9b7a0a7">DRAGGING_CB</a>(name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro to create a callback function for dragging.  <a href="#a1b6cf5fbd1cee4e32a102b1da9b7a0a7"></a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#abc0e74d417ed2037efb335d66e644454">callback_t</a> )(xcb_connection_t *, <a class="el" href="a00007.html">Client</a> *, <a class="el" href="a00020.html">Rect</a> *, uint32_t, uint32_t, void *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for dragging.  <a href="#abc0e74d417ed2037efb335d66e644454"></a><br/></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769a">border_t</a> { <a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769aafc0aeaa77f9200b57bb411a7cdaaee94">BORDER_LEFT</a> =  (1 &lt;&lt; 0), 
<a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769aaf0e1382b7cab91ba9c3124607719c841">BORDER_RIGHT</a> =  (1 &lt;&lt; 1), 
<a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769aa74fabb36cb5f0a09955bb37ced6fd0da">BORDER_TOP</a> =  (1 &lt;&lt; 2), 
<a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769aa4f7b6a135ac7332d7b666aa49f72b970">BORDER_BOTTOM</a> =  (1 &lt;&lt; 3)
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>On which border was the dragging initiated? </p>
 <a href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769a">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#aa8af48aadcf7753f5efc97b65a4cfd91">toggle_floating_mode</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *client, bool automatic)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enters floating mode for the given client.  <a href="#aa8af48aadcf7753f5efc97b65a4cfd91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a551a7fd238fea8026df7a07b503f1bef">floating_assign_to_workspace</a> (<a class="el" href="a00007.html">Client</a> *client, <a class="el" href="a00025.html">Workspace</a> *new_workspace)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the floating client from its workspace and attaches it to the new workspace.  <a href="#a551a7fd238fea8026df7a07b503f1bef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a45f1fa09855e7264dba2e040b1a7eb7a">floating_border_click</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *client, xcb_button_press_event_t *event)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever the user clicks on a border (not the titlebar!) of a floating window.  <a href="#a45f1fa09855e7264dba2e040b1a7eb7a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#ade1139a34e35e87474ee701231d57945">floating_drag_window</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *client, xcb_button_press_event_t *event)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the user clicked on the titlebar of a floating window.  <a href="#ade1139a34e35e87474ee701231d57945"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a7ad8b1f1b348648ed8d56facc5a1ccdb">floating_resize_window</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *client, bool proportional, xcb_button_press_event_t *event)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the user clicked on a floating window while holding the floating_modifier and the right mouse button.  <a href="#a7ad8b1f1b348648ed8d56facc5a1ccdb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a8f14283efc52e767d701f71e58c2d8df">floating_focus_direction</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *currently_focused, <a class="el" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6b">direction_t</a> direction)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes focus in the given direction for floating clients.  <a href="#a8f14283efc52e767d701f71e58c2d8df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#aa4826c9c64505152ecccceec17ceabf2">floating_move</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *currently_focused, <a class="el" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6b">direction_t</a> direction)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the client 10px to the specified direction.  <a href="#aa4826c9c64505152ecccceec17ceabf2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a4616d049f3145ecee455c2d697864596">floating_toggle_hide</a> (xcb_connection_t *conn, <a class="el" href="a00025.html">Workspace</a> *workspace)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hides all floating clients (or show them if they are currently hidden) on the specified workspace.  <a href="#a4616d049f3145ecee455c2d697864596"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a74161272ece36a35ab930bf32fb5027e">drag_pointer</a> (xcb_connection_t *conn, <a class="el" href="a00007.html">Client</a> *client, xcb_button_press_event_t *event, xcb_window_t confine_to, <a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769a">border_t</a> border, <a class="el" href="a00039.html#abc0e74d417ed2037efb335d66e644454">callback_t</a> callback, void *extra)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function grabs your pointer and lets you drag stuff around (borders).  <a href="#a74161272ece36a35ab930bf32fb5027e"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a1b6cf5fbd1cee4e32a102b1da9b7a0a7"></a><!-- doxytag: member="floating.h::DRAGGING_CB" ref="a1b6cf5fbd1cee4e32a102b1da9b7a0a7" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DRAGGING_CB</td>
          <td>(</td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">static</span> <span class="keywordtype">void</span> name(xcb_connection_t *conn, <a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a> *client, \
                         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> *old_rect, uint32_t new_x, uint32_t new_y, \
                         <span class="keywordtype">void</span> *extra)
</pre></div>
<p>Macro to create a callback function for dragging. </p>

<p>Definition at line <a class="el" href="a00039_source.html#l00018">18</a> of file <a class="el" href="a00039_source.html">floating.h</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="abc0e74d417ed2037efb335d66e644454"></a><!-- doxytag: member="floating.h::callback_t" ref="abc0e74d417ed2037efb335d66e644454" args=")(xcb_connection_t *, Client *, Rect *, uint32_t, uint32_t, void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="a00039.html#abc0e74d417ed2037efb335d66e644454">callback_t</a>)(xcb_connection_t *, <a class="el" href="a00007.html">Client</a> *, <a class="el" href="a00020.html">Rect</a> *, uint32_t, uint32_t, void *)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Callback for dragging. </p>

<p>Definition at line <a class="el" href="a00039_source.html#l00015">15</a> of file <a class="el" href="a00039_source.html">floating.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="aacfe70f93afb3b5a074ff4d6f726769a"></a><!-- doxytag: member="floating.h::border_t" ref="aacfe70f93afb3b5a074ff4d6f726769a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769a">border_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>On which border was the dragging initiated? </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="aacfe70f93afb3b5a074ff4d6f726769aafc0aeaa77f9200b57bb411a7cdaaee94"></a><!-- doxytag: member="BORDER_LEFT" ref="aacfe70f93afb3b5a074ff4d6f726769aafc0aeaa77f9200b57bb411a7cdaaee94" args="" -->BORDER_LEFT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aacfe70f93afb3b5a074ff4d6f726769aaf0e1382b7cab91ba9c3124607719c841"></a><!-- doxytag: member="BORDER_RIGHT" ref="aacfe70f93afb3b5a074ff4d6f726769aaf0e1382b7cab91ba9c3124607719c841" args="" -->BORDER_RIGHT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aacfe70f93afb3b5a074ff4d6f726769aa74fabb36cb5f0a09955bb37ced6fd0da"></a><!-- doxytag: member="BORDER_TOP" ref="aacfe70f93afb3b5a074ff4d6f726769aa74fabb36cb5f0a09955bb37ced6fd0da" args="" -->BORDER_TOP</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aacfe70f93afb3b5a074ff4d6f726769aa4f7b6a135ac7332d7b666aa49f72b970"></a><!-- doxytag: member="BORDER_BOTTOM" ref="aacfe70f93afb3b5a074ff4d6f726769aa4f7b6a135ac7332d7b666aa49f72b970" args="" -->BORDER_BOTTOM</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="a00039_source.html#l00024">24</a> of file <a class="el" href="a00039_source.html">floating.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a74161272ece36a35ab930bf32fb5027e"></a><!-- doxytag: member="floating.h::drag_pointer" ref="a74161272ece36a35ab930bf32fb5027e" args="(xcb_connection_t *conn, Client *client, xcb_button_press_event_t *event, xcb_window_t confine_to, border_t border, callback_t callback, void *extra)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void drag_pointer </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">xcb_button_press_event_t *&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">xcb_window_t&nbsp;</td>
          <td class="paramname"> <em>confine_to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00039.html#aacfe70f93afb3b5a074ff4d6f726769a">border_t</a>&nbsp;</td>
          <td class="paramname"> <em>border</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00039.html#abc0e74d417ed2037efb335d66e644454">callback_t</a>&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>extra</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function grabs your pointer and lets you drag stuff around (borders). </p>
<p>Every time you move your mouse, an XCB_MOTION_NOTIFY event will be received and the given callback will be called with the parameters specified (client, border on which the click originally was), the original rect of the client, the event and the new coordinates (x, y). </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00380">380</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00071_source.html#l00082">evenths</a>, <a class="el" href="a00052_source.html#l00029">FREE</a>, <a class="el" href="a00064_source.html#l00248">handle_event()</a>, <a class="el" href="a00036_source.html#l00359">Client::rect</a>, and <a class="el" href="a00071_source.html#l00085">root</a>.</p>

<p>Referenced by <a class="el" href="a00066_source.html#l00234">floating_border_click()</a>, <a class="el" href="a00066_source.html#l00279">floating_drag_window()</a>, <a class="el" href="a00066_source.html#l00350">floating_resize_window()</a>, and <a class="el" href="a00074_source.html#l00076">resize_graphical_handler()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a551a7fd238fea8026df7a07b503f1bef"></a><!-- doxytag: member="floating.h::floating_assign_to_workspace" ref="a551a7fd238fea8026df7a07b503f1bef" args="(Client *client, Workspace *new_workspace)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void floating_assign_to_workspace </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>new_workspace</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes the floating client from its workspace and attaches it to the new workspace. </p>
<p>This is centralized here because it may happen if you move it via keyboard and if you move it using your mouse. </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00149">149</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00411">Client::fullscreen</a>, <a class="el" href="a00036_source.html#l00226">Workspace::fullscreen_client</a>, <a class="el" href="a00047_source.html#l00137">SLIST_INSERT_HEAD</a>, <a class="el" href="a00047_source.html#l00150">SLIST_REMOVE</a>, <a class="el" href="a00047_source.html#l00363">TAILQ_INSERT_TAIL</a>, <a class="el" href="a00047_source.html#l00387">TAILQ_REMOVE</a>, and <a class="el" href="a00036_source.html#l00356">Client::workspace</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00566">move_floating_window_to_workspace()</a>, and <a class="el" href="a00069_source.html#l00206">reposition_client()</a>.</p>

</div>
</div>
<a class="anchor" id="a45f1fa09855e7264dba2e040b1a7eb7a"></a><!-- doxytag: member="floating.h::floating_border_click" ref="a45f1fa09855e7264dba2e040b1a7eb7a" args="(xcb_connection_t *conn, Client *client, xcb_button_press_event_t *event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int floating_border_click </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">xcb_button_press_event_t *&nbsp;</td>
          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called whenever the user clicks on a border (not the titlebar!) of a floating window. </p>
<p>Determines on which border the user clicked and launches the drag_pointer function with the resize_callback. </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00234">234</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00066_source.html#l00173">resize_callback_params::border</a>, <a class="el" href="a00039_source.html#l00027">BORDER_BOTTOM</a>, <a class="el" href="a00039_source.html#l00024">BORDER_LEFT</a>, <a class="el" href="a00039_source.html#l00025">BORDER_RIGHT</a>, <a class="el" href="a00039_source.html#l00026">BORDER_TOP</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00066_source.html#l00380">drag_pointer()</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00359">Client::rect</a>, and <a class="el" href="a00036_source.html#l00099">Rect::width</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00255">handle_button_press()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="ade1139a34e35e87474ee701231d57945"></a><!-- doxytag: member="floating.h::floating_drag_window" ref="ade1139a34e35e87474ee701231d57945" args="(xcb_connection_t *conn, Client *client, xcb_button_press_event_t *event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void floating_drag_window </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">xcb_button_press_event_t *&nbsp;</td>
          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called when the user clicked on the titlebar of a floating window. </p>
<p>Calls the drag_pointer function with the drag_window callback </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00279">279</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00039_source.html#l00026">BORDER_TOP</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, and <a class="el" href="a00066_source.html#l00380">drag_pointer()</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00255">handle_button_press()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a8f14283efc52e767d701f71e58c2d8df"></a><!-- doxytag: member="floating.h::floating_focus_direction" ref="a8f14283efc52e767d701f71e58c2d8df" args="(xcb_connection_t *conn, Client *currently_focused, direction_t direction)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void floating_focus_direction </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>currently_focused</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6b">direction_t</a>&nbsp;</td>
          <td class="paramname"> <em>direction</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes focus in the given direction for floating clients. </p>
<p>Changing to the left/right means going to the previous/next floating client, changing to top/bottom means cycling through the Z-index. </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00466">466</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00064">D_LEFT</a>, <a class="el" href="a00036_source.html#l00064">D_RIGHT</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00007.html#ad5e886955e668cc51fbb17acb2871cea">Client::floating</a>, <a class="el" href="a00077_source.html#l00232">set_focus()</a>, <a class="el" href="a00047_source.html#l00325">TAILQ_END</a>, <a class="el" href="a00047_source.html#l00326">TAILQ_NEXT</a>, <a class="el" href="a00047_source.html#l00330">TAILQ_PREV</a>, and <a class="el" href="a00036_source.html#l00356">Client::workspace</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00950">parse_command()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="aa4826c9c64505152ecccceec17ceabf2"></a><!-- doxytag: member="floating.h::floating_move" ref="aa4826c9c64505152ecccceec17ceabf2" args="(xcb_connection_t *conn, Client *currently_focused, direction_t direction)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void floating_move </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>currently_focused</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6b">direction_t</a>&nbsp;</td>
          <td class="paramname"> <em>direction</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Moves the client 10px to the specified direction. </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00488">488</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00064">D_DOWN</a>, <a class="el" href="a00036_source.html#l00064">D_LEFT</a>, <a class="el" href="a00036_source.html#l00064">D_RIGHT</a>, <a class="el" href="a00036_source.html#l00064">D_UP</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00079_source.html#l00190">fake_absolute_configure_notify()</a>, <a class="el" href="a00036_source.html#l00411">Client::fullscreen</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00239">Workspace::output</a>, <a class="el" href="a00036_source.html#l00531">xoutput::rect</a>, <a class="el" href="a00036_source.html#l00359">Client::rect</a>, <a class="el" href="a00069_source.html#l00206">reposition_client()</a>, <a class="el" href="a00036_source.html#l00099">Rect::width</a>, <a class="el" href="a00036_source.html#l00356">Client::workspace</a>, <a class="el" href="a00036_source.html#l00097">Rect::x</a>, and <a class="el" href="a00036_source.html#l00098">Rect::y</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00950">parse_command()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a7ad8b1f1b348648ed8d56facc5a1ccdb"></a><!-- doxytag: member="floating.h::floating_resize_window" ref="a7ad8b1f1b348648ed8d56facc5a1ccdb" args="(xcb_connection_t *conn, Client *client, bool proportional, xcb_button_press_event_t *event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void floating_resize_window </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>proportional</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">xcb_button_press_event_t *&nbsp;</td>
          <td class="paramname"> <em>event</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called when the user clicked on a floating window while holding the floating_modifier and the right mouse button. </p>
<p>Calls the drag_pointer function with the resize_window callback </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00350">350</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00039_source.html#l00024">BORDER_LEFT</a>, <a class="el" href="a00039_source.html#l00025">BORDER_RIGHT</a>, <a class="el" href="a00039_source.html#l00026">BORDER_TOP</a>, <a class="el" href="a00066_source.html#l00293">resize_window_callback_params::corner</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00066_source.html#l00380">drag_pointer()</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00036_source.html#l00359">Client::rect</a>, and <a class="el" href="a00036_source.html#l00099">Rect::width</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00255">handle_button_press()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="a4616d049f3145ecee455c2d697864596"></a><!-- doxytag: member="floating.h::floating_toggle_hide" ref="a4616d049f3145ecee455c2d697864596" args="(xcb_connection_t *conn, Workspace *workspace)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void floating_toggle_hide </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>workspace</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Hides all floating clients (or show them if they are currently hidden) on the specified workspace. </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00540">540</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00060_source.html#l00339">client_is_floating()</a>, <a class="el" href="a00060_source.html#l00414">client_map()</a>, <a class="el" href="a00060_source.html#l00402">client_unmap()</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00036_source.html#l00216">Workspace::floating_hidden</a>, <a class="el" href="a00077_source.html#l00232">set_focus()</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, and <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00950">parse_command()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
<a class="anchor" id="aa8af48aadcf7753f5efc97b65a4cfd91"></a><!-- doxytag: member="floating.h::toggle_floating_mode" ref="aa8af48aadcf7753f5efc97b65a4cfd91" args="(xcb_connection_t *conn, Client *client, bool automatic)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void toggle_floating_mode </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00007.html">Client</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>automatic</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enters floating mode for the given client. </p>
<p>Correctly takes care of the position/size (separately stored for tiling/floating mode) and repositions/resizes/redecorates the client.</p>
<p>If the automatic flag is set to true, this was an automatic update by a change of the window class from the application which can be overwritten by the user. </p>

<p>Definition at line <a class="el" href="a00066_source.html#l00041">41</a> of file <a class="el" href="a00066_source.html">floating.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00452">Client::child</a>, <a class="el" href="a00036_source.html#l00364">Client::child_rect</a>, <a class="el" href="a00047_source.html#l00457">CIRCLEQ_INSERT_AFTER</a>, <a class="el" href="a00047_source.html#l00487">CIRCLEQ_INSERT_TAIL</a>, <a class="el" href="a00060_source.html#l00339">client_is_floating()</a>, <a class="el" href="a00060_source.html#l00038">client_remove_from_container()</a>, <a class="el" href="a00060_source.html#l00313">client_set_below_floating()</a>, <a class="el" href="a00062_source.html#l00037">config</a>, <a class="el" href="a00036_source.html#l00353">Client::container</a>, <a class="el" href="a00036_source.html#l00469">Container::currently_focused</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00036_source.html#l00431">Client::dock</a>, <a class="el" href="a00007.html#ad5e886955e668cc51fbb17acb2871cea">Client::floating</a>, <a class="el" href="a00036_source.html#l00362">Client::floating_rect</a>, <a class="el" href="a00034_source.html#l00087">Config::font</a>, <a class="el" href="a00036_source.html#l00448">Client::frame</a>, <a class="el" href="a00077_source.html#l00217">get_last_focused_client()</a>, <a class="el" href="a00036_source.html#l00331">Font::height</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00054.html#a50c1fc0de5343536d542c8349ab7ab0d">load_font()</a>, <a class="el" href="a00036_source.html#l00359">Client::rect</a>, <a class="el" href="a00069_source.html#l00081">redecorate_window()</a>, <a class="el" href="a00069_source.html#l00348">render_container()</a>, <a class="el" href="a00069_source.html#l00206">reposition_client()</a>, <a class="el" href="a00069_source.html#l00248">resize_client()</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00036_source.html#l00244">Workspace::table</a>, <a class="el" href="a00047_source.html#l00325">TAILQ_END</a>, <a class="el" href="a00047_source.html#l00363">TAILQ_INSERT_TAIL</a>, <a class="el" href="a00047_source.html#l00387">TAILQ_REMOVE</a>, <a class="el" href="a00036_source.html#l00099">Rect::width</a>, <a class="el" href="a00036_source.html#l00356">Client::workspace</a>, <a class="el" href="a00036_source.html#l00097">Rect::x</a>, <a class="el" href="a00079_source.html#l00259">xcb_raise_window()</a>, and <a class="el" href="a00036_source.html#l00098">Rect::y</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l01044">handle_transient_for()</a>, and <a class="el" href="a00061_source.html#l00950">parse_command()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
</div>
</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>