# 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 ### Example in dmenu: https://user-images.githubusercontent.com/31094984/166115207-c24e9ec8-136e-4956-9842-bcde496bb743.mp4 ### Example in rofi: https://user-images.githubusercontent.com/31094984/166115213-511fdaaa-4c04-461a-9976-38a2e9bd83fe.mp4 ### Example of `command_wrapper` with `clipmenu` ![command_wrap](https://user-images.githubusercontent.com/31094984/167122436-eea0be88-a929-46e8-9b4d-cb677dcb129c.gif) ## 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 nim c pingclock ``` and then run with ```sh ./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 https://user-images.githubusercontent.com/31094984/166156793-2089cc10-2649-4079-b82d-bba272253dd6.mp4 ## Dependencies - dmenu, rofi, yad (for calendar) - basically any tool that's used to gather the information. - "tools" for audio etc. (`pamixer`, `ncpamixer`, etc.) can be set in the source ## Full disclosure I'm aware my code is messy. I'm aware my code is mostly undocumented. But hopefully these things are simple enough to work out.