Sophie

Sophie

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

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/config.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/config.h File Reference</h1><code>#include &lt;stdbool.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="a00047_source.html">queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="a00041_source.html">i3.h</a>&quot;</code><br/>
<div class="dynheader">
Include dependency graph for config.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="a00034_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">context</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used during the config file lexing/parsing to keep the state of the lexer in order to provide useful error messages in <a class="el" href="a00056.html#a9588ed342b5bc5778bcc1005a6686d0f">yyerror()</a>.  <a href="a00014.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html">Colortriple</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Part of the struct <a class="el" href="a00010.html" title="Holds part of the configuration (the part which is not already in dedicated structures...">Config</a>.  <a href="a00009.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">Variable</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a user-assigned variable for parsing the configuration file.  <a href="a00024.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html">Mode</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The configuration file can contain multiple sets of bindings.  <a href="a00019.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">Config</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds part of the configuration (the part which is not already in dedicated structures in <a class="el" href="a00036.html">include/data.h</a>).  <a href="a00010.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html">Config::config_client</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">Config::config_bar</a></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00010.html">Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a807870f26ce33c7133d3f460c0197dd9">Config</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a01754019d5832f66029ac8ecc35b392f">SLIST_HEAD</a> (modes_head, <a class="el" href="a00019.html">Mode</a>) <a class="el" href="a00062.html#a8a9fd888b55140d95a6f0c79a154b02c">modes</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#aea199116bec04e7987dad157e10b49b5">glob_path</a> (const char *path)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function resolves ~ in pathnames.  <a href="#aea199116bec04e7987dad157e10b49b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a7c81151479c55671cd41ad9d1b3d3f52">path_exists</a> (const char *path)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the given path exists by calling stat().  <a href="#a7c81151479c55671cd41ad9d1b3d3f52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a42a662960e335a91279653c3da1aa6f2">load_configuration</a> (xcb_connection_t *conn, const char *override_configfile, bool reload)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads the configuration from ~/.i3/config or /etc/i3/config if not found.  <a href="#a42a662960e335a91279653c3da1aa6f2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a0ee8ffa5c11aeb96126b36171da84adc">translate_keysyms</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates keysymbols to keycodes for all bindings which use keysyms.  <a href="#a0ee8ffa5c11aeb96126b36171da84adc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#afa95dc10a37decc54e9a376d0d462048">ungrab_all_keys</a> (xcb_connection_t *conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ungrabs all keys, to be called before re-grabbing the keys because of a mapping_notify event or a configuration file reload.  <a href="#afa95dc10a37decc54e9a376d0d462048"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a1741cf749eb2243cca453355d3f6879b">grab_all_keys</a> (xcb_connection_t *conn, bool bind_mode_switch)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Grab the bound keys (tell X to send us keypress events for those keycodes).  <a href="#a1741cf749eb2243cca453355d3f6879b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a2ffac81a6e7d464474716e01da82c5df">switch_mode</a> (xcb_connection_t *conn, const char *new_mode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switches the key bindings to the given mode, if the mode exists.  <a href="#a2ffac81a6e7d464474716e01da82c5df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00003.html">Binding</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#afc938201ea536eed0f0838bb3c4c5c2c">get_binding</a> (uint16_t modifiers, xcb_keycode_t keycode)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="a00003.html" title="Holds a keybinding, consisting of a keycode combined with modifiers and the command...">Binding</a> with the specified modifiers and keycode or NULL if no such binding exists.  <a href="#afc938201ea536eed0f0838bb3c4c5c2c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a41592f23fd361db6127ac0223f3063b2">parse_file</a> (const char *f)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00010.html">Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a4a8dd3a2de125b72d4fe6251a0a271b5">config</a></td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a807870f26ce33c7133d3f460c0197dd9"></a><!-- doxytag: member="config.h::Config" ref="a807870f26ce33c7133d3f460c0197dd9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="a00010.html">Config</a> <a class="el" href="a00010.html">Config</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="afc938201ea536eed0f0838bb3c4c5c2c"></a><!-- doxytag: member="config.h::get_binding" ref="afc938201ea536eed0f0838bb3c4c5c2c" args="(uint16_t modifiers, xcb_keycode_t keycode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00003.html">Binding</a>* get_binding </td>
          <td>(</td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">xcb_keycode_t&nbsp;</td>
          <td class="paramname"> <em>keycode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer to the <a class="el" href="a00003.html" title="Holds a keybinding, consisting of a keycode combined with modifiers and the command...">Binding</a> with the specified modifiers and keycode or NULL if no such binding exists. </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00109">109</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00071_source.html#l00069">bindings</a>, <a class="el" href="a00036_source.html#l00277">Binding::keycode</a>, <a class="el" href="a00036_source.html#l00280">Binding::mods</a>, <a class="el" href="a00036_source.html#l00274">Binding::number_keycodes</a>, <a class="el" href="a00036_source.html#l00265">Binding::symbol</a>, <a class="el" href="a00047_source.html#l00325">TAILQ_END</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, and <a class="el" href="a00036_source.html#l00272">Binding::translated_to</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00090">handle_key_press()</a>.</p>

</div>
</div>
<a class="anchor" id="aea199116bec04e7987dad157e10b49b5"></a><!-- doxytag: member="config.h::glob_path" ref="aea199116bec04e7987dad157e10b49b5" args="(const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* glob_path </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function resolves ~ in pathnames. </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00044">44</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00052_source.html#l00019">die</a>, and <a class="el" href="a00077_source.html#l00080">sstrdup()</a>.</p>

<p>Referenced by <a class="el" href="a00062_source.html#l00235">get_config_path()</a>, and <a class="el" href="a00068_source.html#l00502">ipc_create_socket()</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="a1741cf749eb2243cca453355d3f6879b"></a><!-- doxytag: member="config.h::grab_all_keys" ref="a1741cf749eb2243cca453355d3f6879b" args="(xcb_connection_t *conn, bool bind_mode_switch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void grab_all_keys </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">bool&nbsp;</td>
          <td class="paramname"> <em>bind_mode_switch</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Grab the bound keys (tell X to send us keypress events for those keycodes). </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00188">188</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00036_source.html#l00075">BIND_MODE_SWITCH</a>, <a class="el" href="a00071_source.html#l00069">bindings</a>, <a class="el" href="a00062_source.html#l00085">grab_keycode_for_binding()</a>, <a class="el" href="a00036_source.html#l00277">Binding::keycode</a>, <a class="el" href="a00036_source.html#l00280">Binding::mods</a>, <a class="el" href="a00036_source.html#l00274">Binding::number_keycodes</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, and <a class="el" href="a00036_source.html#l00272">Binding::translated_to</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00253">handle_mapping_notify()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00071_source.html#l00193">main()</a>, <a class="el" href="a00062_source.html#l00211">switch_mode()</a>, and <a class="el" href="a00071_source.html#l00130">xkb_got_event()</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="a42a662960e335a91279653c3da1aa6f2"></a><!-- doxytag: member="config.h::load_configuration" ref="a42a662960e335a91279653c3da1aa6f2" args="(xcb_connection_t *conn, const char *override_configfile, bool reload)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void load_configuration </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">const char *&nbsp;</td>
          <td class="paramname"> <em>override_configfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>reload</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads the configuration from ~/.i3/config or /etc/i3/config if not found. </p>
<p>If you specify override_configpath, only this path is used to look for a configuration file. </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00307">307</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00071_source.html#l00075">assignments</a>, <a class="el" href="a00010.html#a87797dfb71243a11161231d2fdf3ecdb">Config::bar</a>, <a class="el" href="a00034_source.html#l00075">Mode::bindings</a>, <a class="el" href="a00071_source.html#l00069">bindings</a>, <a class="el" href="a00010.html#a2cfc8e52ae874b8a76b8103b8da7b520">Config::client</a>, <a class="el" href="a00036_source.html#l00283">Binding::command</a>, <a class="el" href="a00034_source.html#l00121">Config::config_bar::focused</a>, <a class="el" href="a00034_source.html#l00115">Config::config_client::focused</a>, <a class="el" href="a00034_source.html#l00116">Config::config_client::focused_inactive</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="a00062_source.html#l00188">grab_all_keys()</a>, <a class="el" href="a00062.html#afa93ac77ffba69363be62e7b0e37f11d">INIT_COLOR</a>, <a class="el" href="a00062_source.html#l00038">modes</a>, <a class="el" href="a00036_source.html#l00190">Workspace::name</a>, <a class="el" href="a00034_source.html#l00074">Mode::name</a>, <a class="el" href="a00036_source.html#l00193">Workspace::name_len</a>, <a class="el" href="a00062_source.html#l00291">parse_configuration()</a>, <a class="el" href="a00079_source.html#l00301">predict_text_width()</a>, <a class="el" href="a00062.html#ae09f26b7018670246503bd977bc53a10">REQUIRED_OPTION</a>, <a class="el" href="a00077_source.html#l00074">scalloc()</a>, <a class="el" href="a00047_source.html#l00112">SLIST_EMPTY</a>, <a class="el" href="a00047_source.html#l00110">SLIST_FIRST</a>, <a class="el" href="a00047_source.html#l00128">SLIST_INIT</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="a00077_source.html#l00080">sstrdup()</a>, <a class="el" href="a00047_source.html#l00332">TAILQ_EMPTY</a>, <a class="el" href="a00047_source.html#l00324">TAILQ_FIRST</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#l00387">TAILQ_REMOVE</a>, <a class="el" href="a00036_source.html#l00196">Workspace::text_width</a>, <a class="el" href="a00062_source.html#l00138">translate_keysyms()</a>, <a class="el" href="a00036_source.html#l00272">Binding::translated_to</a>, <a class="el" href="a00034_source.html#l00122">Config::config_bar::unfocused</a>, <a class="el" href="a00034_source.html#l00117">Config::config_client::unfocused</a>, <a class="el" href="a00062_source.html#l00080">ungrab_all_keys()</a>, <a class="el" href="a00034_source.html#l00123">Config::config_bar::urgent</a>, <a class="el" href="a00034_source.html#l00118">Config::config_client::urgent</a>, <a class="el" href="a00036_source.html#l00304">Assignment::windowclass_title</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="a00071_source.html#l00193">main()</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="a41592f23fd361db6127ac0223f3063b2"></a><!-- doxytag: member="config.h::parse_file" ref="a41592f23fd361db6127ac0223f3063b2" args="(const char *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void parse_file </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>f</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00056_source.html#l00129">129</a> of file <a class="el" href="a00056_source.html">cfgparse.tab.c</a>.</p>

<p>References <a class="el" href="a00052_source.html#l00019">die</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00034_source.html#l00036">context::filename</a>, <a class="el" href="a00052_source.html#l00029">FREE</a>, <a class="el" href="a00034_source.html#l00060">Variable::key</a>, <a class="el" href="a00034_source.html#l00035">context::line_copy</a>, <a class="el" href="a00034_source.html#l00062">Variable::next_match</a>, <a class="el" href="a00077_source.html#l00074">scalloc()</a>, <a class="el" href="a00047_source.html#l00112">SLIST_EMPTY</a>, <a class="el" href="a00047_source.html#l00110">SLIST_FIRST</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00047_source.html#l00094">SLIST_HEAD</a>, <a class="el" href="a00047_source.html#l00099">SLIST_HEAD_INITIALIZER</a>, <a class="el" href="a00047_source.html#l00137">SLIST_INSERT_HEAD</a>, <a class="el" href="a00047_source.html#l00146">SLIST_REMOVE_HEAD</a>, <a class="el" href="a00077_source.html#l00068">smalloc()</a>, <a class="el" href="a00077_source.html#l00080">sstrdup()</a>, <a class="el" href="a00034_source.html#l00061">Variable::value</a>, <a class="el" href="a00056.html#a8e73de13bb3d001e1a70c22c1fe3a561">yy_scan_string()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</a>.</p>

<p>Referenced by <a class="el" href="a00062_source.html#l00291">parse_configuration()</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="a7c81151479c55671cd41ad9d1b3d3f52"></a><!-- doxytag: member="config.h::path_exists" ref="a7c81151479c55671cd41ad9d1b3d3f52" args="(const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool path_exists </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if the given path exists by calling stat(). </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00070">70</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>Referenced by <a class="el" href="a00062_source.html#l00235">get_config_path()</a>, and <a class="el" href="a00068_source.html#l00502">ipc_create_socket()</a>.</p>

</div>
</div>
<a class="anchor" id="a01754019d5832f66029ac8ecc35b392f"></a><!-- doxytag: member="config.h::SLIST_HEAD" ref="a01754019d5832f66029ac8ecc35b392f" args="(modes_head, Mode) modes" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SLIST_HEAD </td>
          <td>(</td>
          <td class="paramtype">modes_head&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00019.html">Mode</a>&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a2ffac81a6e7d464474716e01da82c5df"></a><!-- doxytag: member="config.h::switch_mode" ref="a2ffac81a6e7d464474716e01da82c5df" args="(xcb_connection_t *conn, const char *new_mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void switch_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">const char *&nbsp;</td>
          <td class="paramname"> <em>new_mode</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 the key bindings to the given mode, if the mode exists. </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00211">211</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00034_source.html#l00075">Mode::bindings</a>, <a class="el" href="a00071_source.html#l00069">bindings</a>, <a class="el" href="a00044_source.html#l00020">ELOG</a>, <a class="el" href="a00062_source.html#l00188">grab_all_keys()</a>, <a class="el" href="a00044_source.html#l00019">LOG</a>, <a class="el" href="a00062_source.html#l00038">modes</a>, <a class="el" href="a00034_source.html#l00074">Mode::name</a>, <a class="el" href="a00047_source.html#l00115">SLIST_FOREACH</a>, <a class="el" href="a00062_source.html#l00138">translate_keysyms()</a>, and <a class="el" href="a00062_source.html#l00080">ungrab_all_keys()</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="a0ee8ffa5c11aeb96126b36171da84adc"></a><!-- doxytag: member="config.h::translate_keysyms" ref="a0ee8ffa5c11aeb96126b36171da84adc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void translate_keysyms </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Translates keysymbols to keycodes for all bindings which use keysyms. </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00138">138</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00071_source.html#l00069">bindings</a>, <a class="el" href="a00044_source.html#l00021">DLOG</a>, <a class="el" href="a00044_source.html#l00020">ELOG</a>, <a class="el" href="a00071_source.html#l00058">global_conn</a>, <a class="el" href="a00062_source.html#l00085">grab_keycode_for_binding()</a>, <a class="el" href="a00036_source.html#l00277">Binding::keycode</a>, <a class="el" href="a00071_source.html#l00066">keysyms</a>, <a class="el" href="a00036_source.html#l00274">Binding::number_keycodes</a>, <a class="el" href="a00077_source.html#l00068">smalloc()</a>, <a class="el" href="a00036_source.html#l00265">Binding::symbol</a>, <a class="el" href="a00047_source.html#l00335">TAILQ_FOREACH</a>, and <a class="el" href="a00036_source.html#l00272">Binding::translated_to</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00253">handle_mapping_notify()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00071_source.html#l00193">main()</a>, <a class="el" href="a00062_source.html#l00211">switch_mode()</a>, and <a class="el" href="a00071_source.html#l00130">xkb_got_event()</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="afa95dc10a37decc54e9a376d0d462048"></a><!-- doxytag: member="config.h::ungrab_all_keys" ref="afa95dc10a37decc54e9a376d0d462048" args="(xcb_connection_t *conn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ungrab_all_keys </td>
          <td>(</td>
          <td class="paramtype">xcb_connection_t *&nbsp;</td>
          <td class="paramname"> <em>conn</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Ungrabs all keys, to be called before re-grabbing the keys because of a mapping_notify event or a configuration file reload. </p>

<p>Definition at line <a class="el" href="a00062_source.html#l00080">80</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>References <a class="el" href="a00044_source.html#l00021">DLOG</a>, and <a class="el" href="a00071_source.html#l00085">root</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00253">handle_mapping_notify()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00062_source.html#l00211">switch_mode()</a>, and <a class="el" href="a00071_source.html#l00130">xkb_got_event()</a>.</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a4a8dd3a2de125b72d4fe6251a0a271b5"></a><!-- doxytag: member="config.h::config" ref="a4a8dd3a2de125b72d4fe6251a0a271b5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00010.html">Config</a> <a class="el" href="a00034.html#a4a8dd3a2de125b72d4fe6251a0a271b5">config</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="a00062_source.html#l00037">37</a> of file <a class="el" href="a00062_source.html">config.c</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00060">button_press_stackwin()</a>, <a class="el" href="a00060_source.html#l00457">client_min_height()</a>, <a class="el" href="a00069_source.html#l00098">decorate_window()</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="a00059_source.html#l00255">handle_button_press()</a>, <a class="el" href="a00067_source.html#l00292">handle_configure_request()</a>, <a class="el" href="a00067_source.html#l00173">handle_enter_notify()</a>, <a class="el" href="a00067_source.html#l00770">handle_expose_event()</a>, <a class="el" href="a00075_source.html#l00151">handle_signal()</a>, <a class="el" href="a00073_source.html#l00166">initialize_output()</a>, <a class="el" href="a00071_source.html#l00193">main()</a>, <a class="el" href="a00076_source.html#l00054">new_container()</a>, <a class="el" href="a00073_source.html#l00246">output_change_mode()</a>, <a class="el" href="a00069_source.html#l00348">render_container()</a>, <a class="el" href="a00069_source.html#l00596">render_internal_bar()</a>, <a class="el" href="a00069_source.html#l00680">render_workspace()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, <a class="el" href="a00069_source.html#l00248">resize_client()</a>, <a class="el" href="a00074_source.html#l00076">resize_graphical_handler()</a>, <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>, <a class="el" href="a00078_source.html#l00463">workspace_height()</a>, <a class="el" href="a00078_source.html#l00078">workspace_set_name()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</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>