a set of information system tools displayed in dmenu (or rofi), built for a tiling window manager really but should work with any WM/DE https://paulwilde.uk
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Paul Wilde 6543416654 no flip flop between last used workspace 3 days ago
WIP added compile_add.sh for easy compilation of all tools 2 weeks ago
i3bar_tools_threaded-BROKEN added compile_add.sh for easy compilation of all tools 2 weeks ago
lib added remmina tool 1 week ago
.gitignore first commit 3 months ago
LICENSE Create LICENSE 3 weeks ago
README.MD added translate 1 week ago
base.nim added screenshot 6 days ago
battery.nim refactor and made configuration constants easier to see/change 2 weeks ago
brightness.nim added argument parsing in volume and brightness for ease of binding to wm keys 6 days ago
calculate.nim added emoji picker 2 weeks ago
command_wrapper.nim update readme 2 weeks ago
compile_all.sh added argument parsing in volume and brightness for ease of binding to wm keys 6 days ago
date.nim refactor and made configuration constants easier to see/change 2 weeks ago
emoji.nim added remmina tool 1 week ago
fuzzytime.nim added argument parsing in volume and brightness for ease of binding to wm keys 6 days ago
i3_workspaces.nim no flip flop between last used workspace 3 days ago
nic.nim refactor and made configuration constants easier to see/change 2 weeks ago
notes.nim added better dmenu cmd generation 2 weeks ago
passmenu_wrapper.nim added command_wrapper for various other dmenu styled tools 2 weeks ago
pingclock.nim refactor and made configuration constants easier to see/change 2 weeks ago
remmina.nim added translate 1 week ago
screenshot.nim added screenshot 6 days ago
temperature.nim refactor and made configuration constants easier to see/change 2 weeks ago
translate.nim translate: added defaults, detection, and temp store last used in memory 1 week ago
volume.nim added argument parsing in volume and brightness for ease of binding to wm keys 6 days ago
wlan.nim refactor and made configuration constants easier to see/change 2 weeks ago

README.MD

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
  • calculate a calculator, utilising qalculate - inspired by @fedops
  • emoji an emoji picker
  • remmina reads the files in your remmina config directory and allows you to connect to and edit them
  • translate utilises libretranslate (you'll need and API key or your own instance) to translate test. Prefix the text with en>de, de>en, en>fr, etc. as you need. Must be compiled with -d:ssl

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

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.