<!DOCTYPE html> <html lang="en"> <head> <title>wm_tools | Paul's Site of Stuff</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1"> <meta name="robots" content="noodp"/> <link rel="stylesheet" href="https://paulwilde.uk/style.css"> <link rel="stylesheet" href="https://paulwilde.uk/color/orange.css"> <link rel="stylesheet" href="https://paulwilde.uk/color/background_blue.css"> <link rel="stylesheet" href="https://paulwilde.uk/font-hack-subset.css"> <meta name="description" content="a set of information system tools displayed in dmenu (or rofi)"> <meta property="og:description" content="a set of information system tools displayed in dmenu (or rofi)"> <meta property="og:title" content="wm_tools | Paul's Site of Stuff"> <meta property="og:type" content="article"> <meta property="og:url" content="https://paulwilde.uk/ponderings/wm-tools/"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:description" content="a set of information system tools displayed in dmenu (or rofi)"> <meta name="twitter:title" content="wm_tools | Paul's Site of Stuff"> <meta property="twitter:domain" content="paulwilde.uk"> <meta property="twitter:url" content="https://paulwilde.uk/ponderings/wm-tools/"> <link rel="shortcut icon" type="image/png" href="/favicon.png"> </head> <body class=""> <div class="container"> <header class="header"> <div class="header__inner"> <div class="header__logo"> <a href="https://paulwilde.uk" style="text-decoration: none;"> <div class="logo"> Hello, I'm Paul </div> </a> </div> </div> <nav class="menu"> <ul class="menu__inner"> <li><a href="/">home</a></li> <li><a href="/aboutme">about me</a></li> <li><a href="/ponderings">ponderings</a></li> <li><a href="/iuse">i use …</a></li> <li><a href="/tags">tags</a></li> <li><a href="/feed.xml">rss</a></li> </ul> </nav> </header> <div class="post"> <h1 class="post-title"><a href="https://paulwilde.uk/ponderings/wm-tools/">wm_tools</a></h1> <div class="post-meta-inline"> <span class="post-date"> 2022-05-08 </span> </div> <span class="post-tags-inline"> :: tags: <a class="post-tag" href="https://paulwilde.uk/tags/development/">#development</a> <a class="post-tag" href="https://paulwilde.uk/tags/nim/">#nim</a> <a class="post-tag" href="https://paulwilde.uk/tags/tools/">#tools</a> <a class="post-tag" href="https://paulwilde.uk/tags/window-manager-tools/">#window manager tools</a></span> <div class="sourcecode"> <a href="https://codeberg.org/pswilde/wm_tools" target="_blank">source code</a> </div> <div class="post-content"> <h1 id="a-selection-of-information-output-tools-for-dmenu">A selection of information output tools for dmenu</h1> <p>These are a selection of independant tools for displaying various information about system status in dmenu. Some of them i.e. <code>volume</code> have options (up, down, mute...) which are selectable options in dmenu.</p> <span id="continue-reading"></span><h2 id="tools">Tools</h2> <ul> <li><code>pingclock</code> performs a single <code>ping</code> to a server and returns the response time</li> <li><code>battery</code> shows the current battery level</li> <li><code>brightness</code> shows the current backlight level and gives options to adjust it</li> <li><code>volume</code> shows the current volume level and gives options to adjust and manage it</li> <li><code>date</code> shows the date</li> <li><code>fuzzytime</code> shows the fuzzytime clock</li> <li><code>wlan</code> shows the state of the wireless network interface. SSID connected to and signal level.</li> <li><code>nic</code> shows the status and/or the ip address of the network interface card</li> <li><code>temperature</code> shows the current CPU temperature</li> <li><code>notes</code> a simple one liner note taking tool, displaying notes in <code>dmenu</code>/<code>rofi</code></li> </ul> <p>The next two do not work with <code>rofi</code> unless you have <code>alias dmenu=rofi</code> set, but they're pretty nice tools</p> <ul> <li><code>passmenu_wrapper</code> a wrapper for passmenu. It basically just styles <code>passmenu</code> with no other features</li> <li><code>command_wrapper</code> inspired by passmenu_wrapper, a basic tool to run other <code>dmenu</code> related tools with uniform styling. <ul> <li>For example: <code>dmenu_run</code>, <code>clipmenu</code>, <code>passmenu</code> etc.</li> </ul> </li> </ul> <h3 id="example-in-dmenu">Example in <code>dmenu</code>:</h3> <p><img src="https://user-images.githubusercontent.com/31094984/167123173-ee8092a2-d5ab-47b4-b207-ced328072cc0.gif" alt="dmenu_tools" /></p> <h3 id="example-of-command-wrapper-with-clipmenu">Example of <code>command_wrapper</code> with <code>clipmenu</code></h3> <p><img src="https://user-images.githubusercontent.com/31094984/167122436-eea0be88-a929-46e8-9b4d-cb677dcb129c.gif" alt="command_wrap" /></p> <h2 id="how-to-compile">How to compile</h2> <p>There are some configuration variables explicit to me, you'll need to change them for you for them to be useful I imagine.<br /> Configuration variables are compile - there are no config files or runtime parameters (except for "rofi")</p> <p>Each tool is compiled separately, for example:</p> <pre data-lang="sh" style="background-color:#212121;color:#eeffff;" class="language-sh "><code class="language-sh" data-lang="sh"><span style="color:#82aaff;">nim c pingclock </span></code></pre> <p>and then run with</p> <pre data-lang="sh" style="background-color:#212121;color:#eeffff;" class="language-sh "><code class="language-sh" data-lang="sh"><span style="color:#82aaff;">./pingclock </span><span style="font-style:italic;color:#4a4a4a;"># or </span><span style="color:#82aaff;">./pingclock rofi </span></code></pre> <h2 id="how-to-use">How to use</h2> <p>Personally, I have these bound to key combinations in i3. In fact, I have a seperate <code>bindsym</code> mode in which all these tools are accessible i.e. <code>$mod+i</code> to get to "info" mode then <code>p</code> to show pingclock.<br /> It's completely up to you how to run them, they're just simple CLI tools really.</p> <h3 id="you-can-also-set-the-volume-and-brightness-levels-by-typing-a-numeric-figure-into-the-dmenu-rofi-input-box">You can also set the volume and brightness levels by typing a numeric figure into the dmenu/rofi input box</h3> <h2 id="dependencies">Dependencies</h2> <ul> <li><code>dmenu</code> or <code>rofi</code></li> <li><code>yad</code> for calendar</li> <li><code>passmenu</code> for passmenu_wrapper</li> <li>basically any tool that's used to gather the information.</li> <li>"tools" for audio etc. (<code>pamixer</code>, <code>ncpamixer</code>, etc.) can be set in the source</li> </ul> </div> <div class="pagination"> <div class="pagination__title"> <span class="pagination__title-h">Thanks for reading! Read other posts?</span> <hr /> </div> <div class="pagination__buttons"> <span class="button previous"> <a href="https://paulwilde.uk/ponderings/thisisnotmyemail/"> <span class="button__icon">←</span> <span class="button__text">thisisnotmy.email</span> </a> </span> <span class="button next"> <a href="https://paulwilde.uk/ponderings/fortieth/"> <span class="button__text">Fortieth</span> <span class="button__icon">→</span> </a> </span> </div> </div> </div> <footer class="footer"> <div class="footer__inner"> <a href="https://notnull.space/@paul" rel="me">fediverse (gts)</a> <a href="https://snac.notnull.space/paul" rel="me">fediverse (snac)</a> <a href="https://codeberg.org/pswilde" rel="me">codeberg</a> <a href="https://keyoxide.org/85633E30514CC1932E4268460ED12CF710BC42CA" rel="me">keyoxide</a> </div> <div class="footer__inner"> <div class="copyright"> <span>© 2024 Paul Wilde</span> <span class="copyright-theme"> <span class="copyright-theme-sep">:: </span> Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> </span> </div> </div> </footer> </div> </body> </html>