web/ponderings/wm-tools/index.html

234 lines
9.8 KiB
HTML
Raw Normal View History

2024-07-29 22:20:39 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<title>wm_tools | Paul&#x27;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="alternate" type="application/atom+xml" title="RSS" href="https://paulwilde.uk/atom.xml">
<link rel="shortcut icon" type="image/png" href="/favicon.png">
<script defer data-domain="paulwilde.uk" src="https://plausible.io/js/script.js"></script>
</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&#x27;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="/atom.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:&nbsp;
<a class="post-tag" href="https://paulwilde.uk/tags/development/">#development</a>&nbsp;
<a class="post-tag" href="https://paulwilde.uk/tags/nim/">#nim</a>&nbsp;
<a class="post-tag" href="https://paulwilde.uk/tags/tools/">#tools</a>&nbsp;
<a class="post-tag" href="https://paulwilde.uk/tags/window-manager-tools/">#window manager tools</a></span>
<div class="sourcecode">
<a href="https:&#x2F;&#x2F;codeberg.org&#x2F;pswilde&#x2F;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>&nbsp;
<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>&nbsp;
<span class="button__icon"></span>
</a>
</span>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<a href="https:&#x2F;&#x2F;notnull.space&#x2F;@paul" rel="me">fediverse (gts)</a>
<a href="https:&#x2F;&#x2F;snac.notnull.space&#x2F;paul" rel="me">fediverse (snac)</a>
<a href="https:&#x2F;&#x2F;codeberg.org&#x2F;pswilde" rel="me">codeberg</a>
<a href="https:&#x2F;&#x2F;keyoxide.org&#x2F;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>