mirror of
https://github.com/SqrtMinusOne/sqrtminusone.github.io.git
synced 2025-12-11 16:13:03 +03:00
2700 lines
354 KiB
HTML
2700 lines
354 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
|
|
<title>Desktop</title>
|
|
<meta name="description" content="Freedom is a state of mind">
|
|
<meta name="author" content='SqrtMinusOne'>
|
|
|
|
<link href="https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
|
|
|
|
|
|
<link rel="stylesheet" href="/sass/researcher.css">
|
|
|
|
|
|
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
<body><div class="container mt-5">
|
|
<nav class="navbar navbar-expand-sm flex-column flex-sm-row text-nowrap p-0">
|
|
<a class="navbar-brand mx-0 mr-sm-auto" href="https://sqrtminusone.xyz/">
|
|
|
|
SqrtMinusOne
|
|
</a>
|
|
<div class="navbar-nav flex-row flex-wrap justify-content-center">
|
|
|
|
|
|
|
|
<a class="nav-item nav-link" href="/">
|
|
Index
|
|
</a>
|
|
|
|
<span class="nav-item navbar-text mx-1">/</span>
|
|
|
|
|
|
<a class="nav-item nav-link" href="/posts/">
|
|
Posts
|
|
</a>
|
|
|
|
<span class="nav-item navbar-text mx-1">/</span>
|
|
|
|
|
|
<a class="nav-item nav-link" href="/configs/readme">
|
|
Configs
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
<hr>
|
|
<div id="content">
|
|
<div class="container">
|
|
<p>My general desktop environment configuration.</p>
|
|
<p>Parts prefixed with (OFF) are not used, but kept for historic purposes. For some reason GitHub’s org renderer ignores TODO status, hence such a prefix. Round brackets instead of square ones to prevent GitHub’s org renderer from screwing up.</p>
|
|
<div class="ox-hugo-toc toc">
|
|
<div></div>
|
|
<div class="heading">Table of Contents</div>
|
|
<ul>
|
|
<li><a href="#global-customization">Global customization</a>
|
|
<ul>
|
|
<li><a href="#colors">Colors</a></li>
|
|
<li><a href="#xresources">Xresources</a>
|
|
<ul>
|
|
<li><a href="#colors-in-xresources">Colors in Xresources</a></li>
|
|
<li><a href="#fonts">Fonts</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#themes">Themes</a></li>
|
|
<li><a href="#device-specific-settings">Device-specific settings</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#i3wm">i3wm</a>
|
|
<ul>
|
|
<li><a href="#general-settings">General settings</a></li>
|
|
<li><a href="#managing-windows">Managing windows</a></li>
|
|
<li><a href="#workspaces">Workspaces</a></li>
|
|
<li><a href="#rules">Rules</a></li>
|
|
<li><a href="#scratchpad">Scratchpad</a>
|
|
<ul>
|
|
<li><a href="#launch-script">Launch script</a></li>
|
|
<li><a href="#i3-config">i3 config</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#gaps-and-borders">Gaps & borders</a>
|
|
<ul>
|
|
<li><a href="#keybindings">Keybindings</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#move-and-resize-windows">Move & resize windows</a></li>
|
|
<li><a href="#off--intergration-with-dmenu"><span class="org-todo done OFF">OFF</span> (OFF) Intergration with dmenu</a></li>
|
|
<li><a href="#integration-with-rofi">Integration with rofi</a></li>
|
|
<li><a href="#launching-apps-and-misc-keybindings">Launching apps & misc keybindings</a>
|
|
<ul>
|
|
<li><a href="#apps">Apps</a></li>
|
|
<li><a href="#media-controls-and-brightness">Media controls & brightness</a></li>
|
|
<li><a href="#screenshots">Screenshots</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#colors">Colors</a></li>
|
|
<li><a href="#off--i3blocks"><span class="org-todo done OFF">OFF</span> (OFF) i3blocks</a></li>
|
|
<li><a href="#keyboard-layout">Keyboard Layout</a></li>
|
|
<li><a href="#autostart">Autostart</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#polybar">Polybar</a>
|
|
<ul>
|
|
<li><a href="#launching">Launching</a></li>
|
|
<li><a href="#general-settings">General settings</a>
|
|
<ul>
|
|
<li><a href="#colors">Colors</a></li>
|
|
<li><a href="#bar-config">Bar config</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#modules">Modules</a>
|
|
<ul>
|
|
<li><a href="#ipstack-vpn">ipstack-vpn</a></li>
|
|
<li><a href="#weather">weather</a></li>
|
|
<li><a href="#aw-afk">aw-afk</a></li>
|
|
<li><a href="#sun">sun</a></li>
|
|
<li><a href="#sep">SEP</a></li>
|
|
<li><a href="#tsep">TSEP</a></li>
|
|
<li><a href="#i3">i3</a></li>
|
|
<li><a href="#xkeyboard">xkeyboard</a></li>
|
|
<li><a href="#mpd">mpd</a></li>
|
|
<li><a href="#pulseaudio">pulseaudio</a></li>
|
|
<li><a href="#cpu">cpu</a></li>
|
|
<li><a href="#ram-memory">ram-memory</a></li>
|
|
<li><a href="#swap-memory">swap-memory</a></li>
|
|
<li><a href="#network">network</a></li>
|
|
<li><a href="#date">date</a></li>
|
|
<li><a href="#battery">battery</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#rofi">Rofi</a>
|
|
<ul>
|
|
<li><a href="#theme">Theme</a></li>
|
|
<li><a href="#scripts">Scripts</a>
|
|
<ul>
|
|
<li><a href="#buku-bookmarks">Buku bookmarks</a></li>
|
|
<li><a href="#man-pages">Man pages</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#flameshot">Flameshot</a></li>
|
|
<li><a href="#dunst">dunst</a></li>
|
|
<li><a href="#keynav">keynav</a>
|
|
<ul>
|
|
<li><a href="#config">Config</a></li>
|
|
<li><a href="#using-with-picom">Using with picom</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#picom">Picom</a>
|
|
<ul>
|
|
<li><a href="#shadows">Shadows</a></li>
|
|
<li><a href="#fading">Fading</a></li>
|
|
<li><a href="#opacity">Opacity</a></li>
|
|
<li><a href="#general-settings">General settings</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#zathura">Zathura</a></li>
|
|
<li><a href="#various-software">Various software</a>
|
|
<ul>
|
|
<li><a href="#browsers">Browsers</a></li>
|
|
<li><a href="#office">Office</a></li>
|
|
<li><a href="#latex">LaTeX</a></li>
|
|
<li><a href="#dev">Dev</a></li>
|
|
<li><a href="#manifests">Manifests</a></li>
|
|
<li><a href="#flatpak">Flatpak</a></li>
|
|
<li><a href="#nix">Nix</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#services">Services</a>
|
|
<ul>
|
|
<li><a href="#music">Music</a></li>
|
|
<li><a href="#gnu-mcron">GNU Mcron</a></li>
|
|
<li><a href="#activitywatch">ActivityWatch</a></li>
|
|
<li><a href="#pulseeffects">PulseEffects</a></li>
|
|
<li><a href="#xsettingsd">xsettingsd</a></li>
|
|
<li><a href="#discord-rich-presence">Discord rich presence</a></li>
|
|
<li><a href="#polkit-authentication-agent">Polkit Authentication agent</a></li>
|
|
<li><a href="#xmodmap">Xmodmap</a></li>
|
|
<li><a href="#vpn">VPN</a></li>
|
|
<li><a href="#davmail">Davmail</a></li>
|
|
<li><a href="#shepherd-config">Shepherd config</a></li>
|
|
<li><a href="#sync">Sync</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#guix-settings">Guix settings</a></li>
|
|
</ul>
|
|
</div>
|
|
<!--endtoc-->
|
|
<h2 id="global-customization">Global customization</h2>
|
|
<h3 id="colors">Colors</h3>
|
|
<p>Most of the colors are from the Palenight theme. Colorcodes are taken from <a href="https://github.com/JonathanSpeek/palenight-iterm2">this repo</a>:</p>
|
|
<p><a id="table--colors"></a></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>color</th>
|
|
<th>key</th>
|
|
<th>value</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>black</td>
|
|
<td>color0</td>
|
|
<td>#292d3e</td>
|
|
</tr>
|
|
<tr>
|
|
<td>red</td>
|
|
<td>color1</td>
|
|
<td>#f07178</td>
|
|
</tr>
|
|
<tr>
|
|
<td>green</td>
|
|
<td>color2</td>
|
|
<td>#c3e88d</td>
|
|
</tr>
|
|
<tr>
|
|
<td>yellow</td>
|
|
<td>color3</td>
|
|
<td>#ffcb6b</td>
|
|
</tr>
|
|
<tr>
|
|
<td>blue</td>
|
|
<td>color4</td>
|
|
<td>#82aaff</td>
|
|
</tr>
|
|
<tr>
|
|
<td>magenta</td>
|
|
<td>color5</td>
|
|
<td>#c792ea</td>
|
|
</tr>
|
|
<tr>
|
|
<td>cyan</td>
|
|
<td>color6</td>
|
|
<td>#89ddff</td>
|
|
</tr>
|
|
<tr>
|
|
<td>white</td>
|
|
<td>color7</td>
|
|
<td>#d0d0d0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-black</td>
|
|
<td>color8</td>
|
|
<td>#434758</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-red</td>
|
|
<td>color9</td>
|
|
<td>#ff8b92</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-green</td>
|
|
<td>color10</td>
|
|
<td>#ddffa7</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-yellow</td>
|
|
<td>color11</td>
|
|
<td>#ffe585</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-blue</td>
|
|
<td>color12</td>
|
|
<td>#9cc4ff</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-magenta</td>
|
|
<td>color13</td>
|
|
<td>#e1acff</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-cyan</td>
|
|
<td>color14</td>
|
|
<td>#a3f7ff</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light-white</td>
|
|
<td>color15</td>
|
|
<td>#ffffff</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>The table above is the only source of truth for colors in this config.</p>
|
|
<p>The first way to get colors of it is to use the following noweb:</p>
|
|
<p><a id="code-snippet--get-color"></a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(let ((color (seq-some (lambda (e) (and (string= name (<span style="color:#a6e22e">car</span> e)) (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">2</span> e))) table)))
|
|
(if (<span style="color:#a6e22e">></span> quote <span style="color:#ae81ff">0</span>)
|
|
(<span style="color:#a6e22e">concat</span> <span style="color:#e6db74">"\""</span> color <span style="color:#e6db74">"\""</span>)
|
|
color))
|
|
</code></pre></div><p>Also, run the following to disable configuration for noweb evaluations:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(setq-local org-confirm-babel-evaluate <span style="color:#66d9ef">nil</span>)
|
|
</code></pre></div><p>Test:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp"><<get-color(name=<span style="color:#e6db74">"red"</span><span style="color:#f92672">,</span> quote=1)>>
|
|
</code></pre></div><h3 id="xresources">Xresources</h3>
|
|
<h4 id="colors-in-xresources">Colors in Xresources</h4>
|
|
<p>However, I’d rather use the <code>Xresources</code> file wherever possible. Here is the code to generate an Xresources file from this table:</p>
|
|
<p><a id="code-snippet--get-xresources"></a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(<span style="color:#a6e22e">apply</span>
|
|
<span style="color:#a6e22e">#'concat</span>
|
|
(<span style="color:#a6e22e">mapcar</span>
|
|
(lambda (elem)
|
|
(<span style="color:#a6e22e">concat</span> <span style="color:#e6db74">"*"</span> (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">1</span> elem) <span style="color:#e6db74">": "</span> (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">2</span> elem) <span style="color:#e6db74">"\n"</span>))
|
|
(seq-filter
|
|
(lambda (elem) (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">1</span> elem))
|
|
table)))
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">xresources</span>()>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>*<span style="color:#a6e22e">background</span>: <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"black"</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>*<span style="color:#a6e22e">foreground</span>: <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"white"</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h4 id="fonts">Fonts</h4>
|
|
<p>Also, Xresources are used to set <code>Xft</code> settings. Unfortunately, the DPI setting has to be unique for each machine, which means I cannot commit <code>Xresources</code> to the repo.</p>
|
|
<p><a id="code-snippet--get-dpi"></a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(let ((hostname (<span style="color:#a6e22e">system-name</span>)))
|
|
(cond ((<span style="color:#a6e22e">string-equal</span> hostname <span style="color:#e6db74">"azure"</span>) <span style="color:#ae81ff">120</span>)
|
|
((<span style="color:#a6e22e">string-equal</span> hostname <span style="color:#e6db74">"eminence"</span>) <span style="color:#ae81ff">120</span>)
|
|
((<span style="color:#a6e22e">string-equal</span> hostname <span style="color:#e6db74">"indigo"</span>) <span style="color:#ae81ff">120</span>)
|
|
(<span style="color:#66d9ef">t</span> <span style="color:#ae81ff">96</span>)))
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">Xft</span>.<span style="color:#a6e22e">dpi</span>: <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">dpi</span>()>><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="themes">Themes</h3>
|
|
<p>A few programs I use to customize the apperance are listed below.</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>matcha-theme</td>
|
|
<td>My preferred GTK theme</td>
|
|
</tr>
|
|
<tr>
|
|
<td>papirus-icon-theme</td>
|
|
<td>My preferred Icon theme</td>
|
|
</tr>
|
|
<tr>
|
|
<td>xsettingsd</td>
|
|
<td>X11 settings daemon</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://github.com/derat/xsettingsd">xsettingsd</a> is a lightweight daemon which configures X11 applications. It is launched with shepherd in the <a href="#services">Services</a> section.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">Net</span>/<span style="color:#a6e22e">ThemeName</span> <span style="color:#e6db74">"Matcha-dark-azul"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Net</span>/<span style="color:#a6e22e">IconThemeName</span> <span style="color:#e6db74">"Papirus-Dark"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Gtk</span>/<span style="color:#a6e22e">DecorationLayout</span> <span style="color:#e6db74">"menu:minimize,maximize,close"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Gtk</span>/<span style="color:#a6e22e">FontName</span> <span style="color:#e6db74">"Sans 10"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Gtk</span>/<span style="color:#a6e22e">MonospaceFontName</span> <span style="color:#e6db74">"JetBrainsMono Nerd Mono 12"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Gtk</span>/<span style="color:#a6e22e">CursorThemeName</span> <span style="color:#e6db74">"Adwaita"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Xft</span>/<span style="color:#a6e22e">Antialias</span> <span style="color:#ae81ff">1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Xft</span>/<span style="color:#a6e22e">Hinting</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Xft</span>/<span style="color:#a6e22e">HintStyle</span> <span style="color:#e6db74">"hintnone"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="device-specific-settings">Device-specific settings</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>xrandr</td>
|
|
<td>X11 CLI to RandR</td>
|
|
</tr>
|
|
<tr>
|
|
<td>xgamma</td>
|
|
<td>A tool to alter monitor’s gamma correction</td>
|
|
</tr>
|
|
<tr>
|
|
<td>xinput</td>
|
|
<td>Configure input devices</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Set screen layout & other params depending on hostname</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">hostname<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>hostname<span style="color:#66d9ef">)</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">"</span>$hostname<span style="color:#e6db74">"</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"indigo"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
xrandr --output DisplayPort-0 --off --output HDMI-A-0 --mode 1920x1080 --pos 0x0 --rotate normal --output DVI-D-0 --mode 1920x1080 --pos 1920x0 --rotate normal
|
|
<span style="color:#66d9ef">elif</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">"</span>$hostname<span style="color:#e6db74">"</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"eminence"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
xgamma -gamma 1.25
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><h2 id="i3wm">i3wm</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
<th>Disabled</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>i3-gaps</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>i3lock</td>
|
|
<td>true</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><code>i3lock</code> is disabled because the global one has to be used.</p>
|
|
<p><a href="https://i3wm.org/">i3wm</a> is a manual tiling window manager, which is currently my window manager of choice. I’ve tried several alternatives, including <a href="https://xmonad.org/">xmonad</a> & <a href="https://github.com/ch11ng/exwm">EXWM</a>, but i3 seems to fit my workflow best.</p>
|
|
<p><a href="https://github.com/Airblader/i3">i3-gaps</a> is an i3 fork with a few features like window gaps. I like to enable inner gaps when there is at least one container in a workspace.</p>
|
|
<p>References:</p>
|
|
<ul>
|
|
<li><a href="https://i3wm.org/docs/">i3wm docs</a></li>
|
|
<li><a href="https://github.com/Airblader/i3/wiki">i3-gaps wiki</a></li>
|
|
</ul>
|
|
<h3 id="general-settings">General settings</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">mod</span> <span style="color:#a6e22e">Mod4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">font</span> <span style="color:#a6e22e">pango</span>:<span style="color:#a6e22e">monospace</span> <span style="color:#ae81ff">10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Use</span> <span style="color:#a6e22e">Mouse</span>+$<span style="color:#a6e22e">mod</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">drag</span> <span style="color:#a6e22e">floating</span> <span style="color:#a6e22e">windows</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">their</span> <span style="color:#a6e22e">wanted</span> <span style="color:#a6e22e">position</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">floating_modifier</span> $<span style="color:#a6e22e">mod</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Move</span> <span style="color:#a6e22e">cursor</span> <span style="color:#a6e22e">between</span> <span style="color:#a6e22e">monitors</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mouse_warping</span> <span style="color:#a6e22e">output</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Apply</span> <span style="color:#a6e22e">XFCE</span> <span style="color:#a6e22e">Settings</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">xfsettingsd</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">xiccd</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Set</span> <span style="color:#a6e22e">screen</span> <span style="color:#a6e22e">layout</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> ~<span style="color:#e6db74">/bin/</span><span style="color:#a6e22e">scripts</span>/<span style="color:#a6e22e">screen</span>-<span style="color:#a6e22e">layout</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Most</span> <span style="color:#a6e22e">needed</span> <span style="color:#a6e22e">keybindigs</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">reload</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">configuration</span> <span style="color:#a6e22e">file</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">c</span> <span style="color:#a6e22e">reload</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">restart</span> <span style="color:#a6e22e">i3</span> <span style="color:#a6e22e">inplace</span> (<span style="color:#a6e22e">preserves</span> <span style="color:#a6e22e">your</span> <span style="color:#a6e22e">layout</span>/<span style="color:#a6e22e">session</span>, <span style="color:#a6e22e">can</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">used</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">upgrade</span> <span style="color:#a6e22e">i3</span>)<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">r</span> <span style="color:#a6e22e">restart</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">exit</span> <span style="color:#a6e22e">i3</span> (<span style="color:#a6e22e">logs</span> <span style="color:#a6e22e">you</span> <span style="color:#a6e22e">out</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">your</span> <span style="color:#a6e22e">X</span> <span style="color:#a6e22e">session</span>)<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">e</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="managing-windows">Managing windows</h3>
|
|
<p>Some keybindings for managing windows.</p>
|
|
<p>Kill focused windows</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">q</span> <span style="color:#a6e22e">kill</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Change focus</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">h</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">j</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">k</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">l</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Move windows around</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">h</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">j</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">k</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">l</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Split windows</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">s</span> <span style="color:#a6e22e">split</span> <span style="color:#a6e22e">h</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">v</span> <span style="color:#a6e22e">split</span> <span style="color:#a6e22e">v</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Enter fullscreen mode</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">enter</span> <span style="color:#a6e22e">fullscreen</span> <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">focused</span> <span style="color:#a6e22e">container</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">f</span> <span style="color:#a6e22e">fullscreen</span> <span style="color:#a6e22e">toggle</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Changing layout</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">w</span> <span style="color:#a6e22e">layout</span> <span style="color:#a6e22e">stacking</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">t</span> <span style="color:#a6e22e">layout</span> <span style="color:#a6e22e">tabbed</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">e</span> <span style="color:#a6e22e">layout</span> <span style="color:#a6e22e">toggle</span> <span style="color:#a6e22e">split</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Toggle tiling/floating, switch between tiled and floating windows</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">f</span> <span style="color:#a6e22e">floating</span> <span style="color:#a6e22e">toggle</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">z</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">mode_toggle</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Switching outputs</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Tab</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">workspace</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">output</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">q</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">output</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Focus parent and child container</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">a</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">parent</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">A</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">child</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Toggle sticky</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">i</span> <span style="color:#a6e22e">sticky</span> <span style="color:#a6e22e">toggle</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><p>Set windows as floating and sticky, move to the top right.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">x</span> <span style="color:#a6e22e">floating</span> <span style="color:#a6e22e">enable</span>; <span style="color:#a6e22e">sticky</span> <span style="color:#a6e22e">enable</span>; <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">position</span> <span style="color:#ae81ff">1220</span> <span style="color:#ae81ff">0</span>; <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">700</span> <span style="color:#a6e22e">px</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="workspaces">Workspaces</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w1</span> <span style="color:#e6db74">"1 🚀"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w2</span> <span style="color:#e6db74">"2 🌍"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w3</span> <span style="color:#e6db74">"3 💬"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w4</span> <span style="color:#e6db74">"4 🛠️️"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w7</span> <span style="color:#e6db74">"7 🛰️"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w8</span> <span style="color:#e6db74">"8 📝"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w9</span> <span style="color:#e6db74">"9 🎵"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">w10</span> <span style="color:#e6db74">"10 📦"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">1</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">2</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w2</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">3</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">4</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">5</span> <span style="color:#a6e22e">workspace</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">6</span> <span style="color:#a6e22e">workspace</span> <span style="color:#ae81ff">6</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">7</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w7</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">8</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">9</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#ae81ff">0</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">focused</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">1</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">2</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w2</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">3</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">4</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">5</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">6</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> <span style="color:#ae81ff">6</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">7</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w7</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">8</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">9</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">0</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">container</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Cycle</span> <span style="color:#a6e22e">workspaces</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">comma</span> <span style="color:#a6e22e">workspace</span> <span style="color:#a6e22e">prev</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">period</span> <span style="color:#a6e22e">workspace</span> <span style="color:#a6e22e">next</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="rules">Rules</h3>
|
|
<p>Rules to automatically assign applications to workspaces and do other stuff, like enable floating.</p>
|
|
<p>Most apps can be distinguished by a WM class (you can get one with <a href="https://www.x.org/releases/X11R7.5/doc/man/man1/xprop.1.html">xprop</a>), but in some cases it doesn’t work, e.g. for terminal applications. In that case rules can be based on a window title, for instance.</p>
|
|
<p>However, watch out for the following: rule such as <code>for_window [title="ncmpcpp.*"] move to workspace $w9</code> will move <strong>any</strong> windows with a title, starting with <code>ncmpcpp</code> to workspace <code>$w9</code>, which, for instance, may move your browser there if you google “ncmpcpp”.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Emacs"</span>] $<span style="color:#a6e22e">w1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"qutebrowser"</span>] $<span style="color:#a6e22e">w2</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"firefox"</span>] $<span style="color:#a6e22e">w2</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"VK"</span>] $<span style="color:#a6e22e">w3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Slack"</span>] $<span style="color:#a6e22e">w3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"discord"</span>] $<span style="color:#a6e22e">w3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"TelegramDesktop"</span>] $<span style="color:#a6e22e">w3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Postman"</span>] $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Chromium-browse"</span>] $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"chromium"</span>] $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"google-chrome"</span>] $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">title</span>=<span style="color:#e6db74">"Vue Developer Tools"</span>] $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Google Play Music Desktop Player"</span>] $<span style="color:#a6e22e">w9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"jetbrains-datagrip"</span>] $<span style="color:#a6e22e">w4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"zoom"</span>] $<span style="color:#a6e22e">w7</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"skype"</span>] $<span style="color:#a6e22e">w7</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Mailspring"</span>] $<span style="color:#a6e22e">w8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Thunderbird"</span>] $<span style="color:#a6e22e">w8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"Joplin"</span>] $<span style="color:#a6e22e">w8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">assign</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"keepassxc"</span>] $<span style="color:#a6e22e">w10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">title</span>=<span style="color:#e6db74">"VirtScreen"</span>] <span style="color:#a6e22e">floating</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">title</span>=<span style="color:#e6db74">"ncmpcpp.*"</span>] <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">title</span>=<span style="color:#e6db74">"newsboat.*"</span>] <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">title</span>=<span style="color:#e6db74">".*run_wego"</span>] <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">workspace</span> $<span style="color:#a6e22e">w9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">"cinnamon-settings*"</span>] <span style="color:#a6e22e">floating</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">title</span>=<span style="color:#e6db74">"Picture-in-Picture"</span>] <span style="color:#a6e22e">sticky</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">window_role</span>=<span style="color:#e6db74">"GtkFileChooserDialog"</span>] <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">1000</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">800</span> <span style="color:#a6e22e">px</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">window_role</span>=<span style="color:#e6db74">"GtkFileChooserDialog"</span>] <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">position</span> <span style="color:#a6e22e">center</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="scratchpad">Scratchpad</h3>
|
|
<p>Scratch terminal, inspired by <a href="https://www.youtube.com/watch?v=q-l7DnDbiiU">this Luke Smith’s video</a>.</p>
|
|
<h4 id="launch-script">Launch script</h4>
|
|
<p>First of all, we have to distinguish a scratchpad terminal from a normal one. To do that, one can create st with a required classname.</p>
|
|
<p>Then, it would be cool not to duplicate scratchpads, so the following script first looks for a window with a created classname. If it exists, the script just toggles the scratchpad visibility. Otherwise, a new instance of a window is created.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">CLASSNAME<span style="color:#f92672">=</span><span style="color:#e6db74">"dropdown_tmux"</span>
|
|
COMMAND<span style="color:#f92672">=</span><span style="color:#e6db74">"alacritty --class </span>$CLASSNAME<span style="color:#e6db74"> -e tmux new-session -s </span>$CLASSNAME<span style="color:#e6db74">"</span>
|
|
pid<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>xdotool search --classname <span style="color:#e6db74">"dropdown_tmux"</span><span style="color:#66d9ef">)</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> ! -z $pid <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
i3-msg scratchpad show
|
|
<span style="color:#66d9ef">else</span>
|
|
setsid -f <span style="color:#e6db74">${</span>COMMAND<span style="color:#e6db74">}</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><h4 id="i3-config">i3 config</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Scratchpad</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">instance</span>=<span style="color:#e6db74">"dropdown_*"</span>] <span style="color:#a6e22e">floating</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">instance</span>=<span style="color:#e6db74">"dropdown_*"</span>] <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">scratchpad</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">instance</span>=<span style="color:#e6db74">"dropdown_*"</span>] <span style="color:#a6e22e">sticky</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">instance</span>=<span style="color:#e6db74">"dropdown_*"</span>] <span style="color:#a6e22e">scratchpad</span> <span style="color:#a6e22e">show</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">instance</span>=<span style="color:#e6db74">"dropdown_*"</span>] <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">position</span> <span style="color:#a6e22e">center</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">u</span> <span style="color:#a6e22e">exec</span> ~<span style="color:#e6db74">/bin/</span><span style="color:#a6e22e">scripts</span>/<span style="color:#a6e22e">dropdown</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="gaps-and-borders">Gaps & borders</h3>
|
|
<p>The main reason to use i3-gaps</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Borders</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">for_window</span> [<span style="color:#a6e22e">class</span>=<span style="color:#e6db74">".*"</span>] <span style="color:#a6e22e">border</span> <span style="color:#a6e22e">pixel</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">default_border</span> <span style="color:#a6e22e">pixel</span> <span style="color:#ae81ff">3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">hide_edge_borders</span> <span style="color:#a6e22e">both</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Gaps</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">default_inner</span> <span style="color:#ae81ff">10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">default_outer</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> $<span style="color:#a6e22e">default_inner</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> $<span style="color:#a6e22e">default_outer</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">smart_gaps</span> <span style="color:#a6e22e">on</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h4 id="keybindings">Keybindings</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"inner gaps"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">plus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">plus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">minus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">minus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">plus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">plus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">minus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">minus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#ae81ff">0</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">set</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">0</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">set</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">r</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">default_inner</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">r</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">inner</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">default_inner</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"outer gaps"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">plus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">plus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">minus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">minus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">plus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">plus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">minus</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">minus</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#ae81ff">0</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">set</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#ae81ff">0</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">set</span> <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">r</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">default_outer</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">r</span> <span style="color:#a6e22e">gaps</span> <span style="color:#a6e22e">outer</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">set</span> $<span style="color:#a6e22e">default_outer</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">g</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"inner gaps"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">g</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"outer gaps"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="move-and-resize-windows">Move & resize windows</h3>
|
|
<p>A more or less standard set of keybindings to move & resize floating windows.</p>
|
|
<p>Just be careful to always make a way to return from these new modes, otherwise, you’d end up in a rather precarious position.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">window</span> (<span style="color:#a6e22e">you</span> <span style="color:#a6e22e">can</span> <span style="color:#a6e22e">also</span> <span style="color:#a6e22e">use</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">mouse</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">that</span>)<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"resize"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">These</span> <span style="color:#a6e22e">bindings</span> <span style="color:#a6e22e">trigger</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">soon</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">you</span> <span style="color:#a6e22e">enter</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">mode</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">h</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">j</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">k</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">l</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">h</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">j</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">k</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">l</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">same</span> <span style="color:#a6e22e">bindings</span>, <span style="color:#a6e22e">but</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">arrow</span> <span style="color:#a6e22e">keys</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">10</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">shrink</span> <span style="color:#a6e22e">height</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">resize</span> <span style="color:#a6e22e">grow</span> <span style="color:#a6e22e">width</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">px</span> <span style="color:#a6e22e">or</span> <span style="color:#ae81ff">100</span> <span style="color:#a6e22e">ppt</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">back</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">normal</span>: <span style="color:#a6e22e">Enter</span> <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">Escape</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">r</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"resize"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"move"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Tab</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">h</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">j</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">k</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">l</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">back</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">normal</span>: <span style="color:#a6e22e">Enter</span> <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">Escape</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">m</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"move"</span> <span style="color:#a6e22e">focus</span> <span style="color:#a6e22e">floating</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="off--intergration-with-dmenu"><span class="org-todo done OFF">OFF</span> (OFF) Intergration with dmenu</h3>
|
|
<p><a href="https://tools.suckless.org/dmenu/">dmenu</a> is a dynamic menu program for X. I’ve opted out of using it in favour of rofi, but here is a relevant bit of config.</p>
|
|
<p>Scripts are located in the <code>bin/scripts</code> folder.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">dmenu</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">d</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">i3</span>-<span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">desktop</span> --<span style="color:#a6e22e">dmenu</span>=<span style="color:#e6db74">"dmenu -l 10"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">apostrophe</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"dmenu"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"dmenu"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">d</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">i3</span>-<span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">desktop</span> --<span style="color:#a6e22e">dmenu</span>=<span style="color:#e6db74">"dmenu -l 10"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">p</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">dmenu_run</span> -<span style="color:#a6e22e">l</span> <span style="color:#ae81ff">10</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">m</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">man</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">b</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">buku</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">f</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">explore</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">t</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">tmuxp</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">b</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">buku</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="integration-with-rofi">Integration with rofi</h3>
|
|
<p>Keybindings to launch <a href="https://github.com/davatorium/rofi">rofi</a>. For more detail, look the <a href="#rofi">Rofi</a> section.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">d</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"rofi -modi 'drun,run' -show drun"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">b</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#a6e22e">rofi</span>-<span style="color:#a6e22e">buku</span>-<span style="color:#a6e22e">mine</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">apostrophe</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"rofi"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"rofi"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">d</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"rofi -modi 'drun,run' -show drun"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">m</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">rofi</span>-<span style="color:#a6e22e">man</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">b</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">rofi</span>-<span style="color:#a6e22e">buku</span>-<span style="color:#a6e22e">mine</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">k</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">rofi</span>-<span style="color:#a6e22e">keepassxc</span> -<span style="color:#a6e22e">d</span> ~<span style="color:#e6db74">/MEGAsync/</span><span style="color:#a6e22e">Passwords</span>.<span style="color:#a6e22e">kdbx</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="launching-apps-and-misc-keybindings">Launching apps & misc keybindings</h3>
|
|
<p>I prefer to use a separate mode to launch most of my apps, with some exceptions.</p>
|
|
<h4 id="apps">Apps</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Launch</span> <span style="color:#a6e22e">apps</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">start</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">terminal</span> <span style="color:#a6e22e">at</span> <span style="color:#a6e22e">workspace</span> <span style="color:#ae81ff">1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"i3-msg 'workspace 1 🚀; exec alacritty'"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">p</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"copyq menu"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">x</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"i3lock -f -i /home/pavel/Pictures/lock-wallpaper.png"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">semicolon</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"apps"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"apps"</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">mode</span> <span style="color:#e6db74">"default"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">b</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">firefox</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">v</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">vk</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">s</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">slack</span>-<span style="color:#a6e22e">wrapper</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span>;<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">d</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"flatpak run com.discordapp.Discord"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span>;<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">m</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"alacritty -e ncmpcpp"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">c</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"copyq toggle"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">k</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"keepassxc"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">e</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">mailspring</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">emacs</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">n</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"alacritty -e newsboat"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">w</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"alacritty /home/pavel/bin/scripts/run_wego"</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">emacsclient</span> -<span style="color:#a6e22e">c</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">a</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">emacs</span>; <span style="color:#a6e22e">mode</span> <span style="color:#a6e22e">default</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h4 id="media-controls-and-brightness">Media controls & brightness</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Pulse</span> <span style="color:#a6e22e">Audio</span> <span style="color:#a6e22e">controls</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioRaiseVolume</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">"ponymix increase 5 --max-volume 150"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioLowerVolume</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">"ponymix decrease 5 --max-volume 150"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioMute</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">"ponymix toggle"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#a6e22e">xmodmap</span> -<span style="color:#a6e22e">e</span> <span style="color:#e6db74">'keycode 135 = Super_R'</span> && <span style="color:#a6e22e">xset</span> -<span style="color:#a6e22e">r</span> <span style="color:#ae81ff">135</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">F2</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">"ponymix increase 5"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">F3</span> <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">"ponymix decrease 5"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Media</span> <span style="color:#a6e22e">player</span> <span style="color:#a6e22e">controls</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioPlay</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">mpc</span> <span style="color:#a6e22e">toggle</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioPause</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">mpc</span> <span style="color:#a6e22e">pause</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioNext</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">mpc</span> <span style="color:#a6e22e">next</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86AudioPrev</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">mpc</span> <span style="color:#a6e22e">prev</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Screen</span> <span style="color:#a6e22e">brightness</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86MonBrightnessUp</span> <span style="color:#a6e22e">exec</span> light -<span style="color:#a6e22e">A</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> <span style="color:#a6e22e">XF86MonBrightnessDown</span> <span style="color:#a6e22e">exec</span> light -<span style="color:#a6e22e">U</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h4 id="screenshots">Screenshots</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Screenshots</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> --<span style="color:#a6e22e">release</span> <span style="color:#a6e22e">Print</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"flameshot gui"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> --<span style="color:#a6e22e">release</span> <span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Print</span> <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"xfce4-screenshooter"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="colors">Colors</h3>
|
|
<p>Application of the XResources theme to the WM.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">xrdb</span> -<span style="color:#a6e22e">merge</span> $<span style="color:#a6e22e">HOME</span>/.<span style="color:#a6e22e">Xresources</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Colors</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">background</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">active</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">color4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">color8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">foreground</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">color7</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">color1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set_from_resource</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> <span style="color:#a6e22e">color0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">window</span> <span style="color:#a6e22e">colors</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">border</span> <span style="color:#a6e22e">background</span> <span style="color:#a6e22e">text</span> <span style="color:#a6e22e">indicator</span> <span style="color:#a6e22e">child</span> <span style="color:#a6e22e">border</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">focused</span> $<span style="color:#a6e22e">active</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">active</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">unfocused</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">focused_inactive</span> $<span style="color:#a6e22e">active</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">client</span>.<span style="color:#a6e22e">urgent</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="off--i3blocks"><span class="org-todo done OFF">OFF</span> (OFF) i3blocks</h3>
|
|
<p>I’ve opted out of i3bar & <a href="https://github.com/vivien/i3blocks">i3blocks</a> for <a href="https://github.com/polybar/polybar">polybar</a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">bar</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">status_command</span> <span style="color:#a6e22e">i3blocks</span> -<span style="color:#a6e22e">c</span> ~<span style="color:#e6db74">/.config/</span><span style="color:#a6e22e">i3</span>/<span style="color:#a6e22e">i3blocks</span>.<span style="color:#a6e22e">conf</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">i3bar_command</span> <span style="color:#a6e22e">i3bar</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">font</span> <span style="color:#a6e22e">pango</span>:<span style="color:#a6e22e">monospace</span> <span style="color:#ae81ff">12</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">output</span> <span style="color:#a6e22e">HDMI</span>-<span style="color:#a6e22e">A</span><span style="color:#ae81ff">-0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">tray_output</span> <span style="color:#a6e22e">none</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">colors</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">background</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">separator</span> <span style="color:#ae81ff">#757575</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">border</span> <span style="color:#a6e22e">background</span> <span style="color:#a6e22e">text</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">focused_workspace</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">inactive_workspace</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">urgent_workspace</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> }<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bar</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">status_command</span> <span style="color:#a6e22e">i3blocks</span> -<span style="color:#a6e22e">c</span> ~<span style="color:#e6db74">/.config/</span><span style="color:#a6e22e">i3</span>/<span style="color:#a6e22e">i3blocks</span>.<span style="color:#a6e22e">conf</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">i3bar_command</span> <span style="color:#a6e22e">i3bar</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">font</span> <span style="color:#a6e22e">pango</span>:<span style="color:#a6e22e">monospace</span> <span style="color:#ae81ff">10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">output</span> <span style="color:#a6e22e">DVI</span>-<span style="color:#a6e22e">D</span><span style="color:#ae81ff">-0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">colors</span> {<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">background</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">separator</span> <span style="color:#ae81ff">#757575</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">border</span> <span style="color:#a6e22e">background</span> <span style="color:#a6e22e">text</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">focused_workspace</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">inactive_workspace</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">inactive</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">urgent_workspace</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">bg</span>-<span style="color:#a6e22e">color</span> $<span style="color:#a6e22e">urgent</span>-<span style="color:#a6e22e">text</span>-<span style="color:#a6e22e">color</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> }<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>}<span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="keyboard-layout">Keyboard Layout</h3>
|
|
<p>A script to set Russian-English keyboard layout:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">setxkbmap -layout us,ru
|
|
setxkbmap -model pc105 -option <span style="color:#e6db74">'grp:win_space_toggle'</span> -option <span style="color:#e6db74">'grp:alt_shift_toggle'</span>
|
|
</code></pre></div><p>A script to toggle the layout</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#66d9ef">if</span> setxkbmap -query | grep -q us,ru; <span style="color:#66d9ef">then</span>
|
|
setxkbmap -layout us
|
|
setxkbmap -option
|
|
<span style="color:#66d9ef">else</span>
|
|
setxkbmap -layout us,ru
|
|
setxkbmap -model pc105 -option <span style="color:#e6db74">'grp:win_space_toggle'</span> -option <span style="color:#e6db74">'grp:alt_shift_toggle'</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><p>And the relevant i3 settings:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Layout</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec_always</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#a6e22e">set_layout</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">bindsym</span> $<span style="color:#a6e22e">mod</span>+<span style="color:#a6e22e">slash</span> <span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">toggle_layout</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="autostart">Autostart</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">Polybar</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec_always</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">"bash /home/pavel/bin/polybar.sh"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Wallpaper</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec_always</span> <span style="color:#e6db74">"feh --bg-fill ~/Pictures/wallpaper.jpg"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Picom</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">picom</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Keynav</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">keynav</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Applets</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#a6e22e">nm</span>-<span style="color:#a6e22e">applet</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">exec</span> --<span style="color:#a6e22e">no</span>-<span style="color:#a6e22e">startup</span>-<span style="color:#a6e22e">id</span> <span style="color:#e6db74">/usr/</span><span style="color:#a6e22e">bin</span>/<span style="color:#a6e22e">blueman</span>-<span style="color:#a6e22e">applet</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">shepherd</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">dunst</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> <span style="color:#a6e22e">copyq</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"xmodmap ~/.Xmodmap"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"xrdb -merge ~/.Xresources"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">exec</span> <span style="color:#e6db74">"bash ~/bin/autostart.sh"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h2 id="polybar">Polybar</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>polybar</td>
|
|
<td>statusbar</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://github.com/polybar/polybar">Polybar</a> is a nice-looking, WM-agnostic statusbar program.</p>
|
|
<p>I switched to polybar because I wanted to try out some WMs other than i3, but decided to stick with i3 for now.</p>
|
|
<p>Don’t forget to install the Google Noto Color Emoji font. Guix package with all Noto fonts is way too large.</p>
|
|
<p>References:</p>
|
|
<ul>
|
|
<li><a href="https://github.com/polybar/polybar/wiki">polybar docs</a></li>
|
|
</ul>
|
|
<h3 id="launching">Launching</h3>
|
|
<p>The script below allows me to:</p>
|
|
<ul>
|
|
<li>have different blocks on my two different-sized monitors and my laptop;</li>
|
|
<li>have different settings on my desktop PC and laptop;</li>
|
|
</ul>
|
|
<!--listend-->
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">hostname<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>hostname<span style="color:#66d9ef">)</span>
|
|
<span style="color:#75715e"># Settings varying on the hostname</span>
|
|
export WLAN_INTERFACE<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>nmcli -f DEVICE con show | grep -Ev <span style="color:#e6db74">"(.*docker.*|DEVICE|br.*|tun.*|--)"</span> | xargs<span style="color:#66d9ef">)</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">"</span>$hostname<span style="color:#e6db74">"</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"azure"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
TRAY_MONITOR<span style="color:#f92672">=</span><span style="color:#e6db74">"eDP-1"</span>
|
|
<span style="color:#75715e"># export WLAN_INTERFACE="wlp3s0"</span>
|
|
<span style="color:#66d9ef">elif</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">"</span>$hostname<span style="color:#e6db74">"</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"eminence"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
TRAY_MONITOR<span style="color:#f92672">=</span><span style="color:#e6db74">"eDP"</span>
|
|
<span style="color:#75715e"># export WLAN_INTERFACE="wlo1"</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
TRAY_MONITOR<span style="color:#f92672">=</span><span style="color:#e6db74">"HDMI-A-0"</span>
|
|
<span style="color:#75715e"># export WLAN_INTERFACE="wlp35s0f3u2"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
|
|
<span style="color:#75715e"># Setting varying on the monitor</span>
|
|
declare -A FONT_SIZES<span style="color:#f92672">=(</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"13"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP-1"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"13"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"DVI-D-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"13"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"HDMI-A-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"13"</span>
|
|
<span style="color:#f92672">)</span>
|
|
declare -A EMOJI_SCALE<span style="color:#f92672">=(</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"9"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP-1"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"9"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"DVI-D-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"10"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"HDMI-A-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"10"</span>
|
|
<span style="color:#f92672">)</span>
|
|
declare -A BAR_HEIGHT<span style="color:#f92672">=(</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"29"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP-1"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"29"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"DVI-D-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"29"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"HDMI-A-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"29"</span>
|
|
<span style="color:#f92672">)</span>
|
|
declare -A BLOCKS<span style="color:#f92672">=(</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"pulseaudio mpd SEP cpu ram-memory swap-memory SEP network ipstack-vpn SEP xkeyboard SEP battery SEP sun aw-afk date TSEP"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"eDP-1"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"pulseaudio mpd SEP cpu ram-memory swap-memory SEP network ipstack-vpn SEP xkeyboard SEP battery SEP sun aw-afk date TSEP"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"DVI-D-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"pulseaudio mpd SEP cpu ram-memory swap-memory SEP network ipstack-vpn SEP xkeyboard SEP weather SEP sun aw-afk date TSEP"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"HDMI-A-0"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"pulseaudio mpd SEP cpu ram-memory swap-memory SEP network ipstack-vpn SEP xkeyboard SEP weather SEP sun aw-afk date TSEP"</span>
|
|
<span style="color:#f92672">)</span>
|
|
|
|
<span style="color:#75715e"># Geolocation for some modules</span>
|
|
export LOC<span style="color:#f92672">=</span><span style="color:#e6db74">"SPB"</span>
|
|
|
|
export IPSTACK_API_KEY<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>pass show My_Online/APIs/ipstack | head -n 1<span style="color:#66d9ef">)</span>
|
|
|
|
pkill polybar
|
|
<span style="color:#66d9ef">for</span> m in <span style="color:#66d9ef">$(</span>xrandr --query | grep <span style="color:#e6db74">" connected"</span> | cut -d<span style="color:#e6db74">" "</span> -f1<span style="color:#66d9ef">)</span>; <span style="color:#66d9ef">do</span>
|
|
export MONITOR<span style="color:#f92672">=</span>$m
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">"</span>$MONITOR<span style="color:#e6db74">"</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"</span>$TRAY_MONITOR<span style="color:#e6db74">"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
export TRAY<span style="color:#f92672">=</span><span style="color:#e6db74">"right"</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
export TRAY<span style="color:#f92672">=</span><span style="color:#e6db74">"none"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
SIZE<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>FONT_SIZES[$MONITOR]<span style="color:#e6db74">}</span>
|
|
SCALE<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>EMOJI_SCALE[$MONITOR]<span style="color:#e6db74">}</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> -z <span style="color:#e6db74">"</span>$SCALE<span style="color:#e6db74">"</span> <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
<span style="color:#66d9ef">continue</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
export FONT0<span style="color:#f92672">=</span><span style="color:#e6db74">"pango:monospace:size=</span>$SIZE<span style="color:#e6db74">;1"</span>
|
|
export FONT1<span style="color:#f92672">=</span><span style="color:#e6db74">"NotoEmoji:scale=</span>$SCALE<span style="color:#e6db74">:antialias=false;1"</span>
|
|
export FONT2<span style="color:#f92672">=</span><span style="color:#e6db74">"fontawesome:pixelsize=</span>$SIZE<span style="color:#e6db74">;1"</span>
|
|
export FONT3<span style="color:#f92672">=</span><span style="color:#e6db74">"JetBrains Mono Nerd Font:monospace:size=</span>$SIZE<span style="color:#e6db74">;1"</span>
|
|
export HEIGHT<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>BAR_HEIGHT[$MONITOR]<span style="color:#e6db74">}</span>
|
|
export RIGHT_BLOCKS<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>BLOCKS[$MONITOR]<span style="color:#e6db74">}</span>
|
|
polybar mybar &
|
|
<span style="color:#66d9ef">done</span>
|
|
</code></pre></div><h3 id="general-settings">General settings</h3>
|
|
<h4 id="colors">Colors</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[colors]</span>
|
|
<span style="color:#75715e">; Palenight colorscheme https://github.com/JonathanSpeek/palenight-iterm2</span>
|
|
<span style="color:#a6e22e">black</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color0}</span>
|
|
<span style="color:#a6e22e">red</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color1}</span>
|
|
<span style="color:#a6e22e">green</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color2}</span>
|
|
<span style="color:#a6e22e">yellow</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color3}</span>
|
|
<span style="color:#a6e22e">blue</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color4}</span>
|
|
<span style="color:#a6e22e">magenta</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color5}</span>
|
|
<span style="color:#a6e22e">cyan</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color6}</span>
|
|
<span style="color:#a6e22e">white</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color7}</span>
|
|
|
|
<span style="color:#a6e22e">black-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color8}</span>
|
|
<span style="color:#a6e22e">red-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color9}</span>
|
|
<span style="color:#a6e22e">green-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color10}</span>
|
|
<span style="color:#a6e22e">yellow-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color11}</span>
|
|
<span style="color:#a6e22e">blue-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color12}</span>
|
|
<span style="color:#a6e22e">magenta-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color13}</span>
|
|
<span style="color:#a6e22e">cyan-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color14}</span>
|
|
<span style="color:#a6e22e">white-lighter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:color15}</span>
|
|
|
|
<span style="color:#a6e22e">background</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:background}</span>
|
|
<span style="color:#a6e22e">foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${xrdb:foreground}</span>
|
|
</code></pre></div><h4 id="bar-config">Bar config</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[bar/mybar]</span>
|
|
<span style="color:#a6e22e">monitor</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:MONITOR:}</span>
|
|
<span style="color:#a6e22e">width</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">100%</span>
|
|
<span style="color:#a6e22e">height</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:HEIGHT:27}</span>
|
|
<span style="color:#a6e22e">offset-x</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">offset-y</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">radius</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0.0</span>
|
|
<span style="color:#a6e22e">fixed-center</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">false</span>
|
|
<span style="color:#a6e22e">bottom</span><span style="color:#f92672">=</span><span style="color:#e6db74">true</span>
|
|
|
|
<span style="color:#a6e22e">background</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.background}</span>
|
|
<span style="color:#a6e22e">foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.foreground}</span>
|
|
|
|
<span style="color:#a6e22e">line-size</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">3</span>
|
|
<span style="color:#a6e22e">line-color</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">#f00</span>
|
|
|
|
<span style="color:#a6e22e">padding-left</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">padding-right</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
|
|
<span style="color:#a6e22e">module-margin-left</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
<span style="color:#a6e22e">module-margin-right</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
|
|
<span style="color:#a6e22e">font-0</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:FONT0:pango:monospace:size=10;1}</span>
|
|
<span style="color:#a6e22e">font-1</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:FONT1:NotoEmoji:scale=10:antialias=false;0}</span>
|
|
<span style="color:#a6e22e">font-2</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:FONT2:fontawesome:pixelsize=10;1}</span>
|
|
<span style="color:#a6e22e">font-3</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:FONT3:JetBrains Mono Nerd Font:monospace:size=10;1}</span>
|
|
|
|
<span style="color:#a6e22e">modules-left</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">i3</span>
|
|
<span style="color:#75715e">; modules-center = test</span>
|
|
<span style="color:#a6e22e">modules-right</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:RIGHT_BLOCKS}</span>
|
|
|
|
<span style="color:#a6e22e">tray-position</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:TRAY:right}</span>
|
|
<span style="color:#a6e22e">tray-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">tray-maxsize</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">16</span>
|
|
<span style="color:#75715e">;tray-background = #0063ff</span>
|
|
|
|
<span style="color:#a6e22e">wm-restack</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">i3</span>
|
|
<span style="color:#75715e">; override-redirect = true</span>
|
|
|
|
<span style="color:#a6e22e">scroll-up</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">i3wm-wsnext</span>
|
|
<span style="color:#a6e22e">scroll-down</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">i3wm-wsprev</span>
|
|
|
|
<span style="color:#75715e">; cursor-click = pointer</span>
|
|
<span style="color:#75715e">; cursor-scroll = ns-resize</span>
|
|
|
|
<span style="color:#66d9ef">[settings]</span>
|
|
<span style="color:#a6e22e">screenchange-reload</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
<span style="color:#75715e">;compositing-background = xor</span>
|
|
<span style="color:#75715e">;compositing-background = screen</span>
|
|
<span style="color:#75715e">;compositing-foreground = source</span>
|
|
<span style="color:#75715e">;compositing-border = over</span>
|
|
<span style="color:#75715e">;pseudo-transparency = false</span>
|
|
|
|
<span style="color:#66d9ef">[global/wm]</span>
|
|
<span style="color:#a6e22e">margin-top</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">margin-bottom</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
</code></pre></div><h3 id="modules">Modules</h3>
|
|
<p>Some of the custom modules below use Org mode noweb to evaluate colors, because it’s faster than querying <code>xrdb</code> at runtime. I wish I could reference polybar values there, but <a href="https://github.com/polybar/polybar/issues/615">it looks like this is impossible</a>.</p>
|
|
<p>If you want to copy something, you can go to the <a href="bin/polybar/">bin/polybar</a> folder.</p>
|
|
<h4 id="ipstack-vpn">ipstack-vpn</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>bind:utils</td>
|
|
<td>Provides dig</td>
|
|
</tr>
|
|
<tr>
|
|
<td>curl</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>jq</td>
|
|
<td>util to work with JSONs</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>A module to get a country of the current IP and openvpn status. Uses <a href="https://ipstack.com/">ipstack</a> API.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">ip<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>dig +short +timeout<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> myip.opendns.com @resolver1.opendns.com 2> /dev/null<span style="color:#66d9ef">)</span>
|
|
<span style="color:#75715e"># API_KEY="$(pass show My_Online/APIs/ipstack | head -n 1)"</span>
|
|
API_KEY<span style="color:#f92672">=</span>$IPSTACK_API_KEY
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> -z $ip <span style="color:#f92672">||</span> $ip <span style="color:#f92672">==</span> *<span style="color:#e6db74">"timed out"</span>* <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>red<span style="color:#e6db74">")>>}%{+u} ?? %{u-}"</span>
|
|
exit
|
|
<span style="color:#66d9ef">fi</span>
|
|
ip_info<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>curl -s http://api.ipstack.com/<span style="color:#e6db74">${</span>ip<span style="color:#e6db74">}</span>?access_key<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>API_KEY<span style="color:#e6db74">}</span><span style="color:#66d9ef">)</span>
|
|
<span style="color:#75715e"># emoji=$(echo $ip_info | jq -r '.location.country_flag_emoji')</span>
|
|
code<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>echo $ip_info | jq -r <span style="color:#e6db74">'.country_code'</span><span style="color:#66d9ef">)</span>
|
|
vpn<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>pgrep -a openvpn$ | head -n <span style="color:#ae81ff">1</span> | awk <span style="color:#e6db74">'{print $NF }'</span> | cut -d <span style="color:#e6db74">'.'</span> -f 1<span style="color:#66d9ef">)</span>
|
|
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> -n <span style="color:#e6db74">"</span>$vpn<span style="color:#e6db74">"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>blue<span style="color:#e6db74">")>>}%{+u} </span>$code<span style="color:#e6db74"> %{u-}"</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>red<span style="color:#e6db74">")>>}%{+u} </span>$code<span style="color:#e6db74"> %{u-}"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/ipstack-vpn]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">custom/script</span>
|
|
<span style="color:#a6e22e">exec</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">/home/pavel/bin/polybar/ipstack-vpn.sh</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1200</span>
|
|
</code></pre></div><h4 id="weather">weather</h4>
|
|
<p>Gets current weather from <a href="http://wttr.in/">wttr.in</a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">bar_format<span style="color:#f92672">=</span><span style="color:#e6db74">"</span><span style="color:#e6db74">${</span>BAR_FORMAT<span style="color:#66d9ef">:-</span><span style="color:#e6db74">"%t"</span><span style="color:#e6db74">}</span><span style="color:#e6db74">"</span>
|
|
location<span style="color:#f92672">=</span><span style="color:#e6db74">"</span><span style="color:#e6db74">${</span>LOCATION<span style="color:#66d9ef">:-</span><span style="color:#e6db74">"Saint-Petersburg"</span><span style="color:#e6db74">}</span><span style="color:#e6db74">"</span>
|
|
format_1<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>FORMAT_1<span style="color:#66d9ef">:-</span><span style="color:#e6db74">"qF"</span><span style="color:#e6db74">}</span>
|
|
format_2<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>FORMAT_1<span style="color:#66d9ef">:-</span><span style="color:#e6db74">"format=v2n"</span><span style="color:#e6db74">}</span>
|
|
|
|
bar_weather<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>curl -s wttr.in/<span style="color:#e6db74">${</span>location<span style="color:#e6db74">}</span>?format<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>bar_format<span style="color:#e6db74">}</span> <span style="color:#f92672">||</span> echo <span style="color:#e6db74">"??"</span><span style="color:#66d9ef">)</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> -z <span style="color:#e6db74">"</span>$bar_weather<span style="color:#e6db74">"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
exit <span style="color:#ae81ff">1</span>
|
|
<span style="color:#66d9ef">elif</span> <span style="color:#f92672">[[</span> <span style="color:#e6db74">"</span>$bar_weather<span style="color:#e6db74">"</span> <span style="color:#f92672">==</span> *<span style="color:#e6db74">"Unknown"</span>* <span style="color:#f92672">||</span> <span style="color:#e6db74">"</span>$bar_weather<span style="color:#e6db74">"</span> <span style="color:#f92672">==</span> *<span style="color:#e6db74">"Sorry"</span>* <span style="color:#f92672">||</span> <span style="color:#e6db74">"</span>$bar_weather<span style="color:#e6db74">"</span> <span style="color:#f92672">==</span> *<span style="color:#e6db74">"Bad Gateway"</span>* <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
echo <span style="color:#e6db74">"??"</span>
|
|
exit <span style="color:#ae81ff">1</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
echo <span style="color:#e6db74">${</span>bar_weather<span style="color:#e6db74">}</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/weather]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">custom/script</span>
|
|
<span style="color:#a6e22e">exec</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">/home/pavel/bin/polybar/weather.sh</span>
|
|
<span style="color:#a6e22e">format-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.red}</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1200</span>
|
|
</code></pre></div><h4 id="aw-afk">aw-afk</h4>
|
|
<p>Prints out a current uptime and non-AFK time from <a href="https://github.com/ActivityWatch">ActivityWatch</a> server</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>dateutils</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">afk_event<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>curl -s -X GET <span style="color:#e6db74">"http://localhost:5600/api/0/buckets/aw-watcher-afk_</span><span style="color:#66d9ef">$(</span>hostname<span style="color:#66d9ef">)</span><span style="color:#e6db74">/events?limit=1"</span> -H <span style="color:#e6db74">"accept: application/json"</span><span style="color:#66d9ef">)</span>
|
|
status<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>echo <span style="color:#e6db74">${</span>afk_event<span style="color:#e6db74">}</span> | jq -r <span style="color:#e6db74">'.[0].data.status'</span><span style="color:#66d9ef">)</span>
|
|
afk_time<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>echo <span style="color:#e6db74">"</span><span style="color:#e6db74">${</span>afk_event<span style="color:#e6db74">}</span><span style="color:#e6db74">"</span> | jq -r <span style="color:#e6db74">'.[0].duration'</span> | xargs -I ! date -u -d @! +<span style="color:#e6db74">"%H:%M"</span><span style="color:#66d9ef">)</span>
|
|
|
|
uptime<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>uptime | awk <span style="color:#e6db74">'{ print substr($3, 0, length($3) - 1) }'</span> | xargs -I ! date -d ! +<span style="color:#e6db74">"%H:%M"</span><span style="color:#66d9ef">)</span>
|
|
res<span style="color:#f92672">=</span><span style="color:#e6db74">"</span><span style="color:#e6db74">${</span>afk_time<span style="color:#e6db74">}</span><span style="color:#e6db74"> / </span><span style="color:#e6db74">${</span>uptime<span style="color:#e6db74">}</span><span style="color:#e6db74">"</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> $status <span style="color:#f92672">==</span> <span style="color:#e6db74">'afk'</span> <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>red<span style="color:#e6db74">")>>}%{+u} [AFK] </span>$res<span style="color:#e6db74"> %{u-}"</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>blue<span style="color:#e6db74">")>>}%{+u} </span>$res<span style="color:#e6db74"> %{u-}"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/aw-afk]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">custom/script</span>
|
|
<span style="color:#a6e22e">exec</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">/home/pavel/bin/polybar/aw_afk.sh</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">60</span>
|
|
</code></pre></div><h4 id="sun">sun</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>sunwait</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Prints out the time of sunrise/sunset. Uses <a href="https://github.com/risacher/sunwait">sunwait</a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">declare -A LAT_DATA<span style="color:#f92672">=(</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"TMN"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"57.15N"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"SPB"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"59.9375N"</span>
|
|
<span style="color:#f92672">)</span>
|
|
declare -A LON_DATA<span style="color:#f92672">=(</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"TMN"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"65.533333E"</span>
|
|
<span style="color:#f92672">[</span><span style="color:#e6db74">"SPB"</span><span style="color:#f92672">]=</span><span style="color:#e6db74">"30.308611E"</span>
|
|
<span style="color:#f92672">)</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> -z <span style="color:#e6db74">"</span>$LOC<span style="color:#e6db74">"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
echo <span style="color:#e6db74">"LOC?"</span>
|
|
exit -1
|
|
<span style="color:#66d9ef">fi</span>
|
|
LAT<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>LAT_DATA[$LOC]<span style="color:#e6db74">}</span>
|
|
LON<span style="color:#f92672">=</span><span style="color:#e6db74">${</span>LON_DATA[$LOC]<span style="color:#e6db74">}</span>
|
|
|
|
time<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>sunwait poll daylight rise <span style="color:#e6db74">${</span>LAT<span style="color:#e6db74">}</span> $LON<span style="color:#66d9ef">)</span>
|
|
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> <span style="color:#e6db74">${</span>time<span style="color:#e6db74">}</span> <span style="color:#f92672">==</span> <span style="color:#e6db74">'DAY'</span> <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
sunset<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>sunwait list daylight set <span style="color:#e6db74">${</span>LAT<span style="color:#e6db74">}</span> <span style="color:#e6db74">${</span>LON<span style="color:#e6db74">}</span><span style="color:#66d9ef">)</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>yellow<span style="color:#e6db74">")>>}%{+u} </span>$sunset<span style="color:#e6db74"> %{u-}"</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
sunrise<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>sunwait list daylight rise <span style="color:#e6db74">${</span>LAT<span style="color:#e6db74">}</span> <span style="color:#e6db74">${</span>LON<span style="color:#e6db74">}</span><span style="color:#66d9ef">)</span>
|
|
echo <span style="color:#e6db74">"%{u<<get-color(name="</span>red<span style="color:#e6db74">")>>}%{+u} </span>$sunrise<span style="color:#e6db74"> %{u-}"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/sun]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">custom/script</span>
|
|
<span style="color:#a6e22e">exec</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">/home/pavel/bin/polybar/sun.sh</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">60</span>
|
|
</code></pre></div><h4 id="sep">SEP</h4>
|
|
<p>A simple separator</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/SEP]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">custom/text</span>
|
|
<span style="color:#a6e22e">content</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"|"</span>
|
|
<span style="color:#a6e22e">content-foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.magenta}</span>
|
|
<span style="color:#a6e22e">content-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">content-margin</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">100000</span>
|
|
</code></pre></div><h4 id="tsep">TSEP</h4>
|
|
<p>A separator, which appears only if monitor is set to have a tray in the launch script</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> ! -z <span style="color:#e6db74">"</span>$TRAY<span style="color:#e6db74">"</span> <span style="color:#f92672">]</span> <span style="color:#f92672">&&</span> <span style="color:#f92672">[</span> <span style="color:#e6db74">"</span>$TRAY<span style="color:#e6db74">"</span> !<span style="color:#f92672">=</span> <span style="color:#e6db74">"none"</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
echo <span style="color:#e6db74">"| "</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/TSEP]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">custom/script</span>
|
|
<span style="color:#a6e22e">exec</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">/home/pavel/bin/polybar/tray-sep.sh</span>
|
|
<span style="color:#a6e22e">format-foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.magenta}</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">100000</span>
|
|
</code></pre></div><h4 id="i3">i3</h4>
|
|
<p>Show i3wm workspaces</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/i3]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/i3</span>
|
|
<span style="color:#a6e22e">format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"><label-state> <label-mode></span>
|
|
<span style="color:#a6e22e">index-sort</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
<span style="color:#a6e22e">wrapping-scroll</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">false</span>
|
|
|
|
<span style="color:#75715e">; Only show workspaces on the same output as the bar</span>
|
|
<span style="color:#a6e22e">pin-workspaces</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
|
|
<span style="color:#a6e22e">label-mode-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
<span style="color:#a6e22e">label-mode-foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">#000</span>
|
|
<span style="color:#a6e22e">label-mode-background</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.blue}</span>
|
|
|
|
<span style="color:#75715e">; focused = Active workspace on focused monitor</span>
|
|
<span style="color:#a6e22e">label-focused</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%</span>
|
|
<span style="color:#75715e">; label-focused-background = ${colors.background-alt}</span>
|
|
<span style="color:#a6e22e">label-focused-underline</span><span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.blue}</span>
|
|
<span style="color:#a6e22e">label-focused-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
|
|
<span style="color:#75715e">; unfocused = Inactive workspace on any monitor</span>
|
|
<span style="color:#a6e22e">label-unfocused</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%</span>
|
|
<span style="color:#a6e22e">label-unfocused-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
|
|
<span style="color:#75715e">; visible = Active workspace on unfocused monitor</span>
|
|
<span style="color:#a6e22e">label-visible</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%</span>
|
|
<span style="color:#75715e">; label-visible-background = ${self.label-focused-background}</span>
|
|
<span style="color:#a6e22e">label-visible-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${self.label-focused-underline}</span>
|
|
<span style="color:#a6e22e">label-visible-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${self.label-focused-padding}</span>
|
|
|
|
<span style="color:#75715e">; urgent = Workspace with urgency hint set</span>
|
|
<span style="color:#a6e22e">label-urgent</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%</span>
|
|
<span style="color:#a6e22e">label-urgent-background</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.red}</span>
|
|
<span style="color:#a6e22e">label-urgent-foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.black}</span>
|
|
<span style="color:#a6e22e">label-urgent-padding</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
</code></pre></div><h4 id="xkeyboard">xkeyboard</h4>
|
|
<p>Current keyboard layout</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/xkeyboard]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/xkeyboard</span>
|
|
<span style="color:#a6e22e">format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"><label-layout></span>
|
|
|
|
<span style="color:#a6e22e">format-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.magenta}</span>
|
|
<span style="color:#a6e22e">label-layout</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%icon%</span>
|
|
<span style="color:#a6e22e">layout-icon-0</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">ru;RU</span>
|
|
<span style="color:#a6e22e">layout-icon-1</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">us;US</span>
|
|
</code></pre></div><h4 id="mpd">mpd</h4>
|
|
<p><a href="https://www.musicpd.org/">Music Player Daemon</a> status</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/mpd]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/mpd</span>
|
|
|
|
<span style="color:#a6e22e">format-playing</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"><toggle> <label-time> <label-song></span>
|
|
<span style="color:#a6e22e">format-paused</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"><toggle> <label-time> <label-song></span>
|
|
<span style="color:#a6e22e">format-stopped</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">label-song</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">[%album-artist%] %title%</span>
|
|
<span style="color:#a6e22e">label-time</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%elapsed%/%total%</span>
|
|
|
|
<span style="color:#a6e22e">label-song-maxlen</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">30</span>
|
|
<span style="color:#a6e22e">label-song-ellipsis</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
|
|
<span style="color:#a6e22e">format-playing-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
<span style="color:#a6e22e">format-paused-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
<span style="color:#a6e22e">format-stopped-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
|
|
<span style="color:#a6e22e">label-separator</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">separator-foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.red}</span>
|
|
|
|
<span style="color:#a6e22e">icon-pause</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">icon-play</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">icon-stop</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">icon-prev</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
<span style="color:#a6e22e">icon-next</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">2</span>
|
|
</code></pre></div><h4 id="pulseaudio">pulseaudio</h4>
|
|
<p>PulseAudio status</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/pulseaudio]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/pulseaudio</span>
|
|
<span style="color:#a6e22e">use-ui-max</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
|
|
<span style="color:#a6e22e">bar-volume-width</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">7</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-0</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.white}</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-1</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-2</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-3</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.blue}</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-4</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.blue}</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-5</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.green}</span>
|
|
<span style="color:#a6e22e">bar-volume-foreground-6</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.green}</span>
|
|
<span style="color:#a6e22e">bar-volume-gradient</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">false</span>
|
|
<span style="color:#a6e22e">bar-volume-indicator</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">|</span>
|
|
<span style="color:#a6e22e">bar-volume-indicator-font</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">2</span>
|
|
<span style="color:#a6e22e">bar-volume-fill</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">─</span>
|
|
<span style="color:#a6e22e">bar-volume-fill-font</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">2</span>
|
|
<span style="color:#a6e22e">bar-volume-empty</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">─</span>
|
|
<span style="color:#a6e22e">bar-volume-empty-font</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">2</span>
|
|
<span style="color:#a6e22e">bar-volume-empty-foreground</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.white-lighter}</span>
|
|
|
|
<span style="color:#a6e22e">format-volume</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">♪ <bar-volume> <label-volume></span>
|
|
<span style="color:#a6e22e">label-volume</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%percentage%%</span>
|
|
|
|
<span style="color:#a6e22e">format-mute</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">♪ <label-muted></span>
|
|
<span style="color:#a6e22e">label-muted</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">MUTE</span>
|
|
|
|
<span style="color:#a6e22e">format-volume-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.white}</span>
|
|
<span style="color:#a6e22e">format-muted-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.black-lighter}</span>
|
|
</code></pre></div><h4 id="cpu">cpu</h4>
|
|
<p>CPU usage</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/cpu]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/cpu</span>
|
|
<span style="color:#a6e22e">format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"> <label></span>
|
|
<span style="color:#a6e22e">label</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%percentage%%</span>
|
|
<span style="color:#a6e22e">format-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.green-lighter}</span>
|
|
</code></pre></div><h4 id="ram-memory">ram-memory</h4>
|
|
<p>RAM usage</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/ram-memory]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/memory</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">10</span>
|
|
|
|
<span style="color:#a6e22e">ramp-used-0</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▁</span>
|
|
<span style="color:#a6e22e">ramp-used-1</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▂</span>
|
|
<span style="color:#a6e22e">ramp-used-2</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▃</span>
|
|
<span style="color:#a6e22e">ramp-used-3</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▄</span>
|
|
<span style="color:#a6e22e">ramp-used-4</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▅</span>
|
|
<span style="color:#a6e22e">ramp-used-5</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▆</span>
|
|
<span style="color:#a6e22e">ramp-used-6</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">▇</span>
|
|
<span style="color:#a6e22e">ramp-used-7</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">█</span>
|
|
|
|
<span style="color:#a6e22e">format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"> <label></span>
|
|
<span style="color:#a6e22e">label</span><span style="color:#f92672">=</span><span style="color:#e6db74">%gb_used:.1f%</span>
|
|
|
|
<span style="color:#a6e22e">format-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.blue}</span>
|
|
</code></pre></div><h4 id="swap-memory">swap-memory</h4>
|
|
<p>Swap usage</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/swap-memory]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/memory</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">10</span>
|
|
|
|
<span style="color:#a6e22e">label</span><span style="color:#f92672">=</span><span style="color:#e6db74"> %gb_swap_used:.1f%</span>
|
|
<span style="color:#a6e22e">format-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
</code></pre></div><h4 id="network">network</h4>
|
|
<p>Upload/download speed</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/network]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/network</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
|
|
<span style="color:#a6e22e">interface</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${env:WLAN_INTERFACE}</span>
|
|
|
|
<span style="color:#75715e">; format-connected = [<ramp-signal>] <label-connected></span>
|
|
|
|
<span style="color:#a6e22e">label-connected</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">↓ %downspeed% ↑ %upspeed%</span>
|
|
<span style="color:#a6e22e">label-disconnected</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">X</span>
|
|
|
|
<span style="color:#a6e22e">format-connected-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.green}</span>
|
|
<span style="color:#a6e22e">format-disconnected-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.red}</span>
|
|
|
|
<span style="color:#a6e22e">ramp-signal-0</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">ramp-signal-1</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1</span>
|
|
<span style="color:#a6e22e">ramp-signal-2</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">2</span>
|
|
<span style="color:#a6e22e">ramp-signal-3</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">3</span>
|
|
<span style="color:#a6e22e">ramp-signal-4</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">4</span>
|
|
<span style="color:#a6e22e">ramp-signal-5</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">5</span>
|
|
</code></pre></div><h4 id="date">date</h4>
|
|
<p>Current date</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/date]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/date</span>
|
|
<span style="color:#a6e22e">interval</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">5</span>
|
|
|
|
<span style="color:#a6e22e">date</span> <span style="color:#f92672">=</span>
|
|
<span style="color:#a6e22e">date-alt</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"%Y-%m-%d"</span>
|
|
|
|
<span style="color:#a6e22e">time</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%H:%M</span>
|
|
<span style="color:#a6e22e">time-alt</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%H:%M:%S</span>
|
|
|
|
<span style="color:#a6e22e">format-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.cyan}</span>
|
|
<span style="color:#a6e22e">label</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"%date% %time%"</span>
|
|
</code></pre></div><h4 id="battery">battery</h4>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[module/battery]</span>
|
|
<span style="color:#a6e22e">type</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">internal/battery</span>
|
|
<span style="color:#a6e22e">battery</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">BAT0</span>
|
|
<span style="color:#a6e22e">adapter</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">ADP0</span>
|
|
|
|
<span style="color:#a6e22e">time-format</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%H:%M</span>
|
|
<span style="color:#a6e22e">format-discharging</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"><ramp-capacity> <label-discharging></span>
|
|
<span style="color:#a6e22e">format-discharging-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.cyan}</span>
|
|
<span style="color:#a6e22e">format-charging-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.yellow}</span>
|
|
<span style="color:#a6e22e">format-full-underline</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">${colors.green}</span>
|
|
<span style="color:#a6e22e">label-discharging</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">%percentage%% %time%</span>
|
|
<span style="color:#a6e22e">label-charging</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"> %percentage%% %time%</span>
|
|
|
|
<span style="color:#a6e22e">ramp-capacity-0</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">ramp-capacity-1</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">ramp-capacity-2</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">ramp-capacity-3</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
<span style="color:#a6e22e">ramp-capacity-4</span> <span style="color:#f92672">=</span> <span style="color:#e6db74"></span>
|
|
</code></pre></div><h2 id="rofi">Rofi</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>rofi</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://github.com/davatorium/rofi">rofi</a> is another dynamic menu generator. It can act as dmenu replacement but offers a superset of dmenu’s features.</p>
|
|
<h3 id="theme">Theme</h3>
|
|
<p>A theme, based on <a href="https://github.com/dracula/rofi">dracula theme</a> for rofi, but with palenight colorscheme.</p>
|
|
<p><a id="code-snippet--get-rofi-colors"></a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(<span style="color:#a6e22e">apply</span>
|
|
<span style="color:#a6e22e">#'concat</span>
|
|
(<span style="color:#a6e22e">mapcar</span>
|
|
(lambda (elem)
|
|
(<span style="color:#a6e22e">concat</span> (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">0</span> elem) <span style="color:#e6db74">": "</span> (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">2</span> elem) <span style="color:#e6db74">";\n"</span>))
|
|
table))
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-css" data-lang="css"><span style="color:#75715e">/* Generated from [[file:../../Desktop.org::*Theme][Theme:1]] */</span>
|
|
<span style="color:#f92672">*</span> {
|
|
<span style="color:#960050;background-color:#1e0010"><<get-rofi-colors()>></span>
|
|
|
|
foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">white</span>;
|
|
<span style="color:#66d9ef">background</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">black</span>;
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">black</span>;
|
|
separatorcolor: <span style="color:#f92672">@</span><span style="color:#66d9ef">blue</span>;
|
|
<span style="color:#66d9ef">border-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">blue</span>;
|
|
selected-normal-foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">black</span>;
|
|
selected-normal-background: <span style="color:#f92672">@</span><span style="color:#66d9ef">blue</span>;
|
|
selected-active-foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">black</span>;
|
|
selected-active-background: <span style="color:#f92672">@</span><span style="color:#66d9ef">blue</span>;
|
|
selected-urgent-foreground: <span style="color:#f92672">@</span>foreground;
|
|
selected-urgent-background: <span style="color:#f92672">@</span><span style="color:#66d9ef">red</span>;
|
|
normal-foreground: <span style="color:#f92672">@</span>foreground;
|
|
normal-background: <span style="color:#f92672">@</span><span style="color:#66d9ef">background</span>;
|
|
active-foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">blue</span>;
|
|
active-background: <span style="color:#f92672">@</span><span style="color:#66d9ef">background</span>;
|
|
urgent-foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">red</span>;
|
|
urgent-background: <span style="color:#f92672">@</span><span style="color:#66d9ef">background</span>;
|
|
alternate-normal-foreground: <span style="color:#f92672">@</span>foreground;
|
|
alternate-normal-background: <span style="color:#f92672">@</span>light-black;
|
|
alternate-active-foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">blue</span>;
|
|
alternate-active-background: <span style="color:#f92672">@</span>light-black;
|
|
alternate-urgent-foreground: <span style="color:#f92672">@</span><span style="color:#66d9ef">red</span>;
|
|
alternate-urgent-background: <span style="color:#f92672">@</span>light-black;
|
|
spacing: <span style="color:#ae81ff">2</span>;
|
|
}
|
|
<span style="color:#f92672">window</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">background</span>;
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">1</span>;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">5</span>;
|
|
}
|
|
<span style="color:#f92672">mainbox</span> {
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">0</span>;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">0</span>;
|
|
}
|
|
<span style="color:#f92672">message</span> {
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">1</span><span style="color:#66d9ef">px</span> dash <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> ;
|
|
<span style="color:#66d9ef">border-color</span>: <span style="color:#f92672">@</span>separatorcolor;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">1</span><span style="color:#66d9ef">px</span> ;
|
|
}
|
|
<span style="color:#f92672">textbox</span> {
|
|
text-color: <span style="color:#f92672">@</span>foreground;
|
|
}
|
|
<span style="color:#f92672">listview</span> {
|
|
fixed-height: <span style="color:#ae81ff">0</span>;
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">2</span><span style="color:#66d9ef">px</span> dash <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> ;
|
|
<span style="color:#66d9ef">border-color</span>: <span style="color:#f92672">@</span>separatorcolor;
|
|
spacing: <span style="color:#ae81ff">2</span><span style="color:#66d9ef">px</span> ;
|
|
scrollbar: true;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">2</span><span style="color:#66d9ef">px</span> <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> ;
|
|
}
|
|
<span style="color:#f92672">element</span> {
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">0</span>;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">1</span><span style="color:#66d9ef">px</span> ;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">normal</span>.<span style="color:#a6e22e">normal</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span><span style="color:#66d9ef">background</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">normal</span>.<span style="color:#a6e22e">urgent</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span>urgent-background;
|
|
text-color: <span style="color:#f92672">@</span>urgent-foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">normal</span>.<span style="color:#a6e22e">active</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span>active-background;
|
|
text-color: <span style="color:#f92672">@</span>active-foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">selected</span>.<span style="color:#a6e22e">normal</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span>selected-normal-background;
|
|
text-color: <span style="color:#f92672">@</span>selected-normal-foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">selected</span>.<span style="color:#a6e22e">urgent</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span>selected-urgent-background;
|
|
text-color: <span style="color:#f92672">@</span>selected-urgent-foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">selected</span>.<span style="color:#a6e22e">active</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span>selected-active-background;
|
|
text-color: <span style="color:#f92672">@</span>selected-active-foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">alternate</span>.<span style="color:#a6e22e">normal</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">alternate</span><span style="color:#f92672">-</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span><span style="color:#66d9ef">background</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">alternate</span><span style="color:#f92672">-</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">alternate</span>.<span style="color:#a6e22e">urgent</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">alternate</span><span style="color:#f92672">-</span>urgent-background;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">alternate</span><span style="color:#f92672">-</span>urgent-foreground;
|
|
}
|
|
<span style="color:#f92672">element</span> <span style="color:#f92672">alternate</span>.<span style="color:#a6e22e">active</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span><span style="color:#66d9ef">alternate</span><span style="color:#f92672">-</span>active-background;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">alternate</span><span style="color:#f92672">-</span>active-foreground;
|
|
}
|
|
<span style="color:#f92672">scrollbar</span> {
|
|
<span style="color:#66d9ef">width</span>: <span style="color:#ae81ff">4</span><span style="color:#66d9ef">px</span> ;
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">0</span>;
|
|
handle-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
handle-width: <span style="color:#ae81ff">8</span><span style="color:#66d9ef">px</span> ;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">0</span>;
|
|
}
|
|
<span style="color:#f92672">sidebar</span> {
|
|
<span style="color:#66d9ef">border</span>: <span style="color:#ae81ff">2</span><span style="color:#66d9ef">px</span> dash <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> ;
|
|
<span style="color:#66d9ef">border-color</span>: <span style="color:#f92672">@</span>separatorcolor;
|
|
}
|
|
<span style="color:#f92672">button</span> {
|
|
spacing: <span style="color:#ae81ff">0</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
}
|
|
<span style="color:#f92672">button</span> <span style="color:#f92672">selected</span> {
|
|
<span style="color:#66d9ef">background-color</span>: <span style="color:#f92672">@</span>selected-normal-background;
|
|
text-color: <span style="color:#f92672">@</span>selected-normal-foreground;
|
|
}
|
|
<span style="color:#f92672">inputbar</span> {
|
|
spacing: <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
<span style="color:#66d9ef">padding</span>: <span style="color:#ae81ff">1</span><span style="color:#66d9ef">px</span> ;
|
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
|
}
|
|
<span style="color:#f92672">case-indicator</span> {
|
|
spacing: <span style="color:#ae81ff">0</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
}
|
|
<span style="color:#f92672">entry</span> {
|
|
spacing: <span style="color:#ae81ff">0</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
}
|
|
<span style="color:#f92672">prompt</span> {
|
|
spacing: <span style="color:#ae81ff">0</span>;
|
|
text-color: <span style="color:#f92672">@</span><span style="color:#66d9ef">normal</span><span style="color:#f92672">-</span>foreground;
|
|
}
|
|
<span style="color:#f92672">textbox-prompt-colon</span> {
|
|
expand: false;
|
|
str: <span style="color:#e6db74">":"</span>;
|
|
<span style="color:#66d9ef">margin</span>: <span style="color:#ae81ff">0</span><span style="color:#66d9ef">px</span> <span style="color:#ae81ff">0.3000</span><span style="color:#66d9ef">em</span> <span style="color:#ae81ff">0.0000</span><span style="color:#66d9ef">em</span> <span style="color:#ae81ff">0.0000</span><span style="color:#66d9ef">em</span> ;
|
|
text-color: <span style="color:#66d9ef">inherit</span>;
|
|
}
|
|
</code></pre></div><h3 id="scripts">Scripts</h3>
|
|
<h4 id="buku-bookmarks">Buku bookmarks</h4>
|
|
<p>Inspired by the <a href="https://github.com/knatsakis/rofi-buku">knatsakis/rofi-buku</a> script.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash"><span style="color:#66d9ef">if</span> <span style="color:#f92672">[</span> <span style="color:#66d9ef">$(</span>hostname<span style="color:#66d9ef">)</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">'pdsk'</span> <span style="color:#f92672">]</span>; <span style="color:#66d9ef">then</span>
|
|
BUKU<span style="color:#f92672">=</span><span style="color:#e6db74">"/home/pavel/.local/bin/buku"</span>
|
|
<span style="color:#66d9ef">else</span>
|
|
BUKU<span style="color:#f92672">=</span><span style="color:#e6db74">"/home/pavel/Programs/miniconda3/bin/buku"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
|
|
<span style="color:#75715e"># COMMAND="$BUKU -o %"</span>
|
|
<span style="color:#75715e"># COMMAND="qutebrowser $(buku -f 10 -p %)"</span>
|
|
COMMAND<span style="color:#f92672">=</span><span style="color:#e6db74">"firefox %"</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> $1 <span style="color:#f92672">==</span> <span style="color:#e6db74">'-e'</span> <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
COMMAND<span style="color:#f92672">=</span><span style="color:#e6db74">"</span>$BUKU<span style="color:#e6db74"> -w %"</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
$BUKU -f <span style="color:#ae81ff">4</span> -p | awk -F<span style="color:#e6db74">'\t'</span> -v OFS<span style="color:#f92672">=</span><span style="color:#e6db74">'\t'</span> <span style="color:#e6db74">'{
|
|
</span><span style="color:#e6db74"> split($4, tags, ",")
|
|
</span><span style="color:#e6db74"> joined = sep = ""
|
|
</span><span style="color:#e6db74"> for (i = 1; i in tags; i++) {
|
|
</span><span style="color:#e6db74"> joined = joined sep "[" tags[i] "]"
|
|
</span><span style="color:#e6db74"> sep = " "
|
|
</span><span style="color:#e6db74"> }
|
|
</span><span style="color:#e6db74"> url = substr($2, 1, 40)
|
|
</span><span style="color:#e6db74"> if (length($2) > 40) {
|
|
</span><span style="color:#e6db74"> url = url "..."
|
|
</span><span style="color:#e6db74"> }
|
|
</span><span style="color:#e6db74"> if ($1 != "waiting for input") {
|
|
</span><span style="color:#e6db74"> printf "%-5s %-60s %-45s %s\n", $1, $3, url, joined
|
|
</span><span style="color:#e6db74"> }
|
|
</span><span style="color:#e6db74">}'</span> | sort -k <span style="color:#ae81ff">2</span> | rofi -dmenu -matching normal -sort -sorting-method fzf -width <span style="color:#ae81ff">80</span> -l <span style="color:#ae81ff">20</span> | cut -d <span style="color:#e6db74">' '</span> -f <span style="color:#ae81ff">1</span> | <span style="color:#f92672">{</span>
|
|
read index;
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> -z <span style="color:#e6db74">"</span>$index<span style="color:#e6db74">"</span> <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
exit <span style="color:#ae81ff">0</span>
|
|
<span style="color:#66d9ef">fi</span>
|
|
url<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>$BUKU -f <span style="color:#ae81ff">10</span> -p $index<span style="color:#66d9ef">)</span>
|
|
echo <span style="color:#e6db74">${</span>url#<span style="color:#e6db74">"waiting for input"</span><span style="color:#e6db74">}</span> | cut -d <span style="color:#e6db74">' '</span> -f <span style="color:#ae81ff">1</span> | xargs -I % $COMMAND
|
|
<span style="color:#f92672">}</span>
|
|
</code></pre></div><h4 id="man-pages">Man pages</h4>
|
|
<p>Inspired by <a href="https://www.youtube.com/watch?v=8E8sUNHdzG8">this Luke Smith’s video</a>.</p>
|
|
<p>A script to open a man page with zathura. There is no particular reason why one should look through man pages in pdf viewer rather than in console, but why not.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">SELECTED<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>man -k . | rofi -dmenu -l <span style="color:#ae81ff">20</span> | awk <span style="color:#e6db74">'{print $1}'</span><span style="color:#66d9ef">)</span>
|
|
<span style="color:#66d9ef">if</span> <span style="color:#f92672">[[</span> ! -z $SELECTED <span style="color:#f92672">]]</span>; <span style="color:#66d9ef">then</span>
|
|
man -Tpdf $SELECTED | zathura -
|
|
<span style="color:#66d9ef">fi</span>
|
|
</code></pre></div><h2 id="flameshot">Flameshot</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>flameshot</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://github.com/flameshot-org/flameshot">flameshot</a> is my program of choice to make screenshots.</p>
|
|
<p>As it overwrites its own config all the time, I do not keep the file in VC.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#66d9ef">[General]</span>
|
|
<span style="color:#a6e22e">disabledTrayIcon</span><span style="color:#f92672">=</span><span style="color:#e6db74">false</span>
|
|
<span style="color:#a6e22e">drawColor</span><span style="color:#f92672">=</span><span style="color:#e6db74">#ff0000</span>
|
|
<span style="color:#a6e22e">drawThickness</span><span style="color:#f92672">=</span><span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">saveAfterCopyPath</span><span style="color:#f92672">=</span><span style="color:#e6db74">/home/pavel/Pictures</span>
|
|
<span style="color:#a6e22e">savePath</span><span style="color:#f92672">=</span><span style="color:#e6db74">/home/pavel/Pictures</span>
|
|
<span style="color:#a6e22e">savePathFixed</span><span style="color:#f92672">=</span><span style="color:#e6db74">false</span>
|
|
<span style="color:#a6e22e">showStartupLaunchMessage</span><span style="color:#f92672">=</span><span style="color:#e6db74">false</span>
|
|
<span style="color:#a6e22e">uiColor</span><span style="color:#f92672">=</span><span style="color:#e6db74"><<get-color(name="blue")>></span>
|
|
|
|
<span style="color:#66d9ef">[Shortcuts]</span>
|
|
<span style="color:#a6e22e">TYPE_ARROW</span><span style="color:#f92672">=</span><span style="color:#e6db74">A</span>
|
|
<span style="color:#a6e22e">TYPE_CIRCLE</span><span style="color:#f92672">=</span><span style="color:#e6db74">C</span>
|
|
<span style="color:#a6e22e">TYPE_CIRCLECOUNT</span><span style="color:#f92672">=</span>
|
|
<span style="color:#a6e22e">TYPE_COMMIT_CURRENT_TOOL</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+Return</span>
|
|
<span style="color:#a6e22e">TYPE_COPY</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+C</span>
|
|
<span style="color:#a6e22e">TYPE_DRAWER</span><span style="color:#f92672">=</span><span style="color:#e6db74">D</span>
|
|
<span style="color:#a6e22e">TYPE_EXIT</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+Q</span>
|
|
<span style="color:#a6e22e">TYPE_IMAGEUPLOADER</span><span style="color:#f92672">=</span><span style="color:#e6db74">Return</span>
|
|
<span style="color:#a6e22e">TYPE_MARKER</span><span style="color:#f92672">=</span><span style="color:#e6db74">M</span>
|
|
<span style="color:#a6e22e">TYPE_MOVESELECTION</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+M</span>
|
|
<span style="color:#a6e22e">TYPE_MOVE_DOWN</span><span style="color:#f92672">=</span><span style="color:#e6db74">Down</span>
|
|
<span style="color:#a6e22e">TYPE_MOVE_LEFT</span><span style="color:#f92672">=</span><span style="color:#e6db74">Left</span>
|
|
<span style="color:#a6e22e">TYPE_MOVE_RIGHT</span><span style="color:#f92672">=</span><span style="color:#e6db74">Right</span>
|
|
<span style="color:#a6e22e">TYPE_MOVE_UP</span><span style="color:#f92672">=</span><span style="color:#e6db74">Up</span>
|
|
<span style="color:#a6e22e">TYPE_OPEN_APP</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+O</span>
|
|
<span style="color:#a6e22e">TYPE_PENCIL</span><span style="color:#f92672">=</span><span style="color:#e6db74">P</span>
|
|
<span style="color:#a6e22e">TYPE_PIN</span><span style="color:#f92672">=</span>
|
|
<span style="color:#a6e22e">TYPE_PIXELATE</span><span style="color:#f92672">=</span><span style="color:#e6db74">B</span>
|
|
<span style="color:#a6e22e">TYPE_RECTANGLE</span><span style="color:#f92672">=</span><span style="color:#e6db74">R</span>
|
|
<span style="color:#a6e22e">TYPE_REDO</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+Shift+Z</span>
|
|
<span style="color:#a6e22e">TYPE_RESIZE_DOWN</span><span style="color:#f92672">=</span><span style="color:#e6db74">Shift+Down</span>
|
|
<span style="color:#a6e22e">TYPE_RESIZE_LEFT</span><span style="color:#f92672">=</span><span style="color:#e6db74">Shift+Left</span>
|
|
<span style="color:#a6e22e">TYPE_RESIZE_RIGHT</span><span style="color:#f92672">=</span><span style="color:#e6db74">Shift+Right</span>
|
|
<span style="color:#a6e22e">TYPE_RESIZE_UP</span><span style="color:#f92672">=</span><span style="color:#e6db74">Shift+Up</span>
|
|
<span style="color:#a6e22e">TYPE_SAVE</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+S</span>
|
|
<span style="color:#a6e22e">TYPE_SELECTION</span><span style="color:#f92672">=</span><span style="color:#e6db74">S</span>
|
|
<span style="color:#a6e22e">TYPE_SELECTIONINDICATOR</span><span style="color:#f92672">=</span>
|
|
<span style="color:#a6e22e">TYPE_SELECT_ALL</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+A</span>
|
|
<span style="color:#a6e22e">TYPE_TEXT</span><span style="color:#f92672">=</span><span style="color:#e6db74">T</span>
|
|
<span style="color:#a6e22e">TYPE_TOGGLE_PANEL</span><span style="color:#f92672">=</span><span style="color:#e6db74">Space</span>
|
|
<span style="color:#a6e22e">TYPE_UNDO</span><span style="color:#f92672">=</span><span style="color:#e6db74">Ctrl+Z</span>
|
|
</code></pre></div><h2 id="dunst">dunst</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>dunst</td>
|
|
</tr>
|
|
<tr>
|
|
<td>libnotify</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Note</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>TODO</td>
|
|
<td>Cleanup default config comments</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://github.com/dunst-project/dunst">dunst</a> is a lightweight notification daemon.</p>
|
|
<p>My customizations of the original config consist mostly of changing colors.</p>
|
|
<p>References:</p>
|
|
<ul>
|
|
<li><a href="https://dunst-project.org/documentation/">dunst documentation</a></li>
|
|
</ul>
|
|
<!--listend-->
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim">[<span style="color:#a6e22e">global</span>]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">monitor</span> = <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">follow</span> = <span style="color:#a6e22e">mouse</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">geometry</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">window</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # [{<span style="color:#a6e22e">width</span>}]<span style="color:#a6e22e">x</span>{<span style="color:#a6e22e">height</span>}[+<span style="color:#e6db74">/-{x}+/</span>-{<span style="color:#a6e22e">y</span>}]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">geometry</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">message</span> <span style="color:#a6e22e">window</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">measured</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">number</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">everything</span> <span style="color:#66d9ef">else</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">pixels</span>. <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">omitted</span> <span style="color:#a6e22e">but</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">given</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # (<span style="color:#e6db74">"-geometry x2"</span>), <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">message</span> <span style="color:#a6e22e">window</span> <span style="color:#a6e22e">expands</span> <span style="color:#a6e22e">over</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">whole</span> <span style="color:#a6e22e">screen</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # (<span style="color:#a6e22e">dmenu</span>-<span style="color:#a6e22e">like</span>). <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">is</span> <span style="color:#ae81ff">0</span>, <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">window</span> <span style="color:#a6e22e">expands</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">longest</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">message</span> <span style="color:#a6e22e">displayed</span>. <span style="color:#a6e22e">A</span> <span style="color:#a6e22e">positive</span> <span style="color:#a6e22e">x</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">measured</span> <span style="color:#a6e22e">from</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">left</span>, <span style="color:#a6e22e">a</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">negative</span> <span style="color:#a6e22e">from</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">right</span> <span style="color:#a6e22e">side</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">screen</span>. <span style="color:#a6e22e">Y</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">measured</span> <span style="color:#a6e22e">from</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">top</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">down</span> <span style="color:#a6e22e">respectively</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">can</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">negative</span>. <span style="color:#a6e22e">In</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">case</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">actual</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">the</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">screen</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">minus</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">defined</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">within</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">geometry</span> <span style="color:#a6e22e">option</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">geometry</span> = <span style="color:#e6db74">"300x5-30+20"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Show</span> <span style="color:#a6e22e">how</span> <span style="color:#a6e22e">many</span> <span style="color:#a6e22e">messages</span> <span style="color:#a6e22e">are</span> <span style="color:#a6e22e">currently</span> <span style="color:#a6e22e">hidden</span> (<span style="color:#a6e22e">because</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">geometry</span>).<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">indicate_hidden</span> = <span style="color:#a6e22e">yes</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Shrink</span> <span style="color:#a6e22e">window</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">it</span>'<span style="color:#a6e22e">s</span> <span style="color:#a6e22e">smaller</span> <span style="color:#a6e22e">than</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">width</span>. <span style="color:#a6e22e">Will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">ignored</span> <span style="color:#66d9ef">if</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">is</span> <span style="color:#ae81ff">0</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">shrink</span> = <span style="color:#a6e22e">no</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">transparency</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">window</span>. <span style="color:#a6e22e">Range</span>: [<span style="color:#ae81ff">0</span>; <span style="color:#ae81ff">100</span>].<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">This</span> <span style="color:#a6e22e">option</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">only</span> <span style="color:#a6e22e">work</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">compositing</span> <span style="color:#a6e22e">window</span> <span style="color:#a6e22e">manager</span> <span style="color:#a6e22e">is</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">present</span> (<span style="color:#a6e22e">e</span>.<span style="color:#a6e22e">g</span>. <span style="color:#a6e22e">xcompmgr</span>, <span style="color:#a6e22e">compiz</span>, <span style="color:#a6e22e">etc</span>.).<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">transparency</span> = <span style="color:#ae81ff">15</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">entire</span> <span style="color:#a6e22e">notification</span>. <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">smaller</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">than</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">font</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">padding</span> <span style="color:#a6e22e">combined</span>, <span style="color:#a6e22e">it</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">raised</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">font</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">padding</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">notification_height</span> = <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Draw</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">line</span> <span style="color:#a6e22e">of</span> <span style="color:#e6db74">"separator_height"</span> <span style="color:#a6e22e">pixel</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">between</span> <span style="color:#a6e22e">two</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">notifications</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Set</span> <span style="color:#a6e22e">to</span> <span style="color:#ae81ff">0</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">disable</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">separator_height</span> = <span style="color:#ae81ff">2</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Padding</span> <span style="color:#a6e22e">between</span> <span style="color:#a6e22e">text</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">separator</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">padding</span> = <span style="color:#ae81ff">8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Horizontal</span> <span style="color:#a6e22e">padding</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">horizontal_padding</span> = <span style="color:#ae81ff">8</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Defines</span> <span style="color:#a6e22e">width</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">pixels</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">frame</span> <span style="color:#a6e22e">around</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">window</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Set</span> <span style="color:#a6e22e">to</span> <span style="color:#ae81ff">0</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">disable</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">frame_width</span> = <span style="color:#ae81ff">1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Defines</span> <span style="color:#a6e22e">color</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">frame</span> <span style="color:#a6e22e">around</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">window</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">frame_color</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"white"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Define</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">color</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">separator</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">possible</span> <span style="color:#a6e22e">values</span> <span style="color:#a6e22e">are</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">auto</span>: <span style="color:#a6e22e">dunst</span> <span style="color:#a6e22e">tries</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">find</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">color</span> <span style="color:#a6e22e">fitting</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">background</span>;<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">foreground</span>: <span style="color:#a6e22e">use</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">same</span> <span style="color:#a6e22e">color</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">foreground</span>;<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">frame</span>: <span style="color:#a6e22e">use</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">same</span> <span style="color:#a6e22e">color</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">frame</span>;<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">anything</span> <span style="color:#66d9ef">else</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">interpreted</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">X</span> <span style="color:#a6e22e">color</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">separator_color</span> = <span style="color:#a6e22e">frame</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Sort</span> <span style="color:#a6e22e">messages</span> <span style="color:#a6e22e">by</span> <span style="color:#a6e22e">urgency</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">sort</span> = <span style="color:#a6e22e">yes</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Don</span>'<span style="color:#a6e22e">t</span> <span style="color:#a6e22e">remove</span> <span style="color:#a6e22e">messages</span>, <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">user</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">idle</span> (<span style="color:#a6e22e">no</span> <span style="color:#a6e22e">mouse</span> <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">keyboard</span> <span style="color:#a6e22e">input</span>)<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">longer</span> <span style="color:#a6e22e">than</span> <span style="color:#a6e22e">idle_threshold</span> <span style="color:#a6e22e">seconds</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Set</span> <span style="color:#a6e22e">to</span> <span style="color:#ae81ff">0</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">disable</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">A</span> <span style="color:#a6e22e">client</span> <span style="color:#a6e22e">can</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">the</span> <span style="color:#e6db74">'transient'</span> <span style="color:#a6e22e">hint</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">bypass</span> <span style="color:#a6e22e">this</span>. <span style="color:#a6e22e">See</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">rules</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">section</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">how</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">disable</span> <span style="color:#a6e22e">this</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">necessary</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">idle_threshold</span> = <span style="color:#ae81ff">120</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> ### <span style="color:#a6e22e">Text</span> ###<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">font</span> = <span style="color:#a6e22e">DejaVu</span> <span style="color:#a6e22e">Sans</span> <span style="color:#ae81ff">9</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">spacing</span> <span style="color:#a6e22e">between</span> <span style="color:#a6e22e">lines</span>. <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">smaller</span> <span style="color:#a6e22e">than</span> <span style="color:#a6e22e">the</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">font</span> <span style="color:#a6e22e">height</span>, <span style="color:#a6e22e">it</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">get</span> <span style="color:#a6e22e">raised</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">font</span> <span style="color:#a6e22e">height</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">line_height</span> = <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Possible</span> <span style="color:#a6e22e">values</span> <span style="color:#a6e22e">are</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">full</span>: <span style="color:#a6e22e">Allow</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">small</span> <span style="color:#a6e22e">subset</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">html</span> <span style="color:#a6e22e">markup</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">notifications</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <<span style="color:#a6e22e">b</span>>bold</<span style="color:#a6e22e">b</span>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <<span style="color:#a6e22e">i</span>>italic</<span style="color:#a6e22e">i</span>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <<span style="color:#a6e22e">s</span>><span style="color:#a6e22e">strikethrough</span></<span style="color:#a6e22e">s</span>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <<span style="color:#a6e22e">u</span>>underline</<span style="color:#a6e22e">u</span>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">For</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">complete</span> <span style="color:#a6e22e">reference</span> <span style="color:#a6e22e">see</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <<span style="color:#a6e22e">http</span>:<span style="color:#e6db74">//</span><span style="color:#a6e22e">developer</span>.<span style="color:#a6e22e">gnome</span>.<span style="color:#a6e22e">org</span><span style="color:#e6db74">/pango/</span><span style="color:#a6e22e">stable</span>/<span style="color:#a6e22e">PangoMarkupFormat</span>.<span style="color:#a6e22e">html</span>>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">strip</span>: <span style="color:#a6e22e">This</span> <span style="color:#a6e22e">setting</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">provided</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">compatibility</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">some</span> <span style="color:#a6e22e">broken</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">clients</span> <span style="color:#a6e22e">that</span> <span style="color:#a6e22e">send</span> <span style="color:#a6e22e">markup</span> <span style="color:#a6e22e">even</span> <span style="color:#a6e22e">though</span> <span style="color:#a6e22e">it</span>'<span style="color:#a6e22e">s</span> <span style="color:#a6e22e">not</span> <span style="color:#a6e22e">enabled</span> <span style="color:#a6e22e">on</span> <span style="color:#a6e22e">the</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">server</span>. <span style="color:#a6e22e">Dunst</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">try</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">strip</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">markup</span> <span style="color:#a6e22e">but</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">parsing</span> <span style="color:#a6e22e">is</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">simplistic</span> <span style="color:#a6e22e">so</span> <span style="color:#a6e22e">using</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">option</span> <span style="color:#a6e22e">outside</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">matching</span> <span style="color:#a6e22e">rules</span> <span style="color:#a6e22e">for</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">specific</span> <span style="color:#a6e22e">applications</span> *<span style="color:#a6e22e">IS</span> <span style="color:#a6e22e">GREATLY</span> <span style="color:#a6e22e">DISCOURAGED</span>*.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">no</span>: <span style="color:#a6e22e">Disable</span> <span style="color:#a6e22e">markup</span> <span style="color:#a6e22e">parsing</span>, <span style="color:#a6e22e">incoming</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">treated</span> <span style="color:#a6e22e">as</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">plain</span> <span style="color:#a6e22e">text</span>. <span style="color:#a6e22e">Dunst</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">not</span> <span style="color:#a6e22e">advertise</span> <span style="color:#a6e22e">that</span> <span style="color:#a6e22e">it</span> <span style="color:#a6e22e">has</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">body</span>-<span style="color:#a6e22e">markup</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">capability</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">global</span> <span style="color:#a6e22e">setting</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">It</span>'<span style="color:#a6e22e">s</span> <span style="color:#a6e22e">important</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">note</span> <span style="color:#a6e22e">that</span> <span style="color:#a6e22e">markup</span> <span style="color:#a6e22e">inside</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">format</span> <span style="color:#a6e22e">option</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">parsed</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">regardless</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">what</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">to</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">markup</span> = <span style="color:#a6e22e">full</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">format</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">message</span>. <span style="color:#a6e22e">Possible</span> <span style="color:#a6e22e">variables</span> <span style="color:#a6e22e">are</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">a</span> <span style="color:#a6e22e">appname</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">s</span> <span style="color:#a6e22e">summary</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">b</span> <span style="color:#a6e22e">body</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">i</span> <span style="color:#a6e22e">iconname</span> (<span style="color:#a6e22e">including</span> <span style="color:#a6e22e">its</span> <span style="color:#a6e22e">path</span>)<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">I</span> <span style="color:#a6e22e">iconname</span> (<span style="color:#a6e22e">without</span> <span style="color:#a6e22e">its</span> <span style="color:#a6e22e">path</span>)<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">p</span> <span style="color:#a6e22e">progress</span> <span style="color:#a6e22e">value</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">set</span> ([ <span style="color:#ae81ff">0</span>%] <span style="color:#a6e22e">to</span> [<span style="color:#ae81ff">100</span>%]) <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">nothing</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %<span style="color:#a6e22e">n</span> <span style="color:#a6e22e">progress</span> <span style="color:#a6e22e">value</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">without</span> <span style="color:#a6e22e">any</span> <span style="color:#a6e22e">extra</span> <span style="color:#a6e22e">characters</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # %% <span style="color:#a6e22e">Literal</span> %<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Markup</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">allowed</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">format</span> = <span style="color:#e6db74">"<b>%s</b>\n%b"</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Alignment</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">message</span> <span style="color:#a6e22e">text</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Possible</span> <span style="color:#a6e22e">values</span> <span style="color:#a6e22e">are</span> <span style="color:#e6db74">"left"</span>, <span style="color:#e6db74">"center"</span> <span style="color:#a6e22e">and</span> <span style="color:#e6db74">"right"</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">alignment</span> = <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Show</span> <span style="color:#a6e22e">age</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">message</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">message</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">older</span> <span style="color:#a6e22e">than</span> <span style="color:#a6e22e">show_age_threshold</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">seconds</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Set</span> <span style="color:#a6e22e">to</span> <span style="color:#ae81ff">-1</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">disable</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">show_age_threshold</span> = <span style="color:#ae81ff">60</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Split</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">into</span> <span style="color:#a6e22e">multiple</span> <span style="color:#a6e22e">lines</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">they</span> <span style="color:#a6e22e">don</span>'<span style="color:#a6e22e">t</span> <span style="color:#a6e22e">fit</span> <span style="color:#a6e22e">into</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">geometry</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">word_wrap</span> = <span style="color:#a6e22e">yes</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">When</span> <span style="color:#a6e22e">word_wrap</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">no</span>, <span style="color:#a6e22e">specify</span> <span style="color:#a6e22e">where</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">make</span> <span style="color:#a6e22e">an</span> <span style="color:#a6e22e">ellipsis</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">long</span> <span style="color:#a6e22e">lines</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Possible</span> <span style="color:#a6e22e">values</span> <span style="color:#a6e22e">are</span> <span style="color:#e6db74">"start"</span>, <span style="color:#e6db74">"middle"</span> <span style="color:#a6e22e">and</span> <span style="color:#e6db74">"end"</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">ellipsize</span> = <span style="color:#a6e22e">middle</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Ignore</span> <span style="color:#a6e22e">newlines</span> <span style="color:#e6db74">'\n'</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">notifications</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">ignore_newline</span> = <span style="color:#a6e22e">no</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Stack</span> <span style="color:#a6e22e">together</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">same</span> <span style="color:#a6e22e">content</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">stack_duplicates</span> = <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Hide</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">count</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">stacked</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">same</span> <span style="color:#a6e22e">content</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">hide_duplicate_count</span> = <span style="color:#a6e22e">false</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Display</span> <span style="color:#a6e22e">indicators</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">URLs</span> (<span style="color:#a6e22e">U</span>) <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">actions</span> (<span style="color:#a6e22e">A</span>).<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">show_indicators</span> = <span style="color:#a6e22e">yes</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> ### <span style="color:#a6e22e">Icons</span> ###<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Align</span> <span style="color:#a6e22e">icons</span> <span style="color:#a6e22e">left</span><span style="color:#e6db74">/right/</span><span style="color:#a6e22e">off</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">icon_position</span> = <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Scale</span> <span style="color:#a6e22e">larger</span> <span style="color:#a6e22e">icons</span> <span style="color:#a6e22e">down</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">size</span>, <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">to</span> <span style="color:#ae81ff">0</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">disable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">max_icon_size</span> = <span style="color:#ae81ff">32</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Paths</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">default</span> <span style="color:#a6e22e">icons</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">icon_path</span> = <span style="color:#e6db74">/usr/</span><span style="color:#a6e22e">share</span><span style="color:#e6db74">/icons/</span><span style="color:#a6e22e">Mint</span>-<span style="color:#a6e22e">Y</span><span style="color:#e6db74">/status/</span><span style="color:#ae81ff">32</span><span style="color:#e6db74">/;/</span><span style="color:#a6e22e">usr</span><span style="color:#e6db74">/share/</span><span style="color:#a6e22e">icons</span><span style="color:#e6db74">/Mint-Y/</span><span style="color:#a6e22e">devices</span>/<span style="color:#ae81ff">32</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> ### <span style="color:#a6e22e">History</span> ###<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Should</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">popped</span> <span style="color:#a6e22e">up</span> <span style="color:#a6e22e">from</span> <span style="color:#a6e22e">history</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">sticky</span> <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">timeout</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">as</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">it</span> <span style="color:#a6e22e">would</span> <span style="color:#a6e22e">normally</span> <span style="color:#a6e22e">do</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">sticky_history</span> = <span style="color:#a6e22e">yes</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Maximum</span> <span style="color:#a6e22e">amount</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">kept</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">history</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">history_length</span> = <span style="color:#ae81ff">20</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> ### <span style="color:#a6e22e">Misc</span>/<span style="color:#a6e22e">Advanced</span> ###<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">dmenu</span> <span style="color:#a6e22e">path</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">dmenu</span> = <span style="color:#e6db74">/usr/</span><span style="color:#a6e22e">bin</span>/<span style="color:#a6e22e">dmenu</span> -<span style="color:#a6e22e">p</span> <span style="color:#a6e22e">dunst</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Browser</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">opening</span> <span style="color:#a6e22e">urls</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">context</span> <span style="color:#a6e22e">menu</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">browser</span> = <span style="color:#e6db74">/usr/</span><span style="color:#a6e22e">bin</span>/<span style="color:#a6e22e">sensible</span>-<span style="color:#a6e22e">browser</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Always</span> <span style="color:#a6e22e">run</span> <span style="color:#a6e22e">rule</span>-<span style="color:#a6e22e">defined</span> <span style="color:#a6e22e">scripts</span>, <span style="color:#a6e22e">even</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">suppressed</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">always_run_script</span> = <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Define</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">title</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">windows</span> <span style="color:#a6e22e">spawned</span> <span style="color:#a6e22e">by</span> <span style="color:#a6e22e">dunst</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">title</span> = <span style="color:#a6e22e">Dunst</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Define</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">class</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">windows</span> <span style="color:#a6e22e">spawned</span> <span style="color:#a6e22e">by</span> <span style="color:#a6e22e">dunst</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">class</span> = <span style="color:#a6e22e">Dunst</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Print</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">on</span> <span style="color:#a6e22e">startup</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">This</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">mainly</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">error</span> <span style="color:#a6e22e">detection</span>, <span style="color:#a6e22e">since</span> <span style="color:#a6e22e">dbus</span> (<span style="color:#a6e22e">re</span>-)<span style="color:#a6e22e">starts</span> <span style="color:#a6e22e">dunst</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">automatically</span> <span style="color:#a6e22e">after</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">crash</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">startup_notification</span> = <span style="color:#a6e22e">false</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Manage</span> <span style="color:#a6e22e">dunst</span>'<span style="color:#a6e22e">s</span> <span style="color:#a6e22e">desire</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">talking</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Can</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">one</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">following</span> <span style="color:#a6e22e">values</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">crit</span>: <span style="color:#a6e22e">Critical</span> <span style="color:#a6e22e">features</span>. <span style="color:#a6e22e">Dunst</span> <span style="color:#a6e22e">aborts</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">warn</span>: <span style="color:#a6e22e">Only</span> <span style="color:#a6e22e">non</span>-<span style="color:#a6e22e">fatal</span> <span style="color:#a6e22e">warnings</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">mesg</span>: <span style="color:#a6e22e">Important</span> <span style="color:#a6e22e">Messages</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">info</span>: <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">unimportant</span> <span style="color:#a6e22e">stuff</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">debug</span>: <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">less</span> <span style="color:#a6e22e">than</span> <span style="color:#a6e22e">unimportant</span> <span style="color:#a6e22e">stuff</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">verbosity</span> = <span style="color:#a6e22e">mesg</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Define</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">corner</span> <span style="color:#a6e22e">radius</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">window</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">pixel</span> <span style="color:#a6e22e">size</span>. <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">radius</span> <span style="color:#a6e22e">is</span> <span style="color:#ae81ff">0</span>, <span style="color:#a6e22e">you</span> <span style="color:#a6e22e">have</span> <span style="color:#a6e22e">no</span> <span style="color:#a6e22e">rounded</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">corners</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">The</span> <span style="color:#a6e22e">radius</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">automatically</span> <span style="color:#a6e22e">lowered</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">it</span> <span style="color:#a6e22e">exceeds</span> <span style="color:#a6e22e">half</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">the</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">height</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">avoid</span> <span style="color:#a6e22e">clipping</span> <span style="color:#a6e22e">text</span> <span style="color:#a6e22e">and</span>/<span style="color:#a6e22e">or</span> <span style="color:#a6e22e">icons</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">corner_radius</span> = <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> ### <span style="color:#a6e22e">Legacy</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Use</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">Xinerama</span> <span style="color:#a6e22e">extension</span> <span style="color:#a6e22e">instead</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">RandR</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">multi</span>-<span style="color:#a6e22e">monitor</span> <span style="color:#a6e22e">support</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">This</span> <span style="color:#a6e22e">setting</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">provided</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">compatibility</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">older</span> <span style="color:#a6e22e">nVidia</span> <span style="color:#a6e22e">drivers</span> <span style="color:#a6e22e">that</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">do</span> <span style="color:#a6e22e">not</span> <span style="color:#a6e22e">support</span> <span style="color:#a6e22e">RandR</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">using</span> <span style="color:#a6e22e">it</span> <span style="color:#a6e22e">on</span> <span style="color:#a6e22e">systems</span> <span style="color:#a6e22e">that</span> <span style="color:#a6e22e">support</span> <span style="color:#a6e22e">RandR</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">highly</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">discouraged</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">By</span> <span style="color:#a6e22e">enabling</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">setting</span> <span style="color:#a6e22e">dunst</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">not</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">able</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">detect</span> <span style="color:#a6e22e">when</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">monitor</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">connected</span> <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">disconnected</span> <span style="color:#a6e22e">which</span> <span style="color:#a6e22e">might</span> <span style="color:#a6e22e">break</span> <span style="color:#a6e22e">follow</span> <span style="color:#a6e22e">mode</span> <span style="color:#66d9ef">if</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">screen</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">layout</span> <span style="color:#a6e22e">changes</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">force_xinerama</span> = <span style="color:#a6e22e">false</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> ### <span style="color:#a6e22e">mouse</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Defines</span> <span style="color:#a6e22e">action</span> <span style="color:#a6e22e">of</span> <span style="color:#a6e22e">mouse</span> <span style="color:#a6e22e">event</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Possible</span> <span style="color:#a6e22e">values</span> <span style="color:#a6e22e">are</span>:<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">none</span>: <span style="color:#a6e22e">Don</span>'<span style="color:#a6e22e">t</span> <span style="color:#a6e22e">do</span> <span style="color:#a6e22e">anything</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">do_action</span>: <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">notification</span> <span style="color:#a6e22e">has</span> <span style="color:#a6e22e">exactly</span> <span style="color:#a6e22e">one</span> <span style="color:#a6e22e">action</span>, <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">one</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">marked</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">default</span>,<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">invoke</span> <span style="color:#a6e22e">it</span>. <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">there</span> <span style="color:#a6e22e">are</span> <span style="color:#a6e22e">multiple</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">no</span> <span style="color:#a6e22e">default</span>, <span style="color:#a6e22e">open</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">context</span> <span style="color:#a6e22e">menu</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">close_current</span>: <span style="color:#a6e22e">Close</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">notification</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # * <span style="color:#a6e22e">close_all</span>: <span style="color:#a6e22e">Close</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">notifications</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">mouse_left_click</span> = <span style="color:#a6e22e">close_current</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">mouse_middle_click</span> = <span style="color:#a6e22e">do_action</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">mouse_right_click</span> = <span style="color:#a6e22e">close_all</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Experimental</span> <span style="color:#a6e22e">features</span> <span style="color:#a6e22e">that</span> <span style="color:#a6e22e">may</span> <span style="color:#a6e22e">or</span> <span style="color:#a6e22e">may</span> <span style="color:#a6e22e">not</span> <span style="color:#a6e22e">work</span> <span style="color:#a6e22e">correctly</span>. <span style="color:#a6e22e">Do</span> <span style="color:#a6e22e">not</span> <span style="color:#a6e22e">expect</span> <span style="color:#a6e22e">them</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">have</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">consistent</span> <span style="color:#a6e22e">behaviour</span> <span style="color:#a6e22e">across</span> <span style="color:#a6e22e">releases</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>[<span style="color:#a6e22e">experimental</span>]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Calculate</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">dpi</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">use</span> <span style="color:#a6e22e">on</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">per</span>-<span style="color:#a6e22e">monitor</span> <span style="color:#a6e22e">basis</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">If</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">setting</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">enabled</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">Xft</span>.<span style="color:#a6e22e">dpi</span> <span style="color:#a6e22e">value</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">ignored</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">instead</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">dunst</span> <span style="color:#a6e22e">will</span> <span style="color:#a6e22e">attempt</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">calculate</span> <span style="color:#a6e22e">an</span> <span style="color:#a6e22e">appropriate</span> <span style="color:#a6e22e">dpi</span> <span style="color:#a6e22e">value</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">each</span> <span style="color:#a6e22e">monitor</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">using</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">resolution</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">physical</span> <span style="color:#a6e22e">size</span>. <span style="color:#a6e22e">This</span> <span style="color:#a6e22e">might</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">useful</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">setups</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">where</span> <span style="color:#a6e22e">there</span> <span style="color:#a6e22e">are</span> <span style="color:#a6e22e">multiple</span> <span style="color:#a6e22e">screens</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">very</span> <span style="color:#a6e22e">different</span> <span style="color:#a6e22e">dpi</span> <span style="color:#a6e22e">values</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">per_monitor_dpi</span> = <span style="color:#a6e22e">false</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>[<span style="color:#a6e22e">shortcuts</span>]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Shortcuts</span> <span style="color:#a6e22e">are</span> <span style="color:#a6e22e">specified</span> <span style="color:#a6e22e">as</span> [<span style="color:#a6e22e">modifier</span>+][<span style="color:#a6e22e">modifier</span>+]...<span style="color:#a6e22e">key</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Available</span> <span style="color:#a6e22e">modifiers</span> <span style="color:#a6e22e">are</span> <span style="color:#e6db74">"ctrl"</span>, <span style="color:#e6db74">"mod1"</span> (<span style="color:#a6e22e">the</span> <span style="color:#a6e22e">alt</span>-<span style="color:#a6e22e">key</span>), <span style="color:#e6db74">"mod2"</span>,<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#e6db74">"mod3"</span> <span style="color:#a6e22e">and</span> <span style="color:#e6db74">"mod4"</span> (<span style="color:#a6e22e">windows</span>-<span style="color:#a6e22e">key</span>).<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Xev</span> <span style="color:#a6e22e">might</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">helpful</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">find</span> <span style="color:#a6e22e">names</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">keys</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Close</span> <span style="color:#a6e22e">notification</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">close</span> = <span style="color:#a6e22e">ctrl</span>+<span style="color:#a6e22e">space</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Close</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">notifications</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">close_all</span> = <span style="color:#a6e22e">ctrl</span>+<span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">space</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Redisplay</span> <span style="color:#a6e22e">last</span> <span style="color:#a6e22e">message</span>(<span style="color:#a6e22e">s</span>).<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">On</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">US</span> <span style="color:#a6e22e">keyboard</span> <span style="color:#a6e22e">layout</span> <span style="color:#e6db74">"grave"</span> <span style="color:#a6e22e">is</span> <span style="color:#a6e22e">normally</span> <span style="color:#a6e22e">above</span> <span style="color:#a6e22e">TAB</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">of</span> <span style="color:#e6db74">"1"</span>. <span style="color:#a6e22e">Make</span> <span style="color:#a6e22e">sure</span> <span style="color:#a6e22e">this</span> <span style="color:#a6e22e">key</span> <span style="color:#a6e22e">actually</span> <span style="color:#a6e22e">exists</span> <span style="color:#a6e22e">on</span> <span style="color:#a6e22e">your</span> <span style="color:#a6e22e">keyboard</span> <span style="color:#a6e22e">layout</span>,<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">e</span>.<span style="color:#a6e22e">g</span>. <span style="color:#a6e22e">check</span> <span style="color:#a6e22e">output</span> <span style="color:#a6e22e">of</span> <span style="color:#e6db74">'xmodmap -pke'</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">history</span> = <span style="color:#a6e22e">ctrl</span>+<span style="color:#a6e22e">grave</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Context</span> <span style="color:#a6e22e">menu</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">context</span> = <span style="color:#a6e22e">ctrl</span>+<span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">period</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>[<span style="color:#a6e22e">urgency_low</span>]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">IMPORTANT</span>: <span style="color:#a6e22e">colors</span> <span style="color:#a6e22e">have</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">defined</span> <span style="color:#a6e22e">in</span> <span style="color:#a6e22e">quotation</span> <span style="color:#a6e22e">marks</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Otherwise</span> <span style="color:#a6e22e">the</span> <span style="color:#e6db74">"#"</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">following</span> <span style="color:#a6e22e">would</span> <span style="color:#a6e22e">be</span> <span style="color:#a6e22e">interpreted</span> <span style="color:#a6e22e">as</span> <span style="color:#a6e22e">a</span> <span style="color:#a6e22e">comment</span>.<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">background</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"light-black"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">frame_color</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"white"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">foreground</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"light-white"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">timeout</span> = <span style="color:#ae81ff">10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Icon</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">low</span> <span style="color:#a6e22e">urgency</span>, <span style="color:#a6e22e">uncomment</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#a6e22e">icon</span> = <span style="color:#e6db74">/path/</span><span style="color:#a6e22e">to</span>/<span style="color:#a6e22e">icon</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>[<span style="color:#a6e22e">urgency_normal</span>]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">background</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"black"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">frame_color</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"white"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">foreground</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"light-white"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">timeout</span> = <span style="color:#ae81ff">10</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Icon</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">normal</span> <span style="color:#a6e22e">urgency</span>, <span style="color:#a6e22e">uncomment</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#a6e22e">icon</span> = <span style="color:#e6db74">/path/</span><span style="color:#a6e22e">to</span>/<span style="color:#a6e22e">icon</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span>[<span style="color:#a6e22e">urgency_critical</span>]<span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">background</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"red"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">foreground</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"light-white"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">frame_color</span> = <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"red"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> <span style="color:#a6e22e">timeout</span> = <span style="color:#ae81ff">0</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> # <span style="color:#a6e22e">Icon</span> <span style="color:#a6e22e">for</span> <span style="color:#a6e22e">notifications</span> <span style="color:#a6e22e">with</span> <span style="color:#a6e22e">critical</span> <span style="color:#a6e22e">urgency</span>, <span style="color:#a6e22e">uncomment</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">enable</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span> #<span style="color:#a6e22e">icon</span> = <span style="color:#e6db74">/path/</span><span style="color:#a6e22e">to</span>/<span style="color:#a6e22e">icon</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h2 id="keynav">keynav</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>keynav</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Note</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>SYMLINK</td>
|
|
<td>./config/keynavrc -> .keynavrc</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>How many times you have been working with keyboard-driven programs and had to use a mouse just to press some pesky little button in a modal window?</p>
|
|
<p><a href="https://github.com/jordansissel/keynav">keynav</a> is a program that allows you to control the mouse with the keyboard with the general idea of bisecting the screen to get to the required point. I’m still not sure if there is any point in using it, but it’s rather funny. Unfortunately, the colors seem to be hardcoded.</p>
|
|
<p>One of the usecases I found so far is to use the program to scroll webpages when tridactyl’s scroll captures the wrong scroll area.</p>
|
|
<p>References:</p>
|
|
<ul>
|
|
<li><a href="https://github.com/jordansissel/keynav/blob/master/keynav.pod">keynav documentation</a></li>
|
|
</ul>
|
|
<h3 id="config">Config</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"># <span style="color:#a6e22e">clear</span> <span style="color:#a6e22e">all</span> <span style="color:#a6e22e">previous</span> <span style="color:#a6e22e">keybindings</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">clear</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Start</span> & <span style="color:#a6e22e">stop</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">ctrl</span>+<span style="color:#a6e22e">semicolon</span> <span style="color:#a6e22e">start</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Super_L</span>+<span style="color:#a6e22e">bracketright</span> <span style="color:#a6e22e">start</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Super_R</span>+<span style="color:#a6e22e">bracketright</span> <span style="color:#a6e22e">start</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Escape</span> <span style="color:#a6e22e">end</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">ctrl</span>+<span style="color:#a6e22e">bracketleft</span> <span style="color:#a6e22e">end</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Macros</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">q</span> <span style="color:#a6e22e">record</span> ~/.<span style="color:#a6e22e">keynav_macros</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">at</span> <span style="color:#a6e22e">playback</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Bisecting</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">a</span> <span style="color:#a6e22e">history</span>-<span style="color:#a6e22e">back</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">h</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">j</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">k</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">l</span> <span style="color:#a6e22e">cut</span>-<span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">t</span> <span style="color:#a6e22e">windowzoom</span> # <span style="color:#a6e22e">Zoom</span> <span style="color:#a6e22e">to</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">current</span> <span style="color:#a6e22e">window</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">c</span> <span style="color:#a6e22e">cursorzoom</span> <span style="color:#ae81ff">300</span> <span style="color:#ae81ff">300</span> # <span style="color:#a6e22e">Limit</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">bisection</span> <span style="color:#a6e22e">area</span> <span style="color:#a6e22e">by</span> <span style="color:#ae81ff">300</span>x<span style="color:#ae81ff">300</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Move</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">bisecting</span> <span style="color:#a6e22e">area</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">h</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">j</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">k</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">l</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">left</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">right</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">Up</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">shift</span>+<span style="color:#a6e22e">Down</span> <span style="color:#a6e22e">move</span>-<span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span># <span style="color:#a6e22e">Actions</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">space</span> <span style="color:#a6e22e">warp</span>,<span style="color:#a6e22e">click</span> <span style="color:#ae81ff">3</span>,<span style="color:#a6e22e">end</span> # <span style="color:#a6e22e">Right</span> <span style="color:#a6e22e">click</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">warp</span>,<span style="color:#a6e22e">click</span> <span style="color:#ae81ff">1</span>,<span style="color:#a6e22e">end</span> # <span style="color:#a6e22e">Left</span> <span style="color:#a6e22e">click</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">Shift</span>+<span style="color:#a6e22e">Return</span> <span style="color:#a6e22e">warp</span>,<span style="color:#a6e22e">doubleclick</span> <span style="color:#ae81ff">1</span>,<span style="color:#a6e22e">end</span> # <span style="color:#a6e22e">Double</span> <span style="color:#a6e22e">left</span> <span style="color:#a6e22e">click</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">semicolon</span> <span style="color:#a6e22e">warp</span>,<span style="color:#a6e22e">end</span> # <span style="color:#a6e22e">Move</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">cursor</span> <span style="color:#a6e22e">and</span> <span style="color:#a6e22e">exit</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">w</span> <span style="color:#a6e22e">warp</span> # <span style="color:#a6e22e">Just</span> <span style="color:#a6e22e">move</span> <span style="color:#a6e22e">the</span> <span style="color:#a6e22e">cursor</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">e</span> <span style="color:#a6e22e">end</span> # <span style="color:#a6e22e">exit</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">u</span> <span style="color:#a6e22e">warp</span>,<span style="color:#a6e22e">click</span> <span style="color:#ae81ff">4</span> # <span style="color:#a6e22e">scroll</span> <span style="color:#a6e22e">up</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">d</span> <span style="color:#a6e22e">warp</span>,<span style="color:#a6e22e">click</span> <span style="color:#ae81ff">5</span> # <span style="color:#a6e22e">scroll</span> <span style="color:#a6e22e">down</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#ae81ff">1</span> <span style="color:#a6e22e">click</span> <span style="color:#ae81ff">1</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#ae81ff">2</span> <span style="color:#a6e22e">click</span> <span style="color:#ae81ff">2</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#ae81ff">3</span> <span style="color:#a6e22e">click</span> <span style="color:#ae81ff">3</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#ae81ff">4</span> <span style="color:#a6e22e">click</span> <span style="color:#ae81ff">4</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#ae81ff">5</span> <span style="color:#a6e22e">click</span> <span style="color:#ae81ff">5</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h3 id="using-with-picom">Using with picom</h3>
|
|
<p>I’ve noticed that the program does not play nice with picom’s fade effect. To fix that, add the following to you config:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#a6e22e">fade-exclude</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">[
|
|
</span><span style="color:#e6db74"> "class_i = 'keynav'",
|
|
</span><span style="color:#e6db74"> "class_g = 'keynav'",</span>
|
|
<span style="color:#a6e22e">]</span>
|
|
</code></pre></div><h2 id="picom">Picom</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>picom</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://github.com/yshui/picom">picom</a> is a compositor for X11. It allows effects such as transparency, blurring, etc.</p>
|
|
<p>Sample configuration is a good resource for getting an overview of the available settings. I have only a bunch of necessary settings in mine.</p>
|
|
<p>There are a bunch of forks for picom (e.g. <a href="https://github.com/ibhagwan/picom">ibhagwan/picom</a> adds rounded corners) which seem to have some popularity, but I use the base one.</p>
|
|
<p>References:</p>
|
|
<ul>
|
|
<li><a href="https://github.com/yshui/picom/wiki">picom wiki</a></li>
|
|
<li><a href="https://wiki.archlinux.org/index.php/Picom">Picom on ArchWiki</a></li>
|
|
<li><a href="https://github.com/yshui/picom/blob/next/picom.sample.conf">Sample configuration</a></li>
|
|
</ul>
|
|
<h3 id="shadows">Shadows</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#a6e22e">shadow</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true;</span>
|
|
<span style="color:#a6e22e">shadow-radius</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">2;</span>
|
|
<span style="color:#a6e22e">shadow-offset-x</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">-2;</span>
|
|
<span style="color:#a6e22e">shadow-offset-y</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">-2;</span>
|
|
|
|
<span style="color:#a6e22e">shadow-exclude</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">[
|
|
</span><span style="color:#e6db74"> "name = 'Notification'",
|
|
</span><span style="color:#e6db74"> "class_g = 'Conky'",
|
|
</span><span style="color:#e6db74"> "name ?= 'cpt_frame_window'",
|
|
</span><span style="color:#e6db74"> "class_g ?= 'Notify-osd'",
|
|
</span><span style="color:#e6db74"> "class_g = 'Cairo-clock'",
|
|
</span><span style="color:#e6db74"> "_GTK_FRAME_EXTENTS@:c"</span>
|
|
<span style="color:#a6e22e">];</span>
|
|
</code></pre></div><h3 id="fading">Fading</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#a6e22e">fading</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
|
|
<span style="color:#a6e22e">fade-in-step</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0.03;</span>
|
|
<span style="color:#a6e22e">fade-out-step</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0.03;</span>
|
|
<span style="color:#a6e22e">fade-delta</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">10</span>
|
|
|
|
<span style="color:#a6e22e">fade-exclude</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">[
|
|
</span><span style="color:#e6db74"> "class_i = 'keynav'",
|
|
</span><span style="color:#e6db74"> "class_g = 'keynav'",</span>
|
|
<span style="color:#a6e22e">]</span>
|
|
</code></pre></div><h3 id="opacity">Opacity</h3>
|
|
<p>I don’t use stuff like transparency for inactive windows.</p>
|
|
<p>The first 5 lines of <code>opacity-rule</code> make i3wm’s hidden windows 100% transparent, so I see the background behind the semi-transparent windows in i3wm’s stacked and tabbed layout. Here is <a href="https://unix.stackexchange.com/questions/281131/compton-i3-tabbed-stacked-transparency-background-image">StackExchange question</a> about that.</p>
|
|
<p>I also noticed that for some reason it doesn’t play well with Emacs’s built-in transparency, so the last line sets up Emacs transparency at 90%.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#a6e22e">inactive-opacity</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1;</span>
|
|
|
|
<span style="color:#a6e22e">frame-opacity</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">1.0;</span>
|
|
<span style="color:#a6e22e">inactive-opacity-override</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">false;</span>
|
|
<span style="color:#a6e22e">focus-exclude</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">[ "class_g = 'Cairo-clock'" ];</span>
|
|
|
|
<span style="color:#a6e22e">opacity-rule</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">[
|
|
</span><span style="color:#e6db74"> "0:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_HIDDEN'",
|
|
</span><span style="color:#e6db74"> "0:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_HIDDEN'",
|
|
</span><span style="color:#e6db74"> "0:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_HIDDEN'",
|
|
</span><span style="color:#e6db74"> "0:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_HIDDEN'",
|
|
</span><span style="color:#e6db74"> "0:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_HIDDEN'",
|
|
</span><span style="color:#e6db74"> "90:class_g = 'Emacs'"</span>
|
|
<span style="color:#a6e22e">];</span>
|
|
</code></pre></div><h3 id="general-settings">General settings</h3>
|
|
<p>Default general settings. Editing some of these may be neeeded in case of performance issues.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ini" data-lang="ini"><span style="color:#a6e22e">backend</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"xrender";</span>
|
|
<span style="color:#a6e22e">vsync</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
<span style="color:#a6e22e">mark-wmwin-focused</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true;</span>
|
|
<span style="color:#a6e22e">mark-ovredir-focused</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true;</span>
|
|
<span style="color:#a6e22e">detect-rounded-corners</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true;</span>
|
|
<span style="color:#a6e22e">detect-client-opacity</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true;</span>
|
|
<span style="color:#a6e22e">refresh-rate</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">0</span>
|
|
<span style="color:#a6e22e">detect-transient</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
<span style="color:#a6e22e">detect-client-leader</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
<span style="color:#a6e22e">use-damage</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">true</span>
|
|
<span style="color:#a6e22e">log-level</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">"warn";</span>
|
|
|
|
<span style="color:#a6e22e">wintypes:</span>
|
|
<span style="color:#a6e22e">{</span>
|
|
<span style="color:#a6e22e">tooltip</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">{ fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
|
</span><span style="color:#e6db74"> dock = { shadow = false; }
|
|
</span><span style="color:#e6db74"> dnd = { shadow = false; }
|
|
</span><span style="color:#e6db74"> popup_menu = { opacity = 1; }
|
|
</span><span style="color:#e6db74"> dropdown_menu = { opacity = 1; }</span>
|
|
<span style="color:#a6e22e">};</span>
|
|
</code></pre></div><h2 id="zathura">Zathura</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>zathura</td>
|
|
</tr>
|
|
<tr>
|
|
<td>zathura-ps</td>
|
|
</tr>
|
|
<tr>
|
|
<td>zathura-pdf-poppler</td>
|
|
</tr>
|
|
<tr>
|
|
<td>zathura-djvu</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a href="https://pwmt.org/projects/zathura/">Zathura</a> is a pdf viewer with vim-like keybindings. One of my favorite features is an ability to invert the document colors.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-vim" data-lang="vim"><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">abort</span>-<span style="color:#a6e22e">clear</span>-<span style="color:#a6e22e">search</span> <span style="color:#a6e22e">false</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">show</span>-<span style="color:#a6e22e">scrollbars</span> <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">show</span>-<span style="color:#a6e22e">h</span>-<span style="color:#a6e22e">scrollbar</span> <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">show</span>-<span style="color:#a6e22e">v</span>-<span style="color:#a6e22e">scrollbar</span> <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">selection</span>-<span style="color:#a6e22e">clipboard</span> <span style="color:#a6e22e">clipboard</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">recolor</span>-<span style="color:#a6e22e">lightcolor</span> <<<span style="color:#a6e22e">get</span>-<span style="color:#a6e22e">color</span>(<span style="color:#a6e22e">name</span>=<span style="color:#e6db74">"black"</span>, <span style="color:#a6e22e">quote</span>=<span style="color:#ae81ff">1</span>)>><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">set</span> <span style="color:#a6e22e">recolor</span> <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">map</span> <<span style="color:#a6e22e">C</span>-<span style="color:#a6e22e">r</span>> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">recolor</span> <span style="color:#a6e22e">false</span><span style="color:#960050;background-color:#1e0010">
|
|
</span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#a6e22e">map</span> <<span style="color:#a6e22e">C</span>-<span style="color:#a6e22e">R</span>> <span style="color:#a6e22e">set</span> <span style="color:#a6e22e">recolor</span> <span style="color:#a6e22e">true</span><span style="color:#960050;background-color:#1e0010">
|
|
</span></code></pre></div><h2 id="various-software">Various software</h2>
|
|
<p>This section generates manifests for various desktop software that I’m using.</p>
|
|
<h3 id="browsers">Browsers</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Category</th>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>browsers</td>
|
|
<td>ungoogled-chromium</td>
|
|
</tr>
|
|
<tr>
|
|
<td>browsers</td>
|
|
<td>firefox</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="office">Office</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Category</th>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>office</td>
|
|
<td>libreoffice</td>
|
|
</tr>
|
|
<tr>
|
|
<td>office</td>
|
|
<td>gimp</td>
|
|
</tr>
|
|
<tr>
|
|
<td>office</td>
|
|
<td>krita</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="latex">LaTeX</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Category</th>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>latex</td>
|
|
<td>texlive</td>
|
|
</tr>
|
|
<tr>
|
|
<td>latex</td>
|
|
<td>texlab-bin</td>
|
|
</tr>
|
|
<tr>
|
|
<td>latex</td>
|
|
<td>biber</td>
|
|
</tr>
|
|
<tr>
|
|
<td>latex</td>
|
|
<td>python-pygments</td>
|
|
</tr>
|
|
<tr>
|
|
<td>latex</td>
|
|
<td>font-microsoft-web-core-fonts</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="dev">Dev</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Category</th>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>conda</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>docker-compose</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>postgresql</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>virt-manager</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>git-filter-repo</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>node</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>openjdk</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dev</td>
|
|
<td>go</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="manifests">Manifests</h3>
|
|
<p><a id="code-snippet--packages"></a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(my/format-guix-dependencies category)
|
|
</code></pre></div><p>Dev</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">specifications->manifest</span>
|
|
<span style="color:#f92672">'</span>(
|
|
<<packages(<span style="color:#e6db74">"dev"</span>)>>))
|
|
</code></pre></div><p>Browsers</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">specifications->manifest</span>
|
|
<span style="color:#f92672">'</span>(
|
|
<<packages(<span style="color:#e6db74">"browsers"</span>)>>))
|
|
</code></pre></div><p>Music</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">specifications->manifest</span>
|
|
<span style="color:#f92672">'</span>(
|
|
<<packages(<span style="color:#e6db74">"music"</span>)>>))
|
|
</code></pre></div><p>Office</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">specifications->manifest</span>
|
|
<span style="color:#f92672">'</span>(
|
|
<<packages(<span style="color:#e6db74">"office"</span>)>>))
|
|
</code></pre></div><p>LaTeX</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">specifications->manifest</span>
|
|
<span style="color:#f92672">'</span>(
|
|
<<packages(<span style="color:#e6db74">"latex"</span>)>>))
|
|
</code></pre></div><h3 id="flatpak">Flatpak</h3>
|
|
<p>A lot of proprietary desktop applications can be installed most easily with flatpak & flathub.</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>flatpak</td>
|
|
</tr>
|
|
<tr>
|
|
<td>xdg-desktop-portal</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>After installation, add the following repositories:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-text" data-lang="text">flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
flatpak remote-add --user --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
|
|
</code></pre></div><p>Installation syntax is as follows:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-text" data-lang="text">flatpak install --user <remote> <package>
|
|
</code></pre></div><p>Packages to install:</p>
|
|
<p><a id="table--flatpak-deps"></a></p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Flatpak dependency</th>
|
|
<th>Channel</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>com.github.wwmm.pulseeffects</td>
|
|
<td>flathub</td>
|
|
</tr>
|
|
<tr>
|
|
<td>com.discordapp.Discord</td>
|
|
<td>flathub</td>
|
|
</tr>
|
|
<tr>
|
|
<td>us.zoom.Zoom</td>
|
|
<td>flathub</td>
|
|
</tr>
|
|
<tr>
|
|
<td>com.slack.Slack</td>
|
|
<td>flathub</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(<span style="color:#a6e22e">mapconcat</span>
|
|
(lambda (c) (<span style="color:#a6e22e">concat</span> <span style="color:#e6db74">"flatpak install -y --user "</span> (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">1</span> c) <span style="color:#e6db74">" "</span> (<span style="color:#a6e22e">nth</span> <span style="color:#ae81ff">0</span> c)))
|
|
table
|
|
<span style="color:#e6db74">"\n"</span>)
|
|
</code></pre></div><h3 id="nix">Nix</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>TODO</td>
|
|
<td>Make nix manifest?</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>I probably should’ve used nix, as almost every program I packaged so far exists in the Nix repo.</p>
|
|
<p>But it’s easy enough to use Nix on Guix.</p>
|
|
<pre><code class="language-conf" data-lang="conf">https://nixos.org/channels/nixpkgs-unstable nixpkgs
|
|
</code></pre><p>Don’t forget to run the following after the first installation:</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">nix-channel --update
|
|
</code></pre></div><p>Installing packages:</p>
|
|
<pre><code class="language-nil" data-lang="nil">nix-env -i vk-messenger slack
|
|
</code></pre><h2 id="services">Services</h2>
|
|
<p><a href="https://www.gnu.org/software/shepherd/manual/html%5Fnode/index.html">GNU Shepherd</a> is a service management system for GNU Guix.</p>
|
|
<p>I previously used supervisor, but shepherd also seems pretty capable.</p>
|
|
<h3 id="music">Music</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Category</th>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>mpd</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>ncmpcpp</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>picard</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>mpd-watcher</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>mpd-mpc</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>shntool</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>cuetools</td>
|
|
</tr>
|
|
<tr>
|
|
<td>music</td>
|
|
<td>flac</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Music player daemon</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>mpd
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(mpd)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"mpd"</span> <span style="color:#e6db74">"--no-daemon"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><p>MPD watcher</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>mpd-watcher
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(mpd-watcher)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"mpd_watcher"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)
|
|
<span style="color:#f92672">#</span>:requires <span style="color:#f92672">'</span>(mpd)))
|
|
</code></pre></div><h3 id="gnu-mcron">GNU Mcron</h3>
|
|
<p><a href="https://www.gnu.org/software/mcron/">GNU Mcron</a> is a replacement for cron, written in Scheme.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>mcron
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(mcron)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"mcron"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="activitywatch">ActivityWatch</h3>
|
|
<p><a href="https://activitywatch.net/">ActivityWatch</a> is a FOSS time tracker. It tracks screen and application usage and has integrations with browsers, Emacs, etc.</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>activitywatch-bin</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>aw-server</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>aw-server
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(aw-server)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"aw-server"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><p><code>aw-watcher-afk</code> has some problems with statup, so there is a wrapper script</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">sleep <span style="color:#ae81ff">5</span>
|
|
aw-watcher-afk
|
|
</code></pre></div><p>aw-watcher-afk</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>aw-watcher-afk
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(aw-watcher-afk)
|
|
<span style="color:#f92672">#</span>:requires <span style="color:#f92672">'</span>(aw-server)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"/home/pavel/bin/scripts/aw-watcher-afk-wrapper"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><p>aw-watcher-window</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>aw-watcher-window
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(aw-watcher-window)
|
|
<span style="color:#f92672">#</span>:requires <span style="color:#f92672">'</span>(aw-server)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"aw-watcher-window"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="pulseeffects">PulseEffects</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>pulseeffects
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(pulseeffects)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"flatpak"</span> <span style="color:#e6db74">"run"</span> <span style="color:#e6db74">"com.github.wwmm.pulseeffects"</span> <span style="color:#e6db74">"--gapplication-service"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="xsettingsd">xsettingsd</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>xsettingsd
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(xsettingsd)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"xsettingsd"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="discord-rich-presence">Discord rich presence</h3>
|
|
<p>References:</p>
|
|
<ul>
|
|
<li><a href="https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)">Rich Precense (discord rpc)</a></li>
|
|
</ul>
|
|
<!--listend-->
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>discord-rich-presence
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(discord-rich-presence)
|
|
<span style="color:#f92672">#</span>:one-shot? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-system-constructor</span> <span style="color:#e6db74">"ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-0"</span>)))
|
|
</code></pre></div><h3 id="polkit-authentication-agent">Polkit Authentication agent</h3>
|
|
<p>Launch an authentication agent. Necessary for stuff like <code>pkexec</code>. I suspect I’m not doing that the intended way, but it seems to work.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>polkit-gnome
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(polkit-gnome)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"/home/pavel/.guix-extra-profiles/desktop/desktop/libexec/polkit-gnome-authentication-agent-1"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="xmodmap">Xmodmap</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>xmodmap
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(xmodmap)
|
|
<span style="color:#f92672">#</span>:one-shot? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-system-constructor</span> <span style="color:#e6db74">"xmodmap /home/pavel/.Xmodmap"</span>)))
|
|
</code></pre></div><h3 id="vpn">VPN</h3>
|
|
<p>Run my <a href="/configs/guix/">OpenVPN setup</a>. Not lauching this automatially, as it requires an active connection.</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>vpn
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(vpn)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"/home/pavel/bin/scripts/vpn-start"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="davmail">Davmail</h3>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#66d9ef">define </span>davmail
|
|
(<span style="color:#a6e22e">make</span> <service>
|
|
<span style="color:#f92672">#</span>:provides <span style="color:#f92672">'</span>(davmail)
|
|
<span style="color:#f92672">#</span>:respawn? <span style="color:#66d9ef">#t</span>
|
|
<span style="color:#f92672">#</span>:start (<span style="color:#a6e22e">make-forkexec-constructor</span> <span style="color:#f92672">'</span>(<span style="color:#e6db74">"/home/pavel/bin/davmail"</span>))
|
|
<span style="color:#f92672">#</span>:stop (<span style="color:#a6e22e">make-kill-destructor</span>)))
|
|
</code></pre></div><h3 id="shepherd-config">Shepherd config</h3>
|
|
<p>Register services</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">register-services</span>
|
|
mpd
|
|
mpd-watcher
|
|
mcron
|
|
aw-server
|
|
aw-watcher-afk
|
|
aw-watcher-window
|
|
pulseeffects
|
|
xsettingsd
|
|
discord-rich-presence
|
|
polkit-gnome
|
|
vpn
|
|
davmail
|
|
xmodmap)
|
|
</code></pre></div><p>Daemonize shepherd</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">action</span> <span style="color:#e6db74">'shepherd</span> <span style="color:#e6db74">'daemonize</span>)
|
|
</code></pre></div><p>Run services</p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(for-each start <span style="color:#f92672">'</span>(mpd mpd-watcher mcron aw-server aw-watcher-afk aw-watcher-window pulseeffects xsettingsd discord-rich-presence polkit-gnome davmail xmodmap))
|
|
</code></pre></div><h3 id="sync">Sync</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>megacmd-1.4</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 id="guix-settings">Guix settings</h2>
|
|
<p>Other desktop programs I use are listed below.</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Guix dependency</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>xprop</td>
|
|
<td>Tool to display properties of X windows</td>
|
|
</tr>
|
|
<tr>
|
|
<td>arandr</td>
|
|
<td>GUI to xrandr</td>
|
|
</tr>
|
|
<tr>
|
|
<td>light</td>
|
|
<td>Control screen brightness</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ponymix</td>
|
|
<td>Control PulseAudio CLI</td>
|
|
</tr>
|
|
<tr>
|
|
<td>pavucontrol</td>
|
|
<td>Control PulseAudio GUI</td>
|
|
</tr>
|
|
<tr>
|
|
<td>network-manager-applet</td>
|
|
<td>Applet to manage network connections</td>
|
|
</tr>
|
|
<tr>
|
|
<td>feh</td>
|
|
<td>Image viewer. Used to set background</td>
|
|
</tr>
|
|
<tr>
|
|
<td>copyq</td>
|
|
<td>Clipboard manager</td>
|
|
</tr>
|
|
<tr>
|
|
<td>xmodmap</td>
|
|
<td>Program to modify keybindings on X server</td>
|
|
</tr>
|
|
<tr>
|
|
<td>thunar</td>
|
|
<td>My preferred GUI file manager</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keepassxc</td>
|
|
<td>My preferred password manager</td>
|
|
</tr>
|
|
<tr>
|
|
<td>telegram-desktop</td>
|
|
<td>telegram client</td>
|
|
</tr>
|
|
<tr>
|
|
<td>xdg-utils</td>
|
|
<td>gives xdg-open and stuff</td>
|
|
</tr>
|
|
<tr>
|
|
<td>gnome-font-viewer</td>
|
|
<td>view fonts</td>
|
|
</tr>
|
|
<tr>
|
|
<td>qbittorrent</td>
|
|
<td>torrent client</td>
|
|
</tr>
|
|
<tr>
|
|
<td>fontconfig</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>polkit-gnome</td>
|
|
<td>Polkit authentication agent</td>
|
|
</tr>
|
|
<tr>
|
|
<td>anydesk</td>
|
|
<td>Remote desktop software</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><a id="code-snippet--packages"></a></p>
|
|
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-emacs-lisp" data-lang="emacs-lisp">(my/format-guix-dependencies)
|
|
</code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-scheme" data-lang="scheme">(<span style="color:#a6e22e">specifications->manifest</span>
|
|
<span style="color:#f92672">'</span>(
|
|
<<packages()>>))
|
|
</code></pre></div>
|
|
</div>
|
|
|
|
</div><div id="footer" class="mb-5">
|
|
|
|
<hr>
|
|
<div class="container text-center">
|
|
<a href="https://sqrtminusone.xyz/"><small>Pavel Korytov, 2021</small></a>
|
|
</div>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|