No description
Find a file
2022-05-17 16:12:32 +01:00
i3bar_tools_threaded-BROKEN added compile_add.sh for easy compilation of all tools 2022-05-06 12:48:56 +01:00
lib added remmina tool 2022-05-10 20:47:15 +01:00
WIP added compile_add.sh for easy compilation of all tools 2022-05-06 12:48:56 +01:00
.gitignore first commit 2022-02-06 20:10:06 +00:00
base.nim added screenshot 2022-05-14 15:44:20 +01:00
battery.nim refactor and made configuration constants easier to see/change 2022-05-04 16:17:02 +01:00
brightness.nim added argument parsing in volume and brightness for ease of binding to wm keys 2022-05-14 14:15:11 +01:00
calculate.nim added emoji picker 2022-05-09 21:08:54 +01:00
command_wrapper.nim update readme 2022-05-06 12:37:35 +01:00
compile_all.sh added argument parsing in volume and brightness for ease of binding to wm keys 2022-05-14 14:15:11 +01:00
date.nim refactor and made configuration constants easier to see/change 2022-05-04 16:17:02 +01:00
emoji.nim added remmina tool 2022-05-10 20:47:15 +01:00
fuzzytime.nim added argument parsing in volume and brightness for ease of binding to wm keys 2022-05-14 14:15:11 +01:00
i3_workspaces.nim no flip flop between last used workspace 2022-05-17 16:12:32 +01:00
LICENSE Create LICENSE 2022-04-30 17:57:58 +01:00
nic.nim refactor and made configuration constants easier to see/change 2022-05-04 16:17:02 +01:00
notes.nim added better dmenu cmd generation 2022-05-06 11:12:13 +01:00
passmenu_wrapper.nim added command_wrapper for various other dmenu styled tools 2022-05-06 12:07:22 +01:00
pingclock.nim refactor and made configuration constants easier to see/change 2022-05-04 16:17:02 +01:00
README.MD added translate 2022-05-10 22:19:28 +01:00
remmina.nim added translate 2022-05-10 22:18:37 +01:00
screenshot.nim added screenshot 2022-05-14 15:44:20 +01:00
temperature.nim refactor and made configuration constants easier to see/change 2022-05-04 16:17:02 +01:00
translate.nim translate: added defaults, detection, and temp store last used in memory 2022-05-11 16:16:07 +01:00
volume.nim added argument parsing in volume and brightness for ease of binding to wm keys 2022-05-14 14:15:11 +01:00
wlan.nim refactor and made configuration constants easier to see/change 2022-05-04 16:17:02 +01: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.

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.