Sophie

Sophie

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

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/data.h Source File</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>
<h1>include/data.h</h1><a href="a00036.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * vim:ts=8:expandtab</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * i3 - an improved dynamic tiling window manager</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * © 2009-2010 Michael Stapelberg and contributors</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> * See file LICENSE for license information.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * include/data.h: This file defines all data structures used by i3</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> */</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;xcb/xcb.h&gt;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;xcb/randr.h&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;xcb/xcb_atom.h&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;stdbool.h&gt;</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef _DATA_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define _DATA_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="a00047.html">queue.h</a>&quot;</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="comment">/*</span>
<a name="l00023"></a>00023 <span class="comment"> * To get the big concept: There are helper structures like struct Colorpixel</span>
<a name="l00024"></a>00024 <span class="comment"> * or struct Stack_Window. Everything which is also defined as type (see</span>
<a name="l00025"></a>00025 <span class="comment"> * forward definitions) is considered to be a major structure, thus important.</span>
<a name="l00026"></a>00026 <span class="comment"> *</span>
<a name="l00027"></a>00027 <span class="comment"> * Let’s start from the biggest to the smallest:</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> * - An Output is a physical output on your graphics driver. Outputs which</span>
<a name="l00030"></a>00030 <span class="comment"> *   are currently in use have (output-&gt;active == true). Each output has a</span>
<a name="l00031"></a>00031 <span class="comment"> *   position and a mode. An output usually corresponds to one connected</span>
<a name="l00032"></a>00032 <span class="comment"> *   screen (except if you are running multiple screens in clone mode).</span>
<a name="l00033"></a>00033 <span class="comment"> *</span>
<a name="l00034"></a>00034 <span class="comment"> * - Each Output contains Workspaces. The concept is known from various</span>
<a name="l00035"></a>00035 <span class="comment"> *   other window managers.  Basically, a workspace is a specific set of</span>
<a name="l00036"></a>00036 <span class="comment"> *   windows, usually grouped thematically (irc, www, work, …). You can switch</span>
<a name="l00037"></a>00037 <span class="comment"> *   between these.</span>
<a name="l00038"></a>00038 <span class="comment"> *</span>
<a name="l00039"></a>00039 <span class="comment"> * - Each Workspace has a table, which is our layout abstraction. You manage</span>
<a name="l00040"></a>00040 <span class="comment"> *   your windows by moving them around in your table. It grows as necessary.</span>
<a name="l00041"></a>00041 <span class="comment"> *</span>
<a name="l00042"></a>00042 <span class="comment"> * - Each cell of the table has a container, which can be in default or</span>
<a name="l00043"></a>00043 <span class="comment"> *   stacking mode. In default mode, each client is given equally much space</span>
<a name="l00044"></a>00044 <span class="comment"> *   in the container. In stacking mode, only one client is shown at a time,</span>
<a name="l00045"></a>00045 <span class="comment"> *   but all the titlebars are rendered at the top.</span>
<a name="l00046"></a>00046 <span class="comment"> *</span>
<a name="l00047"></a>00047 <span class="comment"> * - Inside the container are clients, which is X11-speak for a window.</span>
<a name="l00048"></a>00048 <span class="comment"> *</span>
<a name="l00049"></a>00049 <span class="comment"> */</span>
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="comment">/* Forward definitions */</span>
<a name="l00052"></a><a class="code" href="a00036.html#a60bf09598e66928bf67a21a22bc17814">00052</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00006.html" title="Defines a position in the table.">Cell</a> <a class="code" href="a00006.html" title="Defines a position in the table.">Cell</a>;
<a name="l00053"></a><a class="code" href="a00036.html#a5144fb6fe9b87bc8f46cbf47784a491d">00053</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00015.html" title="Data structure for cached font information:font id in X11 (load it once)font height...">Font</a> <a class="code" href="a00015.html" title="Data structure for cached font information:font id in X11 (load it once)font height...">i3Font</a>;
<a name="l00054"></a><a class="code" href="a00036.html#ac2cc5d3c517b09d992505df91a0a3601">00054</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00013.html" title="A container is either in default, stacking or tabbed mode.">Container</a> <a class="code" href="a00013.html" title="A container is either in default, stacking or tabbed mode.">Container</a>;
<a name="l00055"></a><a class="code" href="a00036.html#a7302c9ba9fef6f7473f52cc61bd4bc40">00055</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a> <a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a>;
<a name="l00056"></a><a class="code" href="a00036.html#ae7807d0c995db35fbbc3f7ca101455c0">00056</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00003.html" title="Holds a keybinding, consisting of a keycode combined with modifiers and the command...">Binding</a> <a class="code" href="a00003.html" title="Holds a keybinding, consisting of a keycode combined with modifiers and the command...">Binding</a>;
<a name="l00057"></a><a class="code" href="a00036.html#ac72bf5b976be106c5a205aba0dad28c3">00057</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00025.html" title="The concept of Workspaces is known from various other window managers.">Workspace</a> <a class="code" href="a00025.html" title="The concept of Workspaces is known from various other window managers.">Workspace</a>;
<a name="l00058"></a><a class="code" href="a00036.html#a3f967bd3ed1e1ae40f7fc87df33dc851">00058</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a>;
<a name="l00059"></a><a class="code" href="a00036.html#adf0a321888ab0e83f81f109022fce9fe">00059</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00026.html" title="An Output is a physical output on your graphics driver.">xoutput</a> <a class="code" href="a00026.html" title="An Output is a physical output on your graphics driver.">Output</a>;
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 <span class="comment">/******************************************************************************</span>
<a name="l00062"></a>00062 <span class="comment"> * Helper types</span>
<a name="l00063"></a>00063 <span class="comment"> *****************************************************************************/</span>
<a name="l00064"></a><a class="code" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6b">00064</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6babbac3b12101a9c0c07dbdfcd6bbb212c">D_LEFT</a>, <a class="code" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6ba07fb0d616c46d4120eb541871fbdfd2d">D_RIGHT</a>, <a class="code" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6bae8b5f804952c228061ed205833ae7083">D_UP</a>, <a class="code" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6baee5b9399d89b358fa6fb0adef67d3a4b">D_DOWN</a> } <a class="code" href="a00036.html#ae9ae980041e438eed7a3af43ce4e9f6b">direction_t</a>;
<a name="l00065"></a>00065 
<a name="l00066"></a>00066 <span class="keyword">enum</span> {
<a name="l00067"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55bad0f6c8d23fb1b2982a581b541b1b6a2c">00067</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55bad0f6c8d23fb1b2982a581b541b1b6a2c">BIND_NONE</a> = 0,
<a name="l00068"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba346e87d049ecf80d0dc9e39543600229">00068</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba346e87d049ecf80d0dc9e39543600229">BIND_SHIFT</a> = XCB_MOD_MASK_SHIFT,        <span class="comment">/* (1 &lt;&lt; 0) */</span>
<a name="l00069"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba43b604b806e305adbb1fa55b6c9923d2">00069</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba43b604b806e305adbb1fa55b6c9923d2">BIND_CONTROL</a> = XCB_MOD_MASK_CONTROL,    <span class="comment">/* (1 &lt;&lt; 2) */</span>
<a name="l00070"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba49f3f87544e9f4e0c2651dadb8c33be3">00070</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba49f3f87544e9f4e0c2651dadb8c33be3">BIND_MOD1</a> = XCB_MOD_MASK_1,             <span class="comment">/* (1 &lt;&lt; 3) */</span>
<a name="l00071"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba74ac0b052fdc6bbd48cfa5b9adf7fa9a">00071</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba74ac0b052fdc6bbd48cfa5b9adf7fa9a">BIND_MOD2</a> = XCB_MOD_MASK_2,             <span class="comment">/* (1 &lt;&lt; 4) */</span>
<a name="l00072"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55baf2377e185fcb5bd917b6198ce0885d36">00072</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55baf2377e185fcb5bd917b6198ce0885d36">BIND_MOD3</a> = XCB_MOD_MASK_3,             <span class="comment">/* (1 &lt;&lt; 5) */</span>
<a name="l00073"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55badc11d4fde017d429bfa59e04d5a63d53">00073</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55badc11d4fde017d429bfa59e04d5a63d53">BIND_MOD4</a> = XCB_MOD_MASK_4,             <span class="comment">/* (1 &lt;&lt; 6) */</span>
<a name="l00074"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba514243f3ae49944df034d11e3e13245d">00074</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba514243f3ae49944df034d11e3e13245d">BIND_MOD5</a> = XCB_MOD_MASK_5,             <span class="comment">/* (1 &lt;&lt; 7) */</span>
<a name="l00075"></a><a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba059099ea410e7b545a26cefafe4b8358">00075</a>         <a class="code" href="a00036.html#a06fc87d81c62e9abb8790b6e5713c55ba059099ea410e7b545a26cefafe4b8358">BIND_MODE_SWITCH</a> = (1 &lt;&lt; 8)
<a name="l00076"></a>00076 };
<a name="l00077"></a>00077 
<a name="l00096"></a><a class="code" href="a00020.html">00096</a> <span class="keyword">struct </span><a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> {
<a name="l00097"></a><a class="code" href="a00020.html#a6f5ab43ec9da45a9c3ddbc45d9aa3bbc">00097</a>         uint32_t <a class="code" href="a00020.html#a6f5ab43ec9da45a9c3ddbc45d9aa3bbc">x</a>;
<a name="l00098"></a><a class="code" href="a00020.html#ac77eddc4cc31fe7881da4a23cdca0ea5">00098</a>         uint32_t <a class="code" href="a00020.html#ac77eddc4cc31fe7881da4a23cdca0ea5">y</a>;
<a name="l00099"></a><a class="code" href="a00020.html#adb31dc42e48628c3e513c60296779ef8">00099</a>         uint32_t <a class="code" href="a00020.html#adb31dc42e48628c3e513c60296779ef8">width</a>;
<a name="l00100"></a><a class="code" href="a00020.html#a0a074c07d144c9647e3eb60ef54f88c3">00100</a>         uint32_t <a class="code" href="a00020.html#a0a074c07d144c9647e3eb60ef54f88c3">height</a>;
<a name="l00101"></a>00101 } __attribute__((<a class="code" href="a00036.html#abb41af9193b56e6fe7d295833efc7b6c" title="Stores a rectangle, for example the size of a window, the child window etc.">packed</a>));
<a name="l00102"></a>00102 
<a name="l00107"></a><a class="code" href="a00006.html">00107</a> <span class="keyword">struct </span><a class="code" href="a00006.html" title="Defines a position in the table.">Cell</a> {
<a name="l00108"></a><a class="code" href="a00006.html#a85d2a7af6195f5196574790fbc1becfd">00108</a>         <span class="keywordtype">int</span> <a class="code" href="a00006.html#a85d2a7af6195f5196574790fbc1becfd">row</a>;
<a name="l00109"></a><a class="code" href="a00006.html#a6aae9428106f7cd7574660e3c2278ee0">00109</a>         <span class="keywordtype">int</span> <a class="code" href="a00006.html#a6aae9428106f7cd7574660e3c2278ee0">column</a>;
<a name="l00110"></a>00110 };
<a name="l00111"></a>00111 
<a name="l00116"></a><a class="code" href="a00008.html">00116</a> <span class="keyword">struct </span><a class="code" href="a00008.html" title="Used for the cache of colorpixels.">Colorpixel</a> {
<a name="l00117"></a><a class="code" href="a00008.html#a818846c52335c93db7b41437db994098">00117</a>         uint32_t <a class="code" href="a00008.html#a818846c52335c93db7b41437db994098">pixel</a>;
<a name="l00118"></a><a class="code" href="a00008.html#a542a1727e0678e3d95d2142f332b0e13">00118</a>         <span class="keywordtype">char</span> *<a class="code" href="a00008.html#a542a1727e0678e3d95d2142f332b0e13">hex</a>;
<a name="l00119"></a>00119         <a class="code" href="a00008.html#aafb35283ad834fc36b6be29a56ed979a">SLIST_ENTRY</a>(<a class="code" href="a00008.html" title="Used for the cache of colorpixels.">Colorpixel</a>) colorpixels;
<a name="l00120"></a>00120 };
<a name="l00121"></a>00121 
<a name="l00122"></a><a class="code" href="a00004.html">00122</a> struct <a class="code" href="a00004.html">Cached_Pixmap</a> {
<a name="l00123"></a><a class="code" href="a00004.html#a75c370b918b9f963d6430ba07e7c56bf">00123</a>         xcb_pixmap_t id;
<a name="l00124"></a>00124 
<a name="l00125"></a>00125         <span class="comment">/* We’re going to paint on it, so a graphics context will be needed */</span>
<a name="l00126"></a><a class="code" href="a00004.html#a1930bbf9d5570906ace6d8aaeea0cbf1">00126</a>         xcb_gcontext_t gc;
<a name="l00127"></a>00127 
<a name="l00128"></a>00128         <span class="comment">/* The rect with which the pixmap was created */</span>
<a name="l00129"></a><a class="code" href="a00004.html#a5e379c39a6883006c3d07af1d77aad4c">00129</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> rect;
<a name="l00130"></a>00130 
<a name="l00131"></a>00131         <span class="comment">/* The rect of the object to which this pixmap belongs. Necessary to</span>
<a name="l00132"></a>00132 <span class="comment">         * find out when we need to re-create the pixmap. */</span>
<a name="l00133"></a><a class="code" href="a00004.html#a34c59c8ce74f3d808ec0a045b138be39">00133</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> *referred_rect;
<a name="l00134"></a>00134 
<a name="l00135"></a><a class="code" href="a00004.html#ad05fd81000b6ee526f8a737b043edb8a">00135</a>         xcb_drawable_t referred_drawable;
<a name="l00136"></a>00136 };
<a name="l00137"></a>00137 
<a name="l00143"></a><a class="code" href="a00023.html">00143</a> <span class="keyword">struct </span><a class="code" href="a00023.html" title="Contains data for the windows needed to draw the titlebars on in stacking mode.">Stack_Window</a> {
<a name="l00144"></a><a class="code" href="a00023.html#aa10861a9e5d4859d70275b462acfcd24">00144</a>         xcb_window_t window;
<a name="l00145"></a><a class="code" href="a00023.html#aaa74ae431448b315a0a89cc8cb4e83fc">00145</a>         <span class="keyword">struct </span><a class="code" href="a00004.html">Cached_Pixmap</a> <a class="code" href="a00075.html#a81dcec2414a6c7beb665ce0fe5e1eaf6">pixmap</a>;
<a name="l00146"></a><a class="code" href="a00023.html#ac42bcee20d4f77f4ecbdec1dbb616a4f">00146</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> <a class="code" href="a00004.html#a5e379c39a6883006c3d07af1d77aad4c">rect</a>;
<a name="l00147"></a>00147 
<a name="l00149"></a><a class="code" href="a00023.html#ad5f9402c2db288b0762e3a6467257dc8">00149</a>         <a class="code" href="a00013.html" title="A container is either in default, stacking or tabbed mode.">Container</a> *container;
<a name="l00150"></a>00150 
<a name="l00151"></a>00151         <a class="code" href="a00008.html#aafb35283ad834fc36b6be29a56ed979a">SLIST_ENTRY</a>(<a class="code" href="a00023.html" title="Contains data for the windows needed to draw the titlebars on in stacking mode.">Stack_Window</a>) stack_windows;
<a name="l00152"></a>00152 };
<a name="l00153"></a>00153 
<a name="l00154"></a><a class="code" href="a00016.html">00154</a> struct <a class="code" href="a00016.html">Ignore_Event</a> {
<a name="l00155"></a><a class="code" href="a00016.html#a000081e19b26d51123d6c78bf5064c1e">00155</a>         <span class="keywordtype">int</span> sequence;
<a name="l00156"></a><a class="code" href="a00016.html#a76f213ac7429eab30a1835fe6ed69583">00156</a>         time_t added;
<a name="l00157"></a>00157 
<a name="l00158"></a>00158         <a class="code" href="a00008.html#aafb35283ad834fc36b6be29a56ed979a">SLIST_ENTRY</a>(Ignore_Event) ignore_events;
<a name="l00159"></a>00159 };
<a name="l00160"></a>00160 
<a name="l00166"></a><a class="code" href="a00018.html">00166</a> struct <a class="code" href="a00018.html" title="Emulates the behaviour of tables of libxcb-wm, which in libxcb 0.3.4 suddenly vanished...">keyvalue_element</a> {
<a name="l00167"></a><a class="code" href="a00018.html#acb452c86738581ce16003fb046aa43c2">00167</a>         uint32_t key;
<a name="l00168"></a><a class="code" href="a00018.html#ab527ef4dfaf72f281e95cab71a5e5e96">00168</a>         <span class="keywordtype">void</span> *value;
<a name="l00169"></a>00169         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(keyvalue_element) elements;
<a name="l00170"></a>00170 };
<a name="l00171"></a>00171 
<a name="l00172"></a>00172 <span class="comment">/******************************************************************************</span>
<a name="l00173"></a>00173 <span class="comment"> * Major types</span>
<a name="l00174"></a>00174 <span class="comment"> *****************************************************************************/</span>
<a name="l00175"></a>00175 
<a name="l00182"></a><a class="code" href="a00025.html">00182</a> struct <a class="code" href="a00025.html" title="The concept of Workspaces is known from various other window managers.">Workspace</a> {
<a name="l00184"></a><a class="code" href="a00025.html#a7dfb9b375b2740db75bb82eb0b2be41d">00184</a>         <span class="keywordtype">int</span> num;
<a name="l00185"></a>00185 
<a name="l00187"></a><a class="code" href="a00025.html#a2cf7e70b45757f1c61a34f5b50767765">00187</a>         <span class="keywordtype">char</span> *utf8_name;
<a name="l00188"></a>00188 
<a name="l00190"></a><a class="code" href="a00025.html#a2db20d0a3a8866278611898710445017">00190</a>         <span class="keywordtype">char</span> *name;
<a name="l00191"></a>00191 
<a name="l00193"></a><a class="code" href="a00025.html#a190c6f4026f0bff8b0d49340823fc1e1">00193</a>         <span class="keywordtype">int</span> name_len;
<a name="l00194"></a>00194 
<a name="l00196"></a><a class="code" href="a00025.html#ad7c51613ba7339af44071f450af5f37d">00196</a>         <span class="keywordtype">int</span> text_width;
<a name="l00197"></a>00197 
<a name="l00199"></a><a class="code" href="a00025.html#ac11bedb880b568b9c540fc9a376607ad">00199</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> <a class="code" href="a00004.html#a5e379c39a6883006c3d07af1d77aad4c">rect</a>;
<a name="l00200"></a>00200 
<a name="l00202"></a><a class="code" href="a00025.html#a1d295f430fa92fc0b91c7f85a4b499b2">00202</a>         <span class="keywordtype">int</span> cols;
<a name="l00204"></a><a class="code" href="a00025.html#ae4fee0126eb1ae8484bf7281709c3fdb">00204</a>         <span class="keywordtype">int</span> rows;
<a name="l00205"></a>00205 
<a name="l00208"></a><a class="code" href="a00025.html#a86fefbdc838f2b5593ea2521378e4ddd">00208</a>         <span class="keywordtype">int</span> <a class="code" href="a00076.html#a40ba377d6a3a574ff03b859bc7cdd4b0">current_row</a>;
<a name="l00211"></a><a class="code" href="a00025.html#ab683091dfe46963b2dd0761e8e5f9e16">00211</a>         <span class="keywordtype">int</span> <a class="code" href="a00076.html#a5f839b3ac61c0771c9f8fbef974afe76">current_col</a>;
<a name="l00212"></a>00212 
<a name="l00214"></a><a class="code" href="a00025.html#a0e686244474be4684fd165e2d7e20751">00214</a>         <span class="keywordtype">bool</span> auto_float;
<a name="l00216"></a><a class="code" href="a00025.html#a5efdecde018d10414e6f740573b2a9fb">00216</a>         <span class="keywordtype">bool</span> floating_hidden;
<a name="l00217"></a>00217 
<a name="l00219"></a><a class="code" href="a00025.html#a01a0ddbbb125bc568e312a07d44823a2">00219</a>         <span class="keywordtype">char</span> *preferred_output;
<a name="l00220"></a>00220 
<a name="l00222"></a><a class="code" href="a00025.html#ae43262c5fb60e7d7a93da1041835eeb2">00222</a>         <span class="keywordtype">bool</span> urgent;
<a name="l00223"></a>00223 
<a name="l00226"></a><a class="code" href="a00025.html#a918ace3a3d2f03c58ec8fa05ac97275e">00226</a>         <a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a> *fullscreen_client;
<a name="l00227"></a>00227 
<a name="l00231"></a>00231         <a class="code" href="a00047.html#a8224e40ea764bc857bab6f6d9c357dd9">SLIST_HEAD</a>(focus_stack_head, <a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a>) focus_stack;
<a name="l00232"></a>00232 
<a name="l00236"></a>00236         <a class="code" href="a00047.html#a4abce769a262e090c1f601605b9d6c76">TAILQ_HEAD</a>(floating_clients_head, <a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a>) floating_clients;
<a name="l00237"></a>00237 
<a name="l00239"></a><a class="code" href="a00025.html#aeee203e013dae84555d28f8247a7e375">00239</a>         <a class="code" href="a00026.html" title="An Output is a physical output on your graphics driver.">Output</a> *output;
<a name="l00240"></a>00240 
<a name="l00244"></a><a class="code" href="a00025.html#a26cf35518dcf31aa97deda261548e719">00244</a>         <a class="code" href="a00013.html" title="A container is either in default, stacking or tabbed mode.">Container</a> ***table;
<a name="l00245"></a>00245 
<a name="l00250"></a><a class="code" href="a00025.html#a9821dccf3f7541515549feb57527dcb6">00250</a>         <span class="keywordtype">float</span> *width_factor;
<a name="l00251"></a><a class="code" href="a00025.html#a88f474bf999c23126a00922de6102822">00251</a>         <span class="keywordtype">float</span> *height_factor;
<a name="l00252"></a>00252 
<a name="l00253"></a>00253         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(Workspace) <a class="code" href="a00076.html#afb45f3a3a9c66c3e3a5e4d372ae24da7">workspaces</a>;
<a name="l00254"></a>00254 };
<a name="l00255"></a>00255 
<a name="l00261"></a><a class="code" href="a00003.html">00261</a> struct <a class="code" href="a00003.html" title="Holds a keybinding, consisting of a keycode combined with modifiers and the command...">Binding</a> {
<a name="l00265"></a><a class="code" href="a00003.html#a82bca43f02debcb9125c8c3f650a573d">00265</a>         <span class="keywordtype">char</span> *symbol;
<a name="l00266"></a>00266 
<a name="l00272"></a><a class="code" href="a00003.html#a66527e5582bc56a6bae1f08fa3af55cb">00272</a>         xcb_keycode_t *translated_to;
<a name="l00273"></a>00273 
<a name="l00274"></a><a class="code" href="a00003.html#add9435ea373eaa4edab185fc41f69ecc">00274</a>         uint32_t number_keycodes;
<a name="l00275"></a>00275 
<a name="l00277"></a><a class="code" href="a00003.html#a7f033747baf05a7cdbe176afdddab7e6">00277</a>         uint32_t keycode;
<a name="l00278"></a>00278 
<a name="l00280"></a><a class="code" href="a00003.html#ac1d18080d951bafa7ee0a291aade6e07">00280</a>         uint32_t mods;
<a name="l00281"></a>00281 
<a name="l00283"></a><a class="code" href="a00003.html#a6b2981f10cc6dc9d285d8091e7c55812">00283</a>         <span class="keywordtype">char</span> *command;
<a name="l00284"></a>00284 
<a name="l00285"></a>00285         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(Binding) <a class="code" href="a00071.html#afe67646b6ee7ae51b130a59354fe7f49">bindings</a>;
<a name="l00286"></a>00286 };
<a name="l00287"></a>00287 
<a name="l00292"></a><a class="code" href="a00002.html">00292</a> struct <a class="code" href="a00002.html" title="Holds a command specified by an exec-line in the config (see src/config.c).">Autostart</a> {
<a name="l00294"></a><a class="code" href="a00002.html#a6286090e69f758678cafeb975607ff97">00294</a>         <span class="keywordtype">char</span> *command;
<a name="l00295"></a>00295         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(Autostart) <a class="code" href="a00071.html#adc8cf28482f0bbe29f8bdcba0e32d16f">autostarts</a>;
<a name="l00296"></a>00296 };
<a name="l00297"></a>00297 
<a name="l00303"></a><a class="code" href="a00001.html">00303</a> struct <a class="code" href="a00001.html" title="Holds an assignment for a given window class/title to a specific workspace (see src/config...">Assignment</a> {
<a name="l00304"></a><a class="code" href="a00001.html#aaf25640d8abe3c02c613fdc54d77878d">00304</a>         <span class="keywordtype">char</span> *windowclass_title;
<a name="l00308"></a>00308         <span class="keyword">enum</span> {
<a name="l00309"></a><a class="code" href="a00001.html#a87b683c78c6543b24f9bc77a9c03f33baa519210f1cf9c37a1d96dbf4b87b374a">00309</a>                 ASSIGN_FLOATING_NO,   <span class="comment">/* don’t float, but put on a workspace */</span>
<a name="l00310"></a><a class="code" href="a00001.html#a87b683c78c6543b24f9bc77a9c03f33ba5506be147c7de5e1df1ffb6c82e27810">00310</a>                 ASSIGN_FLOATING_ONLY, <span class="comment">/* float, but don’t assign on a workspace */</span>
<a name="l00311"></a><a class="code" href="a00001.html#a87b683c78c6543b24f9bc77a9c03f33ba0b8ce3450fb62cb9f0da744140875b5b">00311</a>                 ASSIGN_FLOATING       <span class="comment">/* float and put on a workspace */</span>
<a name="l00312"></a>00312         } floating;
<a name="l00313"></a>00313 
<a name="l00315"></a><a class="code" href="a00001.html#ad7a79f7c0d2f2801359c9e4458685566">00315</a>         <span class="keywordtype">int</span> workspace;
<a name="l00316"></a>00316         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(Assignment) <a class="code" href="a00071.html#af36d2f2cbc5487cf0e9e2d60165b3e89">assignments</a>;
<a name="l00317"></a>00317 };
<a name="l00318"></a>00318 
<a name="l00325"></a><a class="code" href="a00015.html">00325</a> struct <a class="code" href="a00015.html" title="Data structure for cached font information:font id in X11 (load it once)font height...">Font</a> {
<a name="l00327"></a><a class="code" href="a00015.html#aefd94f9cf18878cf3f7de50764d94bac">00327</a>         <span class="keywordtype">char</span> *name;
<a name="l00329"></a><a class="code" href="a00015.html#a31ddf56d9c371b683e7bd0b9b64e1060">00329</a>         <span class="keywordtype">char</span> *pattern;
<a name="l00331"></a><a class="code" href="a00015.html#a89ceb86bb4ad2694315d846e69893399">00331</a>         <span class="keywordtype">int</span> height;
<a name="l00333"></a><a class="code" href="a00015.html#a34f00fc78328c10986cdebfc3940ee05">00333</a>         xcb_font_t <a class="code" href="a00004.html#a75c370b918b9f963d6430ba07e7c56bf">id</a>;
<a name="l00334"></a>00334 
<a name="l00335"></a>00335         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(Font) fonts;
<a name="l00336"></a>00336 };
<a name="l00337"></a>00337 
<a name="l00342"></a><a class="code" href="a00007.html">00342</a> struct <a class="code" href="a00007.html" title="A client is X11-speak for a window.">Client</a> {
<a name="l00346"></a><a class="code" href="a00007.html#ac9aa39c193b1dd1688db6eb7ebf7b4fa">00346</a>         <span class="keywordtype">bool</span> initialized;
<a name="l00347"></a>00347 
<a name="l00350"></a><a class="code" href="a00007.html#a50e3e5823ffc3ae2019698b069ddf70a">00350</a>         <a class="code" href="a00006.html" title="Defines a position in the table.">Cell</a> old_position;
<a name="l00351"></a>00351 
<a name="l00353"></a><a class="code" href="a00007.html#a022927d41b4140a623f72fa360c46a17">00353</a>         <a class="code" href="a00013.html" title="A container is either in default, stacking or tabbed mode.">Container</a> *container;
<a name="l00356"></a><a class="code" href="a00007.html#ab9573ba898dbd1932f5200be5eb2a990">00356</a>         Workspace *workspace;
<a name="l00357"></a>00357 
<a name="l00359"></a><a class="code" href="a00007.html#aea76187592ae1a87eb8bb1af77af62d4">00359</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> rect;
<a name="l00362"></a><a class="code" href="a00007.html#a7af57ac287f68a6e55b9279b720d7491">00362</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> floating_rect;
<a name="l00364"></a><a class="code" href="a00007.html#a694f6f127e048521451f931174a6e140">00364</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> child_rect;
<a name="l00365"></a>00365 
<a name="l00368"></a><a class="code" href="a00007.html#a4d2a7cf214d7d756d1e87fa99d284741">00368</a>         <span class="keywordtype">int</span> proportional_height;
<a name="l00369"></a><a class="code" href="a00007.html#a2324d36fb1ad3c0d9cae70f975cd3fe4">00369</a>         <span class="keywordtype">int</span> proportional_width;
<a name="l00370"></a>00370 
<a name="l00371"></a><a class="code" href="a00007.html#a92916a2b042c07b01eb6e3a4269413cc">00371</a>         <span class="keywordtype">int</span> base_height;
<a name="l00372"></a><a class="code" href="a00007.html#a51ffa9095f0fba59737c1252cf0031cb">00372</a>         <span class="keywordtype">int</span> base_width;
<a name="l00373"></a>00373 
<a name="l00375"></a><a class="code" href="a00007.html#afa6b690b03609a16c555a22f976a364c">00375</a>         <span class="keywordtype">int</span> border_width;
<a name="l00376"></a>00376 
<a name="l00379"></a><a class="code" href="a00007.html#a80130d5f48f9c1db1e9206b578873002">00379</a>         <span class="keywordtype">int</span> width_increment;
<a name="l00380"></a><a class="code" href="a00007.html#aec47a7c174216266483e8a6a9e51d2f7">00380</a>         <span class="keywordtype">int</span> height_increment;
<a name="l00381"></a>00381 
<a name="l00384"></a><a class="code" href="a00007.html#a101bf3d37c729260e8a8e3ef808799de">00384</a>         <span class="keywordtype">int</span> desired_height;
<a name="l00385"></a>00385 
<a name="l00387"></a><a class="code" href="a00007.html#a14c9eb7f57edfd939ed2fada25e83916">00387</a>         <span class="keywordtype">char</span> *name;
<a name="l00393"></a><a class="code" href="a00007.html#aa6a6f0505f2d751ea862bc97343dd6df">00393</a>         <span class="keywordtype">int</span> name_len;
<a name="l00396"></a><a class="code" href="a00007.html#ab88a383fe1d2388cf4d4c792c899a766">00396</a>         <span class="keywordtype">bool</span> uses_net_wm_name;
<a name="l00397"></a>00397 
<a name="l00400"></a><a class="code" href="a00007.html#ac39c70e8b92f752b81f2c5cca3522399">00400</a>         <span class="keywordtype">char</span> *window_class_instance;
<a name="l00401"></a><a class="code" href="a00007.html#a1c231d29bfbf4213354bb5ac43bacfa4">00401</a>         <span class="keywordtype">char</span> *window_class_class;
<a name="l00402"></a>00402 
<a name="l00404"></a><a class="code" href="a00007.html#a08f4887a64c4ea1812e5a27efe641d18">00404</a>         <span class="keywordtype">char</span> *mark;
<a name="l00405"></a>00405 
<a name="l00408"></a><a class="code" href="a00007.html#a0385211b35d62a177e4eed5e58fbb693">00408</a>         xcb_window_t leader;
<a name="l00409"></a>00409 
<a name="l00411"></a><a class="code" href="a00007.html#a9eeeb880b93223456c2eae445beccf94">00411</a>         <span class="keywordtype">bool</span> fullscreen;
<a name="l00412"></a>00412 
<a name="l00419"></a><a class="code" href="a00007.html#a9cbfb03ac8724732687a65f1dd322f52a16f5c711341db4d8c1a3f9b1e91415f0">00419</a>         <span class="keyword">enum</span> { FLOATING_AUTO_OFF = 0, FLOATING_USER_OFF = 1, FLOATING_AUTO_ON = 2, FLOATING_USER_ON = 3 } floating;
<a name="l00420"></a>00420 
<a name="l00423"></a><a class="code" href="a00007.html#a13524424b7ae9daed074889de8ba19bdab4032c63a389fc6641f83300a6c99ed7">00423</a>         <span class="keyword">enum</span> { TITLEBAR_TOP = 0, TITLEBAR_LEFT, TITLEBAR_RIGHT, TITLEBAR_BOTTOM, TITLEBAR_OFF } titlebar_position;
<a name="l00424"></a>00424 
<a name="l00427"></a><a class="code" href="a00007.html#a5a1078f3b194418aa54c1837ff82351c">00427</a>         <span class="keywordtype">bool</span> borderless;
<a name="l00428"></a>00428 
<a name="l00431"></a><a class="code" href="a00007.html#a994b0c5a9eb35e42f04a0b845a3166ef">00431</a>         <span class="keywordtype">bool</span> dock;
<a name="l00432"></a>00432 
<a name="l00434"></a><a class="code" href="a00007.html#ad169bd46b1c1edf6f7cddf2c0c5306c7">00434</a>         <span class="keywordtype">bool</span> urgent;
<a name="l00435"></a>00435 
<a name="l00436"></a>00436         <span class="comment">/* After leaving fullscreen mode, a client needs to be reconfigured</span>
<a name="l00437"></a>00437 <span class="comment">         * (configuration = setting X, Y, width and height). By setting the</span>
<a name="l00438"></a>00438 <span class="comment">         * force_reconfigure flag, render_layout() will reconfigure the</span>
<a name="l00439"></a>00439 <span class="comment">         * client. */</span>
<a name="l00440"></a><a class="code" href="a00007.html#a873c62703ab51afe96b38df2b30ffa66">00440</a>         <span class="keywordtype">bool</span> force_reconfigure;
<a name="l00441"></a>00441 
<a name="l00442"></a>00442         <span class="comment">/* When reparenting a window, an unmap-notify is sent. As we delete</span>
<a name="l00443"></a>00443 <span class="comment">         * windows when they’re unmapped, we need to ignore that</span>
<a name="l00444"></a>00444 <span class="comment">         * one. Therefore, this flag is set when reparenting. */</span>
<a name="l00445"></a><a class="code" href="a00007.html#a0817c563b1f63c30c7873067a22d2607">00445</a>         <span class="keywordtype">bool</span> awaiting_useless_unmap;
<a name="l00446"></a>00446 
<a name="l00447"></a>00447         <span class="comment">/* XCB contexts */</span>
<a name="l00448"></a><a class="code" href="a00007.html#ae6bb442465a95e5794ed34936fa67bac">00448</a>         xcb_window_t frame;             
<a name="l00450"></a><a class="code" href="a00007.html#ab9525d9a134fa0d25a1352f8e58bee2e">00450</a>         xcb_gcontext_t titlegc;         
<a name="l00452"></a><a class="code" href="a00007.html#afba312b946fa74727ce619a33f8f28aa">00452</a>         xcb_window_t child;             
<a name="l00456"></a>00456         <a class="code" href="a00047.html#abc5774651e7db6bcecf18d2b92259707">CIRCLEQ_ENTRY</a>(Client) clients;
<a name="l00457"></a>00457         <a class="code" href="a00008.html#aafb35283ad834fc36b6be29a56ed979a">SLIST_ENTRY</a>(Client) dock_clients;
<a name="l00458"></a>00458         <a class="code" href="a00008.html#aafb35283ad834fc36b6be29a56ed979a">SLIST_ENTRY</a>(Client) focus_clients;
<a name="l00459"></a>00459         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(Client) floating_clients;
<a name="l00460"></a>00460 };
<a name="l00461"></a>00461 
<a name="l00467"></a><a class="code" href="a00013.html">00467</a> struct <a class="code" href="a00013.html" title="A container is either in default, stacking or tabbed mode.">Container</a> {
<a name="l00468"></a>00468         <span class="comment">/* Those are speaking for themselves: */</span>
<a name="l00469"></a><a class="code" href="a00013.html#a82d910506b0d788a92ebeeb1d82da75b">00469</a>         Client *currently_focused;
<a name="l00470"></a><a class="code" href="a00013.html#abb706ed35dd8c6303633d4c45c97d855">00470</a>         <span class="keywordtype">int</span> colspan;
<a name="l00471"></a><a class="code" href="a00013.html#ac87ec920de798c8f06a131af45af1fa6">00471</a>         <span class="keywordtype">int</span> rowspan;
<a name="l00472"></a>00472 
<a name="l00473"></a>00473         <span class="comment">/* Position of the container inside our table */</span>
<a name="l00474"></a><a class="code" href="a00013.html#a4fefa5b1b97f096cbee9cd24cc3d6c34">00474</a>         <span class="keywordtype">int</span> row;
<a name="l00475"></a><a class="code" href="a00013.html#ad20f57a89cdcc15b1e656c67d7b4861a">00475</a>         <span class="keywordtype">int</span> col;
<a name="l00476"></a>00476         <span class="comment">/* Xinerama: X/Y of the container */</span>
<a name="l00477"></a><a class="code" href="a00013.html#a4829135d344139fb1c9e25ae5cdf5747">00477</a>         <span class="keywordtype">int</span> x;
<a name="l00478"></a><a class="code" href="a00013.html#a31cfaffc96b7c938a239bd40c1488230">00478</a>         <span class="keywordtype">int</span> <a class="code" href="a00068.html#a16e56e533e1eb98fda15e06fdec03da6">y</a>;
<a name="l00479"></a>00479         <span class="comment">/* Width/Height of the container. Changeable by the user */</span>
<a name="l00480"></a><a class="code" href="a00013.html#af9b566fc3a8a208897503254747ae720">00480</a>         <span class="keywordtype">int</span> width;
<a name="l00481"></a><a class="code" href="a00013.html#a62e576209b30aeaf8c2fd0121b4f705c">00481</a>         <span class="keywordtype">int</span> height;
<a name="l00482"></a>00482 
<a name="l00483"></a>00483         <span class="comment">/* When in stacking mode, we draw the titlebars of each client onto a</span>
<a name="l00484"></a>00484 <span class="comment">         * separate window */</span>
<a name="l00485"></a><a class="code" href="a00013.html#ad3c94b066b8ddd9a56f33e8bd9f200b2">00485</a>         <span class="keyword">struct </span><a class="code" href="a00023.html" title="Contains data for the windows needed to draw the titlebars on in stacking mode.">Stack_Window</a> stack_win;
<a name="l00486"></a>00486 
<a name="l00487"></a>00487         <span class="comment">/* Backpointer to the workspace this container is in */</span>
<a name="l00488"></a><a class="code" href="a00013.html#a98ed501e1088ccf2e7c75399ab7e6031">00488</a>         Workspace *workspace;
<a name="l00489"></a>00489 
<a name="l00490"></a>00490         <span class="comment">/* Ensure MODE_DEFAULT maps to 0 because we use calloc for</span>
<a name="l00491"></a>00491 <span class="comment">         * initialization later */</span>
<a name="l00492"></a><a class="code" href="a00013.html#a8cece1f542b338c9a9b37b5415eaae5ea7200907b147c74e569cd6435a6051981">00492</a>         <span class="keyword">enum</span> { MODE_DEFAULT = 0, MODE_STACK, MODE_TABBED } mode;
<a name="l00493"></a>00493 
<a name="l00494"></a>00494         <span class="comment">/* When in stacking, one can either have unlimited windows inside the</span>
<a name="l00495"></a>00495 <span class="comment">         * container or set a limit for the rows or columns the stack window</span>
<a name="l00496"></a>00496 <span class="comment">         * should display to use the screen more efficiently. */</span>
<a name="l00497"></a><a class="code" href="a00013.html#a97c7d2cef9659e7f23b027ae6c5525a1ac06fd3432da8607e7e6fba13acccf898">00497</a>         <span class="keyword">enum</span> { STACK_LIMIT_NONE = 0, STACK_LIMIT_COLS, STACK_LIMIT_ROWS } stack_limit;
<a name="l00498"></a>00498 
<a name="l00499"></a>00499         <span class="comment">/* The number of columns or rows to limit to, see stack_limit */</span>
<a name="l00500"></a><a class="code" href="a00013.html#ad0e9b50a01da48b57f9ecbe97bc00582">00500</a>         <span class="keywordtype">int</span> stack_limit_value;
<a name="l00501"></a>00501 
<a name="l00502"></a>00502         <a class="code" href="a00047.html#ac564235b07f0c8c8db2a7957d37300ee">CIRCLEQ_HEAD</a>(client_head, Client) clients;
<a name="l00503"></a>00503 };
<a name="l00504"></a>00504 
<a name="l00512"></a><a class="code" href="a00026.html">00512</a> struct <a class="code" href="a00026.html" title="An Output is a physical output on your graphics driver.">xoutput</a> {
<a name="l00514"></a><a class="code" href="a00026.html#ac1db5d4876f5f1889f055467cdf603fb">00514</a>         xcb_randr_output_t id;
<a name="l00516"></a><a class="code" href="a00026.html#a4c8b185b15cf45e3ca300cb54b2d4650">00516</a>         <span class="keywordtype">char</span> *name;
<a name="l00517"></a>00517 
<a name="l00520"></a><a class="code" href="a00026.html#a7c56e7415ebe0aa040614d1244e2da6b">00520</a>         <span class="keywordtype">bool</span> active;
<a name="l00521"></a>00521 
<a name="l00524"></a><a class="code" href="a00026.html#a48ee50473c1b9df6dc1e2439f2c24c44">00524</a>         <span class="keywordtype">bool</span> changed;
<a name="l00525"></a><a class="code" href="a00026.html#a7b4041fff9af92986ea35fe167760c76">00525</a>         <span class="keywordtype">bool</span> to_be_disabled;
<a name="l00526"></a>00526 
<a name="l00528"></a><a class="code" href="a00026.html#a9bcf702b65d8f47f98eafbefff529ffe">00528</a>         Workspace *<a class="code" href="a00076.html#af8ad5d5e0f35b54f9fc3e9ca37b4593b">current_workspace</a>;
<a name="l00529"></a>00529 
<a name="l00531"></a><a class="code" href="a00026.html#aedbb714bf5d5ef9a28b5ff048321ed99">00531</a>         <a class="code" href="a00020.html" title="Stores a rectangle, for example the size of a window, the child window etc.">Rect</a> rect;
<a name="l00532"></a>00532 
<a name="l00534"></a><a class="code" href="a00026.html#a479cef7d03401926d37ee89a6ee37aed">00534</a>         xcb_window_t bar;
<a name="l00535"></a><a class="code" href="a00026.html#a1463701491a3a9454f7a3a6efdabf566">00535</a>         xcb_gcontext_t bargc;
<a name="l00536"></a>00536 
<a name="l00539"></a>00539         <a class="code" href="a00047.html#a8224e40ea764bc857bab6f6d9c357dd9">SLIST_HEAD</a>(dock_clients_head, Client) dock_clients;
<a name="l00540"></a>00540 
<a name="l00541"></a>00541         <a class="code" href="a00047.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(xoutput) <a class="code" href="a00073.html#a9fecba0738529e3d9ff0d4fa7c31ffa9">outputs</a>;
<a name="l00542"></a>00542 };
<a name="l00543"></a>00543 
<a name="l00544"></a>00544 <span class="preprocessor">#endif</span>
</pre></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>