| Super+Shift+w | open sidepanel loader
|===
+== Side Pannel Applications
+
Specific application are designed to be sidepannel application. These are
applications that will only launch on the far right side of your monitor. These
application do not interfere with window tiling functionality to the left of
them.
+
== Tag icons
image::sidepannel-apps.png[tag-icons]
There is also quite a bit of changes to the rules struct.
image::rules-struct.png[rules-struct]
+
+`isSidePannel`::
+ Tells dwm if this is a sidepannel application.
+
+`isCentered`::
+ Tells dwm whether or not to center the application to the middle
+ of the screen.
+
+`layout`::
+ Tells dwm if there is a layout to have the applicatoin launch in, you can
+ have `NULL` to not specify.
+
+`switchto`::
+ Tells dwm if it should focus the application when it launches or launch it
+ silently.
+
+== Dependency Scripts
+
+There are several scripts that work with my DWM config. You can find these
+scripts here: https://nyquistdev.net/git/?p=ubuntu-rice.git;a=tree;f=usr-local-bin;h=HEAD[scripts].
+
+Most of these scripts start with the 'dwm' prefix, for the exception of
+`facecam`, `brightness-launch`, `ffsrec-stop-recoding`, `wake-up`, `ffsrec`.
+That is because those applications can work independently of dwm.
+
+[source, c]
+----
+/* commands */
+static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
+static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
+static const char *termcmd[] = { "alacritty", "--title", "Alacritty", NULL };
+static const char *flameshotcmd[] = { "flameshot", "gui", NULL };
+static const char *suscmd[] = { "systemctl", "suspend", NULL };
+static const char *volupcmd[] = { "/usr/local/bin/dwm_volume_up", NULL };
+static const char *voldowncmd[] = { "/usr/local/bin/dwm_volume_down", NULL };
+static const char *volmutecmd[] = { "/usr/local/bin/dwm_volume_mute", NULL };
+static const char *mixercmd[] = { "/usr/local/bin/dwm-term-toggle", "pulsemixer", NULL };
+static const char *calc_mcw_cmd[] = { "/usr/local/bin/dwm-speedcrunch-move", "cw", NULL };
+static const char *calc_mccw_cmd[] = { "/usr/local/bin/dwm-speedcrunch-move", "ccw", NULL };
+static const char *facecamcmd[] = { "/usr/local/bin/facecam", NULL };
+static const char *cpucmd[] = { "/usr/local/bin/dwm-term-toggle", "htop", NULL };
+static const char *brightnesscmd[] = { "/usr/local/bin/brightness-launch", NULL };
+static const char *ffsrecstartcmd[] = { "/usr/local/bin/ffsrec", NULL };
+static const char *ffsrecstopcmd[] = { "/usr/local/bin/ffsrec-stop-recording", NULL };
+static const char *wakeupcmd[] = { "/usr/local/bin/wake-up", "toggle", NULL };
+static const char *calendarcmd[] = { "/usr/local/bin/dwm-calendar", NULL };
+static const char *windowcontainercmd[] = { "/usr/local/bin/dwm-window-container-toggle", NULL };
+static const char *gotowindowcmd[] = { "/usr/local/bin/dwm-goto-window", NULL };
+----
+
+== Other changes
+
+* each tag has a unique layout
+* gaps for each application
+* centered applicatoins
};
static const Rule rules[] = {
- /* xprop(1):
- * WM_CLASS(STRING) = instance, class
- * WM_NAME(STRING) = title
- */
- // Keep ffplay floating a and in all tags for facecam script
- // last tag is for calendar
/* class instance title tags mask isfloating isCentered isSidePanel monitor resize hint layout switchto*/
//
{ NULL, NULL, NULL, 0, 1, 1, 0, -1, 0, NULL, 0},
{ NULL, NULL, "facecam", (1<<4)-1, 0, 0, 1, 1, 1, NULL, 0},
- // { "SpeedCrunch", NULL, "calculator", 0, 1, 0, 0, -1, 0, NULL, 0},
{ "SpeedCrunch", NULL, "calculator", 0, 0, 0, 1, 1, 0, NULL, 1},
- //{ "SpeedCrunch", NULL, "SpeedCrunch", 0, 0, 0, 0, -1, 1, NULL, 0},
{ NULL, NULL, "youtube-upload", (1<<9)-1, 1, 0, 0, -1, 0, NULL, 0},
{ NULL, NULL, "Calendar", 0, 0, 0, 0, 1, 0, NULL, 1},
{ "Xephyr", NULL, NULL, 0, 0, 0, 1, 1, 0, NULL, 1},
{ NULL, NULL, "note", 0, 1, 0, 0, -1, 0, NULL, 0},
{ NULL, NULL, "pulsemixer", (1<<9)-1, 1, 0, 0, 1, 0, NULL, 1},
{ NULL, NULL, "htop", (1<<9)-1, 1, 0, 0, 1, 0, NULL, 1},
- // { NULL, NULL, NULL, 0, 0, 1, 0, -1 },
-
- // there is a possibility to need a terminal in misc tag as well..
- // { NULL, NULL, "Alacritty", 1 << 0, 0, -1 },
- // { "Brave", NULL, NULL, 1 << 1, 0, -1 },
- // { "Gimp", NULL, NULL, 1 << 2, 0, -1 },
- // { "Discord", NULL, NULL, 1 << 3, 0, -1 },
- // { "OBS", NULL, NULL, 1 << 4, 0, -1 },
- // { "KeePassXC", NULL, NULL, 1 << 4, 0, -1 },
};
const char *
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+<style>
+pre.pygments .hll { background-color: #49483e }
+pre.pygments { background: #272822; color: #F8F8F2 }
+pre.pygments .tok-c { color: #959077 } /* Comment */
+pre.pygments .tok-err { color: #ED007E; background-color: #1E0010 } /* Error */
+pre.pygments .tok-esc { color: #F8F8F2 } /* Escape */
+pre.pygments .tok-g { color: #F8F8F2 } /* Generic */
+pre.pygments .tok-k { color: #66D9EF } /* Keyword */
+pre.pygments .tok-l { color: #AE81FF } /* Literal */
+pre.pygments .tok-n { color: #F8F8F2 } /* Name */
+pre.pygments .tok-o { color: #FF4689 } /* Operator */
+pre.pygments .tok-x { color: #F8F8F2 } /* Other */
+pre.pygments .tok-p { color: #F8F8F2 } /* Punctuation */
+pre.pygments .tok-ch { color: #959077 } /* Comment.Hashbang */
+pre.pygments .tok-cm { color: #959077 } /* Comment.Multiline */
+pre.pygments .tok-cp { color: #959077 } /* Comment.Preproc */
+pre.pygments .tok-cpf { color: #959077 } /* Comment.PreprocFile */
+pre.pygments .tok-c1 { color: #959077 } /* Comment.Single */
+pre.pygments .tok-cs { color: #959077 } /* Comment.Special */
+pre.pygments .tok-gd { color: #FF4689 } /* Generic.Deleted */
+pre.pygments .tok-ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */
+pre.pygments .tok-ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+pre.pygments .tok-gr { color: #F8F8F2 } /* Generic.Error */
+pre.pygments .tok-gh { color: #F8F8F2 } /* Generic.Heading */
+pre.pygments .tok-gi { color: #A6E22E } /* Generic.Inserted */
+pre.pygments .tok-go { color: #66D9EF } /* Generic.Output */
+pre.pygments .tok-gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */
+pre.pygments .tok-gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */
+pre.pygments .tok-gu { color: #959077 } /* Generic.Subheading */
+pre.pygments .tok-gt { color: #F8F8F2 } /* Generic.Traceback */
+pre.pygments .tok-kc { color: #66D9EF } /* Keyword.Constant */
+pre.pygments .tok-kd { color: #66D9EF } /* Keyword.Declaration */
+pre.pygments .tok-kn { color: #FF4689 } /* Keyword.Namespace */
+pre.pygments .tok-kp { color: #66D9EF } /* Keyword.Pseudo */
+pre.pygments .tok-kr { color: #66D9EF } /* Keyword.Reserved */
+pre.pygments .tok-kt { color: #66D9EF } /* Keyword.Type */
+pre.pygments .tok-ld { color: #E6DB74 } /* Literal.Date */
+pre.pygments .tok-m { color: #AE81FF } /* Literal.Number */
+pre.pygments .tok-s { color: #E6DB74 } /* Literal.String */
+pre.pygments .tok-na { color: #A6E22E } /* Name.Attribute */
+pre.pygments .tok-nb { color: #F8F8F2 } /* Name.Builtin */
+pre.pygments .tok-nc { color: #A6E22E } /* Name.Class */
+pre.pygments .tok-no { color: #66D9EF } /* Name.Constant */
+pre.pygments .tok-nd { color: #A6E22E } /* Name.Decorator */
+pre.pygments .tok-ni { color: #F8F8F2 } /* Name.Entity */
+pre.pygments .tok-ne { color: #A6E22E } /* Name.Exception */
+pre.pygments .tok-nf { color: #A6E22E } /* Name.Function */
+pre.pygments .tok-nl { color: #F8F8F2 } /* Name.Label */
+pre.pygments .tok-nn { color: #F8F8F2 } /* Name.Namespace */
+pre.pygments .tok-nx { color: #A6E22E } /* Name.Other */
+pre.pygments .tok-py { color: #F8F8F2 } /* Name.Property */
+pre.pygments .tok-nt { color: #FF4689 } /* Name.Tag */
+pre.pygments .tok-nv { color: #F8F8F2 } /* Name.Variable */
+pre.pygments .tok-ow { color: #FF4689 } /* Operator.Word */
+pre.pygments .tok-pm { color: #F8F8F2 } /* Punctuation.Marker */
+pre.pygments .tok-w { color: #F8F8F2 } /* Text.Whitespace */
+pre.pygments .tok-mb { color: #AE81FF } /* Literal.Number.Bin */
+pre.pygments .tok-mf { color: #AE81FF } /* Literal.Number.Float */
+pre.pygments .tok-mh { color: #AE81FF } /* Literal.Number.Hex */
+pre.pygments .tok-mi { color: #AE81FF } /* Literal.Number.Integer */
+pre.pygments .tok-mo { color: #AE81FF } /* Literal.Number.Oct */
+pre.pygments .tok-sa { color: #E6DB74 } /* Literal.String.Affix */
+pre.pygments .tok-sb { color: #E6DB74 } /* Literal.String.Backtick */
+pre.pygments .tok-sc { color: #E6DB74 } /* Literal.String.Char */
+pre.pygments .tok-dl { color: #E6DB74 } /* Literal.String.Delimiter */
+pre.pygments .tok-sd { color: #E6DB74 } /* Literal.String.Doc */
+pre.pygments .tok-s2 { color: #E6DB74 } /* Literal.String.Double */
+pre.pygments .tok-se { color: #AE81FF } /* Literal.String.Escape */
+pre.pygments .tok-sh { color: #E6DB74 } /* Literal.String.Heredoc */
+pre.pygments .tok-si { color: #E6DB74 } /* Literal.String.Interpol */
+pre.pygments .tok-sx { color: #E6DB74 } /* Literal.String.Other */
+pre.pygments .tok-sr { color: #E6DB74 } /* Literal.String.Regex */
+pre.pygments .tok-s1 { color: #E6DB74 } /* Literal.String.Single */
+pre.pygments .tok-ss { color: #E6DB74 } /* Literal.String.Symbol */
+pre.pygments .tok-bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */
+pre.pygments .tok-fm { color: #A6E22E } /* Name.Function.Magic */
+pre.pygments .tok-vc { color: #F8F8F2 } /* Name.Variable.Class */
+pre.pygments .tok-vg { color: #F8F8F2 } /* Name.Variable.Global */
+pre.pygments .tok-vi { color: #F8F8F2 } /* Name.Variable.Instance */
+pre.pygments .tok-vm { color: #F8F8F2 } /* Name.Variable.Magic */
+pre.pygments .tok-il { color: #AE81FF } /* Literal.Number.Integer.Long */
+</style>
<head>
<!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=DotGothic16"> -->
<!-- <link rel="icon" type="image/x-icon" href="https://raw.githubusercontent.com/A-Larsen/math-notes/refs/heads/main/favicon.png"> -->
</tr>
</tbody>
</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_side_pannel_applications">Side Pannel Applications</h2>
+<div class="sectionbody">
<div class="paragraph">
<p>Specific application are designed to be sidepannel application. These are
applications that will only launch on the far right side of your monitor. These
<img src="https://nyquistdev.net/git/?p=dwm-config.git;a=blob_plain;f=.images/rules-struct.png" alt="rules-struct">
</div>
</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>isSidePannel</code></dt>
+<dd>
+<p>Tells dwm if this is a sidepannel application.</p>
+</dd>
+<dt class="hdlist1"><code>isCentered</code></dt>
+<dd>
+<p>Tells dwm whether or not to center the application to the middle
+of the screen.</p>
+</dd>
+<dt class="hdlist1"><code>layout</code></dt>
+<dd>
+<p>Tells dwm if there is a layout to have the applicatoin launch in, you can
+have <code>NULL</code> to not specify.</p>
+</dd>
+<dt class="hdlist1"><code>switchto</code></dt>
+<dd>
+<p>Tells dwm if it should focus the application when it launches or launch it
+silently.</p>
+</dd>
+</dl>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_dependency_scripts">Dependency Scripts</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>There are several scripts that work with my DWM config. You can find these
+scripts here: <a href="https://nyquistdev.net/git/?p=ubuntu-rice.git;a=tree;f=usr-local-bin;h=HEAD">scripts</a>.</p>
+</div>
+<div class="paragraph">
+<p>Most of these scripts start with the 'dwm' prefix, for the exception of
+<code>facecam</code>, <code>brightness-launch</code>, <code>ffsrec-stop-recoding</code>, <code>wake-up</code>, <code>ffsrec</code>.
+That is because those applications can work independently of dwm.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="pygments highlight"><code data-lang="c"><span></span><span class="tok-cm">/* commands */</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-n">dmenumon</span><span class="tok-p">[</span><span class="tok-mi">2</span><span class="tok-p">]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-s">"0"</span><span class="tok-p">;</span><span class="tok-w"> </span><span class="tok-cm">/* component of dmenucmd, manipulated in spawn() */</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">dmenucmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"dmenu_run"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"-m"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">dmenumon</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"-fn"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">dmenufont</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"-nb"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">col_gray1</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"-nf"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">col_gray3</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"-sb"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">col_cyan</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"-sf"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-n">col_gray4</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">termcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"alacritty"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"--title"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"Alacritty"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">flameshotcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"flameshot"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"gui"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">suscmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"systemctl"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"suspend"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">volupcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm_volume_up"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">voldowncmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm_volume_down"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">volmutecmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm_volume_mute"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">mixercmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-term-toggle"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"pulsemixer"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">calc_mcw_cmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-speedcrunch-move"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"cw"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">calc_mccw_cmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-speedcrunch-move"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"ccw"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">facecamcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/facecam"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">cpucmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-term-toggle"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"htop"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">brightnesscmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/brightness-launch"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">ffsrecstartcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/ffsrec"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">ffsrecstopcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/ffsrec-stop-recording"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">wakeupcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/wake-up"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-s">"toggle"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">calendarcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-calendar"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">windowcontainercmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-window-container-toggle"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span>
+<span class="tok-k">static</span><span class="tok-w"> </span><span class="tok-k">const</span><span class="tok-w"> </span><span class="tok-kt">char</span><span class="tok-w"> </span><span class="tok-o">*</span><span class="tok-n">gotowindowcmd</span><span class="tok-p">[]</span><span class="tok-w"> </span><span class="tok-o">=</span><span class="tok-w"> </span><span class="tok-p">{</span><span class="tok-w"> </span><span class="tok-s">"/usr/local/bin/dwm-goto-window"</span><span class="tok-p">,</span><span class="tok-w"> </span><span class="tok-nb">NULL</span><span class="tok-w"> </span><span class="tok-p">};</span></code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_other_changes">Other changes</h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>each tag has a unique layout</p>
+</li>
+<li>
+<p>gaps for each application</p>
+</li>
+<li>
+<p>centered applicatoins</p>
+</li>
+</ul>
+</div>
</div>
</div>
</div>