<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Reference</title> <link rel="stylesheet" href="../luadoc.css" type="text/css" /> <!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/--> </head> <body> <div id="container"> <div id="product"> <div id="product_logo"></div> <div id="product_name"><big><b></b></big></div> <div id="product_description"></div> </div> <!-- id="product" --> <div id="main"> <div id="navigation"> <h1>LuaDoc</h1> <ul> <li><a href="../index.html">Index</a></li> </ul> <!-- Module list --> <h1>Modules</h1> <ul> <li> <a href="../modules/awesome.html">awesome</a> </li> <li> <a href="../modules/awful.html">awful</a> </li> <li> <a href="../modules/awful.autofocus.html">awful.autofocus</a> </li> <li> <a href="../modules/awful.button.html">awful.button</a> </li> <li> <a href="../modules/awful.client.html">awful.client</a> </li> <li> <a href="../modules/awful.completion.html">awful.completion</a> </li> <li> <a href="../modules/awful.dbus.html">awful.dbus</a> </li> <li> <a href="../modules/awful.hooks.html">awful.hooks</a> </li> <li> <a href="../modules/awful.key.html">awful.key</a> </li> <li> <a href="../modules/awful.layout.html">awful.layout</a> </li> <li> <a href="../modules/awful.layout.suit.html">awful.layout.suit</a> </li> <li> <a href="../modules/awful.layout.suit.fair.html">awful.layout.suit.fair</a> </li> <li> <a href="../modules/awful.layout.suit.floating.html">awful.layout.suit.floating</a> </li> <li> <a href="../modules/awful.layout.suit.magnifier.html">awful.layout.suit.magnifier</a> </li> <li> <a href="../modules/awful.layout.suit.max.html">awful.layout.suit.max</a> </li> <li> <a href="../modules/awful.layout.suit.spiral.html">awful.layout.suit.spiral</a> </li> <li> <a href="../modules/awful.layout.suit.tile.html">awful.layout.suit.tile</a> </li> <li> <a href="../modules/awful.menu.html">awful.menu</a> </li> <li> <a href="../modules/awful.mouse.html">awful.mouse</a> </li> <li> <a href="../modules/awful.mouse.finder.html">awful.mouse.finder</a> </li> <li> <a href="../modules/awful.placement.html">awful.placement</a> </li> <li> <a href="../modules/awful.prompt.html">awful.prompt</a> </li> <li> <a href="../modules/awful.remote.html">awful.remote</a> </li> <li><strong>awful.rules</strong></li> <li> <a href="../modules/awful.screen.html">awful.screen</a> </li> <li> <a href="../modules/awful.startup_notification.html">awful.startup_notification</a> </li> <li> <a href="../modules/awful.tag.html">awful.tag</a> </li> <li> <a href="../modules/awful.titlebar.html">awful.titlebar</a> </li> <li> <a href="../modules/awful.tooltip.html">awful.tooltip</a> </li> <li> <a href="../modules/awful.util.html">awful.util</a> </li> <li> <a href="../modules/awful.wibox.html">awful.wibox</a> </li> <li> <a href="../modules/awful.widget.html">awful.widget</a> </li> <li> <a href="../modules/awful.widget.button.html">awful.widget.button</a> </li> <li> <a href="../modules/awful.widget.common.html">awful.widget.common</a> </li> <li> <a href="../modules/awful.widget.graph.html">awful.widget.graph</a> </li> <li> <a href="../modules/awful.widget.launcher.html">awful.widget.launcher</a> </li> <li> <a href="../modules/awful.widget.layout.html">awful.widget.layout</a> </li> <li> <a href="../modules/awful.widget.layout.default.html">awful.widget.layout.default</a> </li> <li> <a href="../modules/awful.widget.layout.horizontal.html">awful.widget.layout.horizontal</a> </li> <li> <a href="../modules/awful.widget.layout.vertical.html">awful.widget.layout.vertical</a> </li> <li> <a href="../modules/awful.widget.layoutbox.html">awful.widget.layoutbox</a> </li> <li> <a href="../modules/awful.widget.progressbar.html">awful.widget.progressbar</a> </li> <li> <a href="../modules/awful.widget.prompt.html">awful.widget.prompt</a> </li> <li> <a href="../modules/awful.widget.taglist.html">awful.widget.taglist</a> </li> <li> <a href="../modules/awful.widget.tasklist.html">awful.widget.tasklist</a> </li> <li> <a href="../modules/awful.widget.textclock.html">awful.widget.textclock</a> </li> <li> <a href="../modules/beautiful.html">beautiful</a> </li> <li> <a href="../modules/button.html">button</a> </li> <li> <a href="../modules/client.html">client</a> </li> <li> <a href="../modules/dbus.html">dbus</a> </li> <li> <a href="../modules/image.html">image</a> </li> <li> <a href="../modules/key.html">key</a> </li> <li> <a href="../modules/keygrabber.html">keygrabber</a> </li> <li> <a href="../modules/mouse.html">mouse</a> </li> <li> <a href="../modules/mousegrabber.html">mousegrabber</a> </li> <li> <a href="../modules/naughty.html">naughty</a> </li> <li> <a href="../modules/root.html">root</a> </li> <li> <a href="../modules/screen.html">screen</a> </li> <li> <a href="../modules/selection.html">selection</a> </li> <li> <a href="../modules/tag.html">tag</a> </li> <li> <a href="../modules/timer.html">timer</a> </li> <li> <a href="../modules/wibox.html">wibox</a> </li> <li> <a href="../modules/widget.html">widget</a> </li> </ul> <!-- File list --> </div><!-- id="navigation" --> <div id="content"> <h1>Module <code>awful.rules</code></h1> <p>Apply rules to clients at startup.</p> <p><b>Author:</b> <table class="authors_list"> <tr><td class="name">Julien Danjou <julien@danjou.info></td></tr> </table> </p> <p>Copyright© 2009 Julien Danjou</p> <p><small><b>Release:</b> v3.4.15 </small></p> <h2>Functions</h2> <table class="function_list"> <tr> <td class="name" nowrap><a href="#apply">apply</a> (c)</td> <td class="summary">Apply rules to a client.</td> </tr> <tr> <td class="name" nowrap><a href="#match">match</a> (c, rule)</td> <td class="summary">Check if a client match a rule.</td> </tr> <tr> <td class="name" nowrap><a href="#match_any">match_any</a> (c, rule, rules)</td> <td class="summary">Check if a client match a rule.</td> </tr> </table> <h2>Tables</h2> <table class="table_list"> <tr> <td class="name" nowrap><a href="#rules">rules</a></td> <td class="summary">This is the global rules table.</td> </tr> </table> <br/> <br/> <h2><a name="functions"></a>Functions</h2> <dl class="function"> <dt><a name="apply"></a><strong>apply</strong> (c)</dt> <dd> Apply rules to a client. <h3>Parameters</h3> <ul> <li> c: The client. </li> </ul> </dd> <dt><a name="match"></a><strong>match</strong> (c, rule)</dt> <dd> Check if a client match a rule. <h3>Parameters</h3> <ul> <li> c: The client. </li> <li> rule: The rule to check. </li> </ul> <h3>Return value:</h3> True if it matches, false otherwise. </dd> <dt><a name="match_any"></a><strong>match_any</strong> (c, rule, rules)</dt> <dd> Check if a client match a rule. Multiple clients can be matched <h3>Parameters</h3> <ul> <li> c: The client. </li> <li> rule: </li> <li> rules: The rule to check. </li> </ul> <h3>Return value:</h3> True if at least one rule is matched, false otherwise. </dd> </dl> <h2><a name="tables"></a>Tables</h2> <dl class="table"> <dt><a name="rules"></a><strong>rules</strong></dt> <dd>This is the global rules table. <p>You should fill this table with your rule and properties to apply. For example, if you want to set xterm maximized at startup, you can add: <br/> <code> { rule = { class = "xterm" }, properties = { maximized_vertical = true, maximized_horizontal = true } } </code> </p> <p>If you want to set mplayer floating at startup, you can add: <br/> <code> { rule = { name = "MPlayer" }, properties = { floating = true } } </code> </p> <p>If you want to put Firefox on a specific tag at startup, you can add: <br/> <code> { rule = { instance = "firefox" }, properties = { tag = mytagobject } } </code> </p> <p>If you want to put Emacs on a specific tag at startup, and immediately switch to that tag you can add: <br/> <code> { rule = { class = "Emacs" }, properties = { tag = mytagobject, switchtotag = true } } </code> </p> <p>If you want to apply a custom callback to execute when a rule matched, you can add: <br/> <code> { rule = { class = "dosbox" }, callback = awful.placement.centered } </code> </p> <p>Note that all "rule" entries need to match. If any of the entry does not match, the rule won't be applied.</p> <p>If a client matches multiple rules, their applied in the order they are put in this global rules table. If the value of a rule is a string, then the match function is used to determine if the client matches the rule.</p> <p> To match multiple clients to a rule one need to use slightly different syntax: <br/> <code> { rule_any = { class = { "MPlayer", "Nitrogen" }, instance = { "xterm" } }, properties = { floating = true } } </code> </p> <p> To match multiple clients with an exception one can couple 'except' or 'except_any' with the rules: <br/> <code> { rule = { class = "Firefox" }, except = { instance = "Navigator" }, properties = {floating = true}, }, </code> <br/> <code> { rule_any = { class = { "Pidgin", "Xchat" } }, except_any = { role = { "conversation" } }, properties = { tag = tags[1][1] } } <br/> <code> { rule = {}, except_any = { class = { "Firefox", "Vim" } }, properties = { floating = true } } </code> </p> </dd> </dl> </div> <!-- id="content" --> </div> <!-- id="main" --> <div id="about"> <p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p> </div> <!-- id="about" --> </div> <!-- id="container" --> </body> </html>