2022-04-29 10:15:19 +02:00
|
|
|
# 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.
|
2022-04-29 11:19:04 +02:00
|
|
|
|
2022-05-03 22:50:04 +02:00
|
|
|
## Tools
|
2022-05-06 13:07:22 +02:00
|
|
|
- `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
|
2022-05-06 13:30:31 +02:00
|
|
|
- `notes` a simple one liner note taking tool, displaying notes in `dmenu`/`rofi`
|
2022-05-06 13:11:10 +02:00
|
|
|
|
|
|
|
The next two do not work with `rofi` unless you have `alias dmenu=rofi` set, but they're pretty nice tools
|
|
|
|
|
2022-05-06 13:30:31 +02:00
|
|
|
- `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
|
2022-04-30 19:00:55 +02:00
|
|
|
|
2022-05-06 13:30:31 +02:00
|
|
|
### Example in `dmenu`:
|
2022-04-30 19:02:47 +02:00
|
|
|
|
2022-05-06 13:30:31 +02:00
|
|
|
![dmenu_tools](https://user-images.githubusercontent.com/31094984/167123173-ee8092a2-d5ab-47b4-b207-ced328072cc0.gif)
|
2022-04-29 11:19:04 +02:00
|
|
|
|
2022-05-06 13:23:44 +02:00
|
|
|
### Example of `command_wrapper` with `clipmenu`
|
|
|
|
|
|
|
|
![command_wrap](https://user-images.githubusercontent.com/31094984/167122436-eea0be88-a929-46e8-9b4d-cb677dcb129c.gif)
|
|
|
|
|
2022-05-04 17:17:02 +02:00
|
|
|
## 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:
|
2022-04-29 10:15:19 +02:00
|
|
|
```nim
|
|
|
|
nim c pingclock
|
|
|
|
```
|
2022-04-29 10:59:28 +02:00
|
|
|
and then run with
|
|
|
|
```sh
|
2022-05-04 17:17:02 +02:00
|
|
|
./pingclock
|
2022-04-29 10:59:28 +02:00
|
|
|
or
|
|
|
|
./pingclock rofi
|
|
|
|
```
|
2022-04-29 10:15:19 +02:00
|
|
|
|
2022-05-04 17:17:02 +02:00
|
|
|
## 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.
|
2022-05-01 19:09:07 +02:00
|
|
|
|
2022-05-03 22:50:04 +02:00
|
|
|
### You can also set the volume and brightness levels by typing a numeric figure into the dmenu/rofi input box
|
2022-05-01 19:14:24 +02:00
|
|
|
|
2022-05-04 17:17:02 +02:00
|
|
|
## Dependencies
|
2022-05-06 13:30:31 +02:00
|
|
|
- `dmenu` or `rofi`
|
|
|
|
- `yad` for calendar
|
|
|
|
- `passmenu` for passmenu_wrapper
|
2022-05-04 17:17:02 +02:00
|
|
|
- basically any tool that's used to gather the information.
|
|
|
|
- "tools" for audio etc. (`pamixer`, `ncpamixer`, etc.) can be set in the source
|
2022-05-01 19:05:31 +02:00
|
|
|
|
2022-05-04 17:17:02 +02:00
|
|
|
## 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.
|