.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "RANGER 1"
.TH RANGER 1 "ranger-1.7.2" "16/05/16" "ranger manual"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
ranger \- visual file manager
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBranger\fR [\fB\-\-version\fR] [\fB\-\-help\fR] [\fB\-\-debug\fR] [\fB\-\-clean\fR]
[\fB\-\-confdir\fR=\fIdirectory\fR] [\fB\-\-copy\-config\fR=\fIwhich\fR]
[\fB\-\-choosefile\fR=\fItarget\fR] [\fB\-\-choosefiles\fR=\fItarget\fR]
[\fB\-\-choosedir\fR=\fItarget\fR] [\fB\-\-selectfile\fR=\fIfilepath\fR]
[\fB\-\-list\-unused\-keys\fR] [\fB\-\-list\-tagged\-files\fR=\fItag\fR]
[\fB\-\-profile\fR] [\fB\-\-cmd\fR=\fIcommand\fR] [\fIpath\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
ranger is a console file manager with \s-1VI\s0 key bindings.
.SH "RESOURCES"
.IX Header "RESOURCES"
\&\fIThis manual\fR contains instructions on how to use and configure ranger.
.PP
\&\fIInside ranger\fR, you can press \fI?\fR for a list of key bindings, commands or
settings.
.PP
The \fI\s-1README\s0\fR contains install instructions.
.PP
The file \fI\s-1HACKING\s0.md\fR contains guidelines for code modification.
.PP
The directory \fIdoc/configs\fR contains configuration files.  They are usually
installed to \fI/usr/share/doc/ranger/config\fR and can be obtained with ranger's
\&\-\-copy\-config option.
.PP
The directory \fIexamples\fR contains reference implementations for ranger
plugins, sample configuration files and some programs for integrating ranger
with other software.  They are usually installed to
\&\fI/usr/share/doc/ranger/examples\fR.
.PP
The man page of \fIrifle\fR\|(1) describes the functions of the file opener
.PP
The section \fI\s-1LINKS\s0\fR of this man page contains further resources.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-d\fR, \fB\-\-debug\fR" 14
.IX Item "-d, --debug"
Activate the debug mode: Whenever an error occurs, ranger will exit and print a
full traceback.  The default behavior is to merely print the name of the
exception in the statusbar/log and try to keep running.
.IP "\fB\-c\fR, \fB\-\-clean\fR" 14
.IX Item "-c, --clean"
Activate the clean mode:  ranger will not access or create any configuration
files nor will it leave any traces on your system.  This is useful when your
configuration is broken, when you want to avoid clutter, etc.
.IP "\fB\-r\fR \fIdir\fR, \fB\-\-confdir\fR=\fIdir\fR" 14
.IX Item "-r dir, --confdir=dir"
Change the configuration directory of ranger from ~/.config/ranger to \*(L"dir\*(R".
.IP "\fB\-\-copy\-config\fR=\fIfile\fR" 14
.IX Item "--copy-config=file"
Create copies of the default configuration files in your local configuration
directory.  Existing ones will not be overwritten.  Possible values: \fIall\fR,
\&\fIcommands\fR, \fIcommands_full\fR, \fIrc\fR, \fIrifle\fR, \fIscope\fR.
.Sp
Note: You may want to disable loading of the global configuration files by
exporting \fIRANGER_LOAD_DEFAULT_RC=FALSE\fR in your environment.  See also:
\&\fB\s-1FILES\s0\fR, \fB\s-1ENVIRONMENT\s0\fR
.Sp
\&\-\-copy\-config=\fBcommands\fR will copy only a small sample configuration file with
a thoroughly commented example.  It is recommended to keep this file tidy to
avoid getting defunct commands on ranger upgrades.  The full default
commands.py can be copied with \-\-copy\-config=\fBcommands_full\fR, but that file
will be ignored by ranger and serves only as a reference for making your own
commands.
.IP "\fB\-\-choosefile\fR=\fItargetfile\fR" 14
.IX Item "--choosefile=targetfile"
Allows you to pick a file with ranger.  This changes the behavior so that when
you open a file, ranger will exit and write the absolute path of that file into
\&\fItargetfile\fR.
.IP "\fB\-\-choosefiles\fR=\fItargetfile\fR" 14
.IX Item "--choosefiles=targetfile"
Allows you to pick multiple files with ranger.  This changes the behavior so
that when you open a file, ranger will exit and write the absolute paths of all
selected files into \fItargetfile\fR, adding one newline after each filename.
.IP "\fB\-\-choosedir\fR=\fItargetfile\fR" 14
.IX Item "--choosedir=targetfile"
Allows you to pick a directory with ranger.  When you exit ranger, it will
write the last visited directory into \fItargetfile\fR.
.IP "\fB\-\-selectfile\fR=\fItargetfile\fR" 14
.IX Item "--selectfile=targetfile"
Open ranger with \fItargetfile\fR selected.
.IP "\fB\-\-list\-unused\-keys\fR" 14
.IX Item "--list-unused-keys"
List common keys which are not bound to any action in the \*(L"browser\*(R" context.
This list is not complete, you can bind any key that is supported by curses:
use the key code returned by \f(CW\*(C`getch()\*(C'\fR.
.IP "\fB\-\-list\-tagged\-files\fR=\fItag\fR" 14
.IX Item "--list-tagged-files=tag"
List all files which are tagged with the given tag.  Note: Tags are single
characters.  The default tag is \*(L"*\*(R"
.IP "\fB\-\-profile\fR" 14
.IX Item "--profile"
Print statistics of \s-1CPU\s0 usage on exit.
.IP "\fB\-\-cmd\fR=\fIcommand\fR" 14
.IX Item "--cmd=command"
Execute the command after the configuration has been read.  Use this option
multiple times to run multiple commands.
.IP "\fB\-\-version\fR" 14
.IX Item "--version"
Print the version and exit.
.IP "\fB\-h\fR, \fB\-\-help\fR" 14
.IX Item "-h, --help"
Print a list of options and exit.
.SH "CONCEPTS"
.IX Header "CONCEPTS"
This part explains how certain parts of ranger work and how they can be used
efficiently.
.SS "\s-1TAGS\s0"
.IX Subsection "TAGS"
Tags are single characters which are displayed left of a filename.  You can use
tags however you want.  Press \*(L"t\*(R" to toggle tags and \*(L"ut\*(R" to remove any tags of
the selection. The default tag is an Asterisk (\*(L"*\*(R"), but you can use any tag by
typing \fI"<tagname>\fR.
.SS "\s-1PREVIEWS\s0"
.IX Subsection "PREVIEWS"
By default, only text files are previewed, but you can enable external preview
scripts by setting the option \f(CW\*(C`use_preview_script\*(C'\fR and \f(CW\*(C`preview_files\*(C'\fR to true.
.PP
This default script is \fI~/.config/ranger/scope.sh\fR. It contains more
documentation and calls to the programs \fIlynx\fR and \fIelinks\fR for html,
\&\fIhighlight\fR for text/code, \fIimg2txt\fR for images, \fIatool\fR for archives,
\&\fIpdftotext\fR for PDFs and \fImediainfo\fR for video and audio files.
.PP
Install these programs (just the ones you need) and scope.sh will automatically
use them.
.PP
Independently of the preview script, there is a feature to preview images
by drawing them directly into the terminal. To enable this feature, set the
option \f(CW\*(C`preview_images\*(C'\fR to true and enable one of the image preview modes:
.PP
\fIw3m\fR
.IX Subsection "w3m"
.PP
This does not work over ssh, requires certain terminals (tested on \*(L"xterm\*(R" and
\&\*(L"urxvt\*(R") and is incompatible with tmux, although it works with screen.
.PP
To enable this feature, install the program \*(L"w3m\*(R" and set the option
\&\f(CW\*(C`preview_images_method\*(C'\fR to w3m.
.PP
\fIiTerm2\fR
.IX Subsection "iTerm2"
.PP
This only works in iTerm2 compiled with image preview support, but works over
ssh.
.PP
To enable this feature, set the option \f(CW\*(C`preview_images_method\*(C'\fR to iterm2.
.SS "\s-1SELECTION\s0"
.IX Subsection "SELECTION"
The \fIselection\fR is defined as \*(L"All marked files \s-1IF THERE ARE ANY,\s0 otherwise
the current file.\*(R"  Be aware of this when using the :delete command, which
deletes all files in the selection.
.PP
You can mark files by pressing <Space>, v, etc.  A yellow \fBMrk\fR symbol at the
bottom right indicates that there are marked files in this directory.
.SS "\s-1MACROS\s0"
.IX Subsection "MACROS"
Macros can be used in commands to abbreviate things.
.PP
.Vb 6
\& %f   the highlighted file
\& %d   the path of the current directory
\& %s   the selected files in the current directory
\& %t   all tagged files in the current directory
\& %c   the full paths of the currently copied/cut files
\& %p   the full paths of selected files
.Ve
.PP
The macros \f(CW%f\fR, <style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="cm">/* (C)opyright MMVI Anselm R. Garbe &lt;garbeam at gmail dot com&gt;</span>
<span class="cm"> * See LICENSE file for license details.</span>
<span class="cm"> */</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;dwm.h&quot;</span>

<span class="cm">/* static */</span>

<span class="k">static</span><span class="w"> </span><span class="n">Client</span><span class="w"> </span><span class="o">*</span>
<span class="nf">nexttiled</span><span class="p">(</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="k">for</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getnext</span><span class="p">(</span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">isfloat</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getnext</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">));</span>
<span class="w">	</span><span class="k">return</span><span class="w"> </span><span class="n">c</span><span class="p">;</span>
<span class="p">}</span>

<span class="k">static</span><span class="w"> </span><span class="kt">void</span>
<span class="nf">togglemax</span><span class="p">(</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="n">XEvent</span><span class="w"> </span><span class="n">ev</span><span class="p">;</span>
<span class="w">		</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">isfixed</span><span class="p">)</span>
<span class="w">		</span><span class="k">return</span><span class="p">;</span>

<span class="w">	</span><span class="k">if</span><span class="p">((</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">ismax</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">!</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">ismax</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">rx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">x</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wax</span><span class="p">;</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">ry</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">y</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">way</span><span class="p">;</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">rw</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">w</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">w</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">waw</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">rh</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wah</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">rx</span><span class="p">;</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">ry</span><span class="p">;</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">w</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">rw</span><span class="p">;</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">rh</span><span class="p">;</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="n">resize</span><span class="p">(</span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">True</span><span class="p">,</span><span class="w"> </span><span class="n">TopLeft</span><span class="p">);</span>
<span class="w">	</span><span class="k">while</span><span class="p">(</span><span class="n">XCheckMaskEvent</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">EnterWindowMask</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">ev</span><span class="p">));</span>
<span class="p">}</span>

<span class="cm">/* extern */</span>

<span class="kt">void</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">arrange</span><span class="p">)(</span><span class="kt">void</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DEFMODE</span><span class="p">;</span>

<span class="kt">void</span>
<span class="nf">detach</span><span class="p">(</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">prev</span><span class="p">)</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">prev</span><span class="o">-&gt;</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span>
<span class="w">		</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="o">-&gt;</span><span class="n">prev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">prev</span><span class="p">;</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">clients</span><span class="p">)</span>
<span class="w">		</span><span class="n">clients</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span>
<span class="w">	</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">prev</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">NULL</span><span class="p">;</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">dofloat</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">;</span>

<span class="w">	</span><span class="k">for</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">clients</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="k">if</span><span class="p">(</span><span class="n">isvisible</span><span class="p">(</span><span class="n">c</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="n">resize</span><span class="p">(</span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">True</span><span class="p">,</span><span class="w"> </span><span class="n">TopLeft</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="k">else</span>
<span class="w">			</span><span class="n">ban</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="n">isvisible</span><span class="p">(</span><span class="n">sel</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="k">for</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stack</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="o">!</span><span class="n">isvisible</span><span class="p">(</span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">snext</span><span class="p">);</span>
<span class="w">		</span><span class="n">focus</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="n">restack</span><span class="p">();</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">dotile</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="n">mpx</span><span class="p">,</span><span class="w"> </span><span class="n">stackw</span><span class="p">,</span><span class="w"> </span><span class="n">th</span><span class="p">;</span>
<span class="w">	</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">;</span>

<span class="w">	</span><span class="k">for</span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">nexttiled</span><span class="p">(</span><span class="n">clients</span><span class="p">);</span><span class="w"> </span><span class="n">c</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">nexttiled</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">))</span>
<span class="w">		</span><span class="n">n</span><span class="o">++</span><span class="p">;</span>
<span class="w">	</span><span class="n">mpx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">waw</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">master</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">1000</span><span class="p">;</span>
<span class="w">	</span><span class="n">stackw</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">waw</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">mpx</span><span class="p">;</span>

<span class="w">	</span><span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">clients</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)</span>
<span class="w">		</span><span class="k">if</span><span class="p">(</span><span class="n">isvisible</span><span class="p">(</span><span class="n">c</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">isfloat</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">				</span><span class="n">resize</span><span class="p">(</span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">True</span><span class="p">,</span><span class="w"> </span><span class="n">TopLeft</span><span class="p">);</span>
<span class="w">				</span><span class="k">continue</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">			</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">ismax</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">False</span><span class="p">;</span>
<span class="w">			</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wax</span><span class="p">;</span>
<span class="w">			</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">way</span><span class="p">;</span>
<span class="w">			</span><span class="k">if</span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="cm">/* only 1 window */</span>
<span class="w">				</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">w</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">waw</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">				</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wah</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">			</span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="cm">/* master window */</span>
<span class="w">				</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">w</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mpx</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">				</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wah</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">				</span><span class="n">th</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wah</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">			</span><span class="k">else</span><span class="w"> </span><span class="p">{</span><span class="w">  </span><span class="cm">/* tile window */</span>
<span class="w">				</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">x</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">mpx</span><span class="p">;</span>
<span class="w">				</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">w</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stackw</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">				</span><span class="k">if</span><span class="p">(</span><span class="n">th</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">bh</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">					</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">y</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">th</span><span class="p">;</span>
<span class="w">					</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">th</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">				</span><span class="p">}</span>
<span class="w">				</span><span class="k">else</span><span class="w"> </span><span class="cm">/* fallback if th &lt; bh */</span>
<span class="w">					</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">h</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wah</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">BORDERPX</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">			</span><span class="n">resize</span><span class="p">(</span><span class="n">c</span><span class="p">,</span><span class="w"> </span><span class="n">False</span><span class="p">,</span><span class="w"> </span><span class="n">TopLeft</span><span class="p">);</span>
<span class="w">			</span><span class="n">i</span><span class="o">++</span><span class="p">;</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="k">else</span>
<span class="w">			</span><span class="n">ban</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>

<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="o">!</span><span class="n">isvisible</span><span class="p">(</span><span class="n">sel</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="k">for</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stack</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="o">!</span><span class="n">isvisible</span><span class="p">(</span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">snext</span><span class="p">);</span>
<span class="w">		</span><span class="n">focus</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="n">restack</span><span class="p">();</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">focusnext</span><span class="p">(</span><span class="n">Arg</span><span class="w"> </span><span class="o">*</span><span class="n">arg</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">;</span>
<span class="w">   </span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="p">)</span>
<span class="w">		</span><span class="k">return</span><span class="p">;</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getnext</span><span class="p">(</span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">)))</span>
<span class="w">		</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getnext</span><span class="p">(</span><span class="n">clients</span><span class="p">);</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">focus</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">		</span><span class="n">restack</span><span class="p">();</span>
<span class="w">	</span><span class="p">}</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">focusprev</span><span class="p">(</span><span class="n">Arg</span><span class="w"> </span><span class="o">*</span><span class="n">arg</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">;</span>

<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="p">)</span>
<span class="w">		</span><span class="k">return</span><span class="p">;</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getprev</span><span class="p">(</span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">prev</span><span class="p">)))</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="k">for</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">clients</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">);</span>
<span class="w">		</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getprev</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">focus</span><span class="p">(</span><span class="n">c</span><span class="p">);</span>
<span class="w">		</span><span class="n">restack</span><span class="p">();</span>
<span class="w">	</span><span class="p">}</span>
<span class="p">}</span>

<span class="n">Bool</span>
<span class="nf">isvisible</span><span class="p">(</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>

<span class="w">	</span><span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">ntags</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="w">		</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">tags</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="n">seltag</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
<span class="w">			</span><span class="k">return</span><span class="w"> </span><span class="n">True</span><span class="p">;</span>
<span class="w">	</span><span class="k">return</span><span class="w"> </span><span class="n">False</span><span class="p">;</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">resizemaster</span><span class="p">(</span><span class="n">Arg</span><span class="w"> </span><span class="o">*</span><span class="n">arg</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">arg</span><span class="o">-&gt;</span><span class="n">i</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
<span class="w">		</span><span class="n">master</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MASTER</span><span class="p">;</span>
<span class="w">	</span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="k">if</span><span class="p">(</span><span class="n">master</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">arg</span><span class="o">-&gt;</span><span class="n">i</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">950</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">master</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">arg</span><span class="o">-&gt;</span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">50</span><span class="p">)</span>
<span class="w">			</span><span class="k">return</span><span class="p">;</span>
<span class="w">		</span><span class="n">master</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">arg</span><span class="o">-&gt;</span><span class="n">i</span><span class="p">;</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="n">arrange</span><span class="p">();</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">restack</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="n">Client</span><span class="w"> </span><span class="o">*</span><span class="n">c</span><span class="p">;</span>
<span class="w">	</span><span class="n">XEvent</span><span class="w"> </span><span class="n">ev</span><span class="p">;</span>

<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">drawstatus</span><span class="p">();</span>
<span class="w">		</span><span class="k">return</span><span class="p">;</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">isfloat</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">arrange</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">dofloat</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="n">XRaiseWindow</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">win</span><span class="p">);</span>
<span class="w">		</span><span class="n">XRaiseWindow</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">twin</span><span class="p">);</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">arrange</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">dofloat</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">		</span><span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">isfloat</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="n">XLowerWindow</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">twin</span><span class="p">);</span>
<span class="w">			</span><span class="n">XLowerWindow</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">win</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">		</span><span class="k">for</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">nexttiled</span><span class="p">(</span><span class="n">clients</span><span class="p">);</span><span class="w"> </span><span class="n">c</span><span class="p">;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">nexttiled</span><span class="p">(</span><span class="n">c</span><span class="o">-&gt;</span><span class="n">next</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w">			</span><span class="k">if</span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">sel</span><span class="p">)</span>
<span class="w">				</span><span class="k">continue</span><span class="p">;</span>
<span class="w">			</span><span class="n">XLowerWindow</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">twin</span><span class="p">);</span>
<span class="w">			</span><span class="n">XLowerWindow</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="o">-&gt;</span><span class="n">win</span><span class="p">);</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span><span class="n">drawall</span><span class="p">();</span>
<span class="w">	</span><span class="n">XSync</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">False</span><span class="p">);</span>
<span class="w">	</span><span class="k">while</span><span class="p">(</span><span class="n">XCheckMaskEvent</span><span class="p">(</span><span class="n">dpy</span><span class="p">,</span><span class="w"> </span><span class="n">EnterWindowMask</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">ev</span><span class="p">));</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">togglefloat</span><span class="p">(</span><span class="n">Arg</span><span class="w"> </span><span class="o">*</span><span class="n">arg</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">sel</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">arrange</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">dofloat</span><span class="p">)</span>
<span class="w">		</span><span class="k">return</span><span class="p">;</span>
<span class="w">	</span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">isfloat</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">!</span><span class="n">sel</span><span class="o">-&gt;</span><span class="n">isfloat</span><span class="p">;</span>
<span class="w">	</span><span class="n">arrange</span><span class="p">();</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">togglemode</span><span class="p">(</span><span class="n">Arg</span><span class="w"> </span><span class="o">*</span><span class="n">arg</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="n">arrange</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">arrange</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">dofloat</span><span class="p">)</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">dotile</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">dofloat</span><span class="p">;</span>
<span class="w">	</span><span class="k">if</span><span class="p">(</span><span class="n">sel</span><span class="p">)</span>
<span class="w">		</span><span class="n">arrange</span><span class="p">();</span>
<span class="w">	</span><span class="k">else</span>
<span class="w">		</span><span class="n">drawstatus</span><span class="p">();</span>
<span class="p">}</span>

<span class="kt">void</span>
<span class="nf">toggleview</span><span class="p">(</span><span class="n">Arg</span><span class="w"> </span><span class="o">*</span><span class="n">arg</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">	</span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>

<span class="w">	</span><span class="n">seltag</span><span class="p">[</span><span class="n">arg</span><span class="o">-&gt;