Sophie

Sophie

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

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/workspace.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/workspace.h File Reference</h1><code>#include &lt;xcb/xcb.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="a00036_source.html">data.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="a00048_source.html">randr.h</a>&quot;</code><br/>
<div class="dynheader">
Include dependency graph for workspace.h:</div>
<div class="dynsection">
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>

<p><a href="a00053_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="a00053.html#ac20d7dcb7586b993edab2b8725c8cec2">_WORKSPACE_H</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a73833335a85bfc97bdff285b151ab1c5">workspace_get</a> (int number)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the workspace with the given number (starting at 0), creating the workspace if necessary (by allocating the necessary amount of memory and initializing the data structures correctly).  <a href="#a73833335a85bfc97bdff285b151ab1c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a492c5885bad35ce073562238ab5bc72d">workspace_set_name</a> (<a class="el" href="a00025.html">Workspace</a> *ws, const char *name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the name (or just its number) for the given workspace.  <a href="#a492c5885bad35ce073562238ab5bc72d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a7a4e9d7994d904776ead4c8fc1b22091">workspace_is_visible</a> (<a class="el" href="a00025.html">Workspace</a> *ws)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the workspace is currently visible.  <a href="#a7a4e9d7994d904776ead4c8fc1b22091"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a2f31983877c705919ed85c985220855e">workspace_show</a> (xcb_connection_t *conn, int workspace)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switches to the given workspace.  <a href="#a2f31983877c705919ed85c985220855e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a26c93a2dc53d98a66ed59f7152c42687">workspace_assign_to</a> (<a class="el" href="a00025.html">Workspace</a> *ws, <a class="el" href="a00026.html">Output</a> *screen, bool hide_it)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns the given workspace to the given screen by correctly updating its state and reconfiguring all the clients on this workspace.  <a href="#a26c93a2dc53d98a66ed59f7152c42687"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a9e156f4f9fbeb3d82db7a79ef23fd9e5">workspace_initialize</a> (<a class="el" href="a00025.html">Workspace</a> *ws, <a class="el" href="a00026.html">Output</a> *screen, bool recheck)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the given workspace if it is not already initialized.  <a href="#a9e156f4f9fbeb3d82db7a79ef23fd9e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#aefa772375bb2c4fed89fa205899ee826">get_first_workspace_for_output</a> (<a class="el" href="a00026.html">Output</a> *screen)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the first unused workspace for the given screen, taking into account the preferred_screen setting of every workspace (workspace assignments).  <a href="#aefa772375bb2c4fed89fa205899ee826"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a5994190a13e9afaf2fddb99e8ec1f25d">workspace_unmap_clients</a> (xcb_connection_t *conn, <a class="el" href="a00025.html">Workspace</a> *u_ws)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unmaps all clients (and stack windows) of the given workspace.  <a href="#a5994190a13e9afaf2fddb99e8ec1f25d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a88c6ab06ad8ce02a23811e2ee2d84285">workspace_map_clients</a> (xcb_connection_t *conn, <a class="el" href="a00025.html">Workspace</a> *ws)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maps all clients (and stack windows) of the given workspace.  <a href="#a88c6ab06ad8ce02a23811e2ee2d84285"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a2c43568cc3492bd24992d93f4552bbe9">workspace_update_urgent_flag</a> (<a class="el" href="a00025.html">Workspace</a> *ws)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Goes through all clients on the given workspace and updates the workspace’s urgent flag accordingly.  <a href="#a2c43568cc3492bd24992d93f4552bbe9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a56b20858f66e962aad2b914b9ab97f1b">workspace_width</a> (<a class="el" href="a00025.html">Workspace</a> *ws)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#af55407f9bc846ec57cf289c87a47dbce">workspace_height</a> (<a class="el" href="a00025.html">Workspace</a> *ws)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ac20d7dcb7586b993edab2b8725c8cec2"></a><!-- doxytag: member="workspace.h::_WORKSPACE_H" ref="ac20d7dcb7586b993edab2b8725c8cec2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _WORKSPACE_H</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00053_source.html#l00017">17</a> of file <a class="el" href="a00053_source.html">workspace.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aefa772375bb2c4fed89fa205899ee826"></a><!-- doxytag: member="workspace.h::get_first_workspace_for_output" ref="aefa772375bb2c4fed89fa205899ee826" args="(Output *screen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00025.html">Workspace</a>* get_first_workspace_for_output </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00026.html">Output</a> *&nbsp;</td>
          <td class="paramname"> <em>screen</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the first unused workspace for the given screen, taking into account the preferred_screen setting of every workspace (workspace assignments). </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00301">301</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00073_source.html#l00070">get_output_by_name()</a>, <a class="el" href="a00036_source.html#l00184">Workspace::num</a>, <a class="el" href="a00036_source.html#l00239">Workspace::output</a>, <a class="el" href="a00036_source.html#l00219">Workspace::preferred_output</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, <a class="el" href="a00078_source.html#l00039">workspace_get()</a>, <a class="el" href="a00078_source.html#l00271">workspace_initialize()</a>, and <a class="el" href="a00076_source.html#l00034">workspaces</a>.</p>

<p>Referenced by <a class="el" href="a00073_source.html#l00367">init_workspaces()</a>, and <a class="el" href="a00080_source.html#l00104">initialize_xinerama()</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="a26c93a2dc53d98a66ed59f7152c42687"></a><!-- doxytag: member="workspace.h::workspace_assign_to" ref="a26c93a2dc53d98a66ed59f7152c42687" args="(Workspace *ws, Output *screen, bool hide_it)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_assign_to </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00026.html">Output</a> *&nbsp;</td>
          <td class="paramname"> <em>screen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>hide_it</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assigns the given workspace to the given screen by correctly updating its state and reconfiguring all the clients on this workspace. </p>
<p>This is called when initializing a screen and when re-assigning it to a different screen which just got available (if you configured it to be on screen 1 and you just plugged in screen 1). </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00223">223</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00076_source.html#l00036">c_ws</a>, <a class="el" href="a00036_source.html#l00528">xoutput::current_workspace</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00065_source.html#l00058">ewmh_update_workarea()</a>, <a class="el" href="a00036_source.html#l00440">Client::force_reconfigure</a>, <a class="el" href="a00071_source.html#l00058">global_conn</a>, <a class="el" href="a00068_source.html#l00121">ipc_send_event()</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#l00199">Workspace::rect</a>, <a class="el" href="a00069_source.html#l00680">render_workspace()</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00078_source.html#l00105">workspace_is_visible()</a>, and <a class="el" href="a00078_source.html#l00375">workspace_unmap_clients()</a>.</p>

<p>Referenced by <a class="el" href="a00073_source.html#l00166">initialize_output()</a>, <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>, and <a class="el" href="a00078_source.html#l00271">workspace_initialize()</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="a73833335a85bfc97bdff285b151ab1c5"></a><!-- doxytag: member="workspace.h::workspace_get" ref="a73833335a85bfc97bdff285b151ab1c5" args="(int number)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00025.html">Workspace</a>* workspace_get </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>number</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer to the workspace with the given number (starting at 0), creating the workspace if necessary (by allocating the necessary amount of memory and initializing the data structures correctly). </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00039">39</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00065_source.html#l00058">ewmh_update_workarea()</a>, <a class="el" href="a00076_source.html#l00127">expand_table_cols()</a>, <a class="el" href="a00076_source.html#l00073">expand_table_rows()</a>, <a class="el" href="a00068_source.html#l00121">ipc_send_event()</a>, <a class="el" href="a00036_source.html#l00184">Workspace::num</a>, <a class="el" href="a00077_source.html#l00074">scalloc()</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, <a class="el" href="a00047_source.html#l00348">TAILQ_INIT</a>, <a class="el" href="a00047_source.html#l00363">TAILQ_INSERT_TAIL</a>, <a class="el" href="a00047_source.html#l00327">TAILQ_LAST</a>, <a class="el" href="a00078_source.html#l00078">workspace_set_name()</a>, and <a class="el" href="a00076_source.html#l00034">workspaces</a>.</p>

<p>Referenced by <a class="el" href="a00078_source.html#l00301">get_first_workspace_for_output()</a>, <a class="el" href="a00061_source.html#l00638">move_current_window_to_workspace()</a>, <a class="el" href="a00061_source.html#l00566">move_floating_window_to_workspace()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, <a class="el" href="a00078_source.html#l00113">workspace_show()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</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="af55407f9bc846ec57cf289c87a47dbce"></a><!-- doxytag: member="workspace.h::workspace_height" ref="af55407f9bc846ec57cf289c87a47dbce" args="(Workspace *ws)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int workspace_height </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00078_source.html#l00463">463</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00062_source.html#l00037">config</a>, <a class="el" href="a00036_source.html#l00384">Client::desired_height</a>, <a class="el" href="a00034_source.html#l00105">Config::disable_workspace_bar</a>, <a class="el" href="a00034_source.html#l00087">Config::font</a>, <a class="el" href="a00071_source.html#l00058">global_conn</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#l00239">Workspace::output</a>, <a class="el" href="a00036_source.html#l00199">Workspace::rect</a>, and <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>.</p>

<p>Referenced by <a class="el" href="a00069_source.html#l00058">get_unoccupied_y()</a>, and <a class="el" href="a00074_source.html#l00164">resize_container()</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="a9e156f4f9fbeb3d82db7a79ef23fd9e5"></a><!-- doxytag: member="workspace.h::workspace_initialize" ref="a9e156f4f9fbeb3d82db7a79ef23fd9e5" args="(Workspace *ws, Output *screen, bool recheck)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00026.html">Output</a> *&nbsp;</td>
          <td class="paramname"> <em>screen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>recheck</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initializes the given workspace if it is not already initialized. </p>
<p>The given screen is to be understood as a fallback, if the workspace itself either was not assigned to a particular screen or cannot be placed there because the screen is not attached at the moment. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00271">271</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00073_source.html#l00070">get_output_by_name()</a>, <a class="el" href="a00036_source.html#l00239">Workspace::output</a>, <a class="el" href="a00036_source.html#l00219">Workspace::preferred_output</a>, and <a class="el" href="a00078_source.html#l00223">workspace_assign_to()</a>.</p>

<p>Referenced by <a class="el" href="a00078_source.html#l00301">get_first_workspace_for_output()</a>, <a class="el" href="a00061_source.html#l00638">move_current_window_to_workspace()</a>, <a class="el" href="a00061_source.html#l00566">move_floating_window_to_workspace()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, and <a class="el" href="a00078_source.html#l00113">workspace_show()</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="a7a4e9d7994d904776ead4c8fc1b22091"></a><!-- doxytag: member="workspace.h::workspace_is_visible" ref="a7a4e9d7994d904776ead4c8fc1b22091" args="(Workspace *ws)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool workspace_is_visible </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns true if the workspace is currently visible. </p>
<p>Especially important for multi-monitor environments, as they can have multiple currenlty active workspaces. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00105">105</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00528">xoutput::current_workspace</a>, and <a class="el" href="a00036_source.html#l00239">Workspace::output</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00994">handle_hints()</a>, <a class="el" href="a00067_source.html#l00880">handle_normal_hints()</a>, <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, <a class="el" href="a00067_source.html#l00603">handle_windowname_change()</a>, <a class="el" href="a00067_source.html#l00675">handle_windowname_change_legacy()</a>, <a class="el" href="a00061_source.html#l00638">move_current_window_to_workspace()</a>, <a class="el" href="a00061_source.html#l00566">move_floating_window_to_workspace()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, and <a class="el" href="a00078_source.html#l00223">workspace_assign_to()</a>.</p>

</div>
</div>
<a class="anchor" id="a88c6ab06ad8ce02a23811e2ee2d84285"></a><!-- doxytag: member="workspace.h::workspace_map_clients" ref="a88c6ab06ad8ce02a23811e2ee2d84285" args="(xcb_connection_t *conn, Workspace *ws)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_map_clients </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>ws</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maps all clients (and stack windows) of the given workspace. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00342">342</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00047_source.html#l00439">CIRCLEQ_FOREACH</a>, <a class="el" href="a00060_source.html#l00414">client_map()</a>, <a class="el" href="a00036_source.html#l00149">Stack_Window::container</a>, <a class="el" href="a00036_source.html#l00216">Workspace::floating_hidden</a>, <a class="el" href="a00052_source.html#l00026">FOR_TABLE</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00069_source.html#l00652">ignore_enter_notify_forall()</a>, <a class="el" href="a00036_source.html#l00146">Stack_Window::rect</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00071_source.html#l00078">stack_wins</a>, <a class="el" href="a00036_source.html#l00244">Workspace::table</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, <a class="el" href="a00036_source.html#l00144">Stack_Window::window</a>, and <a class="el" href="a00036_source.html#l00488">Container::workspace</a>.</p>

<p>Referenced by <a class="el" href="a00073_source.html#l00166">initialize_output()</a>, and <a class="el" href="a00078_source.html#l00113">workspace_show()</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="a492c5885bad35ce073562238ab5bc72d"></a><!-- doxytag: member="workspace.h::workspace_set_name" ref="a492c5885bad35ce073562238ab5bc72d" args="(Workspace *ws, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_set_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the name (or just its number) for the given workspace. </p>
<p>This has to be called for every workspace as the rendering function (render_internal_bar) relies on workspace-&gt;name and workspace-&gt;name_len being ready-to-use. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00078">78</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00062_source.html#l00037">config</a>, <a class="el" href="a00077_source.html#l00175">convert_utf8_to_ucs2()</a>, <a class="el" href="a00034_source.html#l00087">Config::font</a>, <a class="el" href="a00052_source.html#l00029">FREE</a>, <a class="el" href="a00071_source.html#l00058">global_conn</a>, <a class="el" href="a00036_source.html#l00190">Workspace::name</a>, <a class="el" href="a00036_source.html#l00193">Workspace::name_len</a>, <a class="el" href="a00036_source.html#l00184">Workspace::num</a>, <a class="el" href="a00079_source.html#l00301">predict_text_width()</a>, <a class="el" href="a00036_source.html#l00196">Workspace::text_width</a>, and <a class="el" href="a00036_source.html#l00187">Workspace::utf8_name</a>.</p>

<p>Referenced by <a class="el" href="a00076_source.html#l00044">init_table()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00078_source.html#l00039">workspace_get()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</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="a2f31983877c705919ed85c985220855e"></a><!-- doxytag: member="workspace.h::workspace_show" ref="a2f31983877c705919ed85c985220855e" args="(xcb_connection_t *conn, int workspace)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_show </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">int&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>Switches to the given workspace. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00113">113</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00076_source.html#l00036">c_ws</a>, <a class="el" href="a00060_source.html#l00156">client_enter_fullscreen()</a>, <a class="el" href="a00060_source.html#l00062">client_warp_pointer_into()</a>, <a class="el" href="a00051_source.html#l00021">CUR_CELL</a>, <a class="el" href="a00076_source.html#l00037">current_col</a>, <a class="el" href="a00036_source.html#l00211">Workspace::current_col</a>, <a class="el" href="a00076_source.html#l00038">current_row</a>, <a class="el" href="a00036_source.html#l00208">Workspace::current_row</a>, <a class="el" href="a00036_source.html#l00528">xoutput::current_workspace</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="a00036_source.html#l00226">Workspace::fullscreen_client</a>, <a class="el" href="a00036_source.html#l00100">Rect::height</a>, <a class="el" href="a00068_source.html#l00121">ipc_send_event()</a>, <a class="el" href="a00036_source.html#l00184">Workspace::num</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="a00069_source.html#l00081">redecorate_window()</a>, <a class="el" href="a00069_source.html#l00771">render_layout()</a>, <a class="el" href="a00071_source.html#l00085">root</a>, <a class="el" href="a00077_source.html#l00232">set_focus()</a>, <a class="el" href="a00047_source.html#l00111">SLIST_END</a>, <a class="el" href="a00047_source.html#l00110">SLIST_FIRST</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="a00078_source.html#l00039">workspace_get()</a>, <a class="el" href="a00078_source.html#l00271">workspace_initialize()</a>, <a class="el" href="a00078_source.html#l00342">workspace_map_clients()</a>, <a class="el" href="a00078_source.html#l00375">workspace_unmap_clients()</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="a00059_source.html#l00128">button_press_bar()</a>, <a class="el" href="a00061_source.html#l00084">focus_thing()</a>, <a class="el" href="a00061_source.html#l00738">jump_to_container()</a>, <a class="el" href="a00061_source.html#l00066">jump_to_mark()</a>, <a class="el" href="a00061_source.html#l00713">jump_to_window()</a>, <a class="el" href="a00061_source.html#l00831">next_previous_workspace()</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>
<a class="anchor" id="a5994190a13e9afaf2fddb99e8ec1f25d"></a><!-- doxytag: member="workspace.h::workspace_unmap_clients" ref="a5994190a13e9afaf2fddb99e8ec1f25d" args="(xcb_connection_t *conn, Workspace *u_ws)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_unmap_clients </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>u_ws</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unmaps all clients (and stack windows) of the given workspace. </p>
<p>This needs to be called separately when temporarily rendering a workspace which is not the active workspace to force reconfiguration of all clients, like in <a class="el" href="a00080.html">src/xinerama.c</a> when re-assigning a workspace to another screen. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00375">375</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00076_source.html#l00036">c_ws</a>, <a class="el" href="a00036_source.html#l00452">Client::child</a>, <a class="el" href="a00047_source.html#l00439">CIRCLEQ_FOREACH</a>, <a class="el" href="a00060_source.html#l00339">client_is_floating()</a>, <a class="el" href="a00060_source.html#l00402">client_unmap()</a>, <a class="el" href="a00036_source.html#l00149">Stack_Window::container</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00052_source.html#l00026">FOR_TABLE</a>, <a class="el" href="a00036_source.html#l00448">Client::frame</a>, <a class="el" href="a00069_source.html#l00652">ignore_enter_notify_forall()</a>, <a class="el" href="a00036_source.html#l00239">Workspace::output</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00071_source.html#l00078">stack_wins</a>, <a class="el" href="a00036_source.html#l00244">Workspace::table</a>, <a class="el" href="a00036_source.html#l00144">Stack_Window::window</a>, <a class="el" href="a00036_source.html#l00488">Container::workspace</a>, and <a class="el" href="a00036_source.html#l00356">Client::workspace</a>.</p>

<p>Referenced by <a class="el" href="a00078_source.html#l00223">workspace_assign_to()</a>, and <a class="el" href="a00078_source.html#l00113">workspace_show()</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="a2c43568cc3492bd24992d93f4552bbe9"></a><!-- doxytag: member="workspace.h::workspace_update_urgent_flag" ref="a2c43568cc3492bd24992d93f4552bbe9" args="(Workspace *ws)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void workspace_update_urgent_flag </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Goes through all clients on the given workspace and updates the workspace’s urgent flag accordingly. </p>

<p>Definition at line <a class="el" href="a00078_source.html#l00431">431</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00068_source.html#l00121">ipc_send_event()</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00036_source.html#l00434">Client::urgent</a>, and <a class="el" href="a00036_source.html#l00222">Workspace::urgent</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00994">handle_hints()</a>, <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, and <a class="el" href="a00077_source.html#l00232">set_focus()</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="a56b20858f66e962aad2b914b9ab97f1b"></a><!-- doxytag: member="workspace.h::workspace_width" ref="a56b20858f66e962aad2b914b9ab97f1b" args="(Workspace *ws)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int workspace_width </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00025.html">Workspace</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00078_source.html#l00454">454</a> of file <a class="el" href="a00078_source.html">workspace.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00199">Workspace::rect</a>, and <a class="el" href="a00036_source.html#l00099">Rect::width</a>.</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>