A selection of information output tools for dmenu

These are a selection of independant tools for displaying various information about system status in dmenu. Some of them i.e. volume have options (up, down, mute…) which are selectable options in dmenu.

Tools

  • pingclock performs a single ping to a server and returns the response time
  • battery shows the current battery level
  • brightness shows the current backlight level and gives options to adjust it
  • volume shows the current volume level and gives options to adjust and manage it
  • date shows the date
  • fuzzytime shows the fuzzytime clock
  • wlan shows the state of the wireless network interface. SSID connected to and signal level.
  • nic shows the status and/or the ip address of the network interface card
  • temperature shows the current CPU temperature
  • notes a simple one liner note taking tool, displaying notes in dmenu/rofi

The next two do not work with rofi unless you have alias dmenu=rofi set, but they’re pretty nice tools

  • passmenu_wrapper a wrapper for passmenu. It basically just styles passmenu with no other features
  • command_wrapper inspired by passmenu_wrapper, a basic tool to run other dmenu related tools with uniform styling.
    • For example: dmenu_run, clipmenu, passmenu etc.

Example in dmenu:

dmenu_tools

Example of command_wrapper with clipmenu

command_wrap

How to compile

There are some configuration variables explicit to me, you’ll need to change them for you for them to be useful I imagine.
Configuration variables are compile - there are no config files or runtime parameters (except for “rofi”)

Each tool is compiled separately, for example:

nim c pingclock

and then run with

./pingclock 
# or
./pingclock rofi

How to use

Personally, I have these bound to key combinations in i3. In fact, I have a seperate bindsym mode in which all these tools are accessible i.e. $mod+i to get to “info” mode then p to show pingclock.
It’s completely up to you how to run them, they’re just simple CLI tools really.

You can also set the volume and brightness levels by typing a numeric figure into the dmenu/rofi input box

Dependencies

  • dmenu or rofi
  • yad for calendar
  • passmenu for passmenu_wrapper
  • basically any tool that’s used to gather the information.
  • “tools” for audio etc. (pamixer, ncpamixer, etc.) can be set in the source