i3bar_tools_threaded | ||
.gitignore | ||
base.nim | ||
battery.nim | ||
brightness.nim | ||
date.nim | ||
fuzzytime.nim | ||
LICENSE | ||
nic.nim | ||
notes.nim | ||
pingclock.nim | ||
README.MD | ||
temperature.nim | ||
tides.nim | ||
volume.nim | ||
wlan.nim |
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 singleping
to a server and returns the response timebattery
shows the current battery levelbrightness
shows the current backlight level and gives options to adjust itvolume
shows the current volume level and gives options to adjust and manage itdate
shows the datefuzzytime
shows the fuzzytime clockwlan
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 cardtemperature
shows the current CPU temperaturenotes
a simple one liner note taking tool, displaying notes in dmenu/rofi
Example in dmenu:
Example in rofi:
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, 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.