Logo

Tiny scripts to improve your productivity.

View My GitHub Profile

tmenu

A simple dmenu wrapper to create custom menus

You use dmenu and want to build menus in a straight forward way? What about even having submenus? tmenu may help.

Dependencies

Instalation

To install tmenu you can edit the Makefile to match your local setup (tmenu is installed into the /usr/local/bin by default).

Afterwards enter the following command to install tmenu (if necessary as root).

sudo make install

Usage

tmenu always needs a yaml file to express the custom menu structure, like this one:

quick_menu:
  network: x-terminal-emulator -e nmtui
  screenshot:
    selection: scrot -s '/home/user/%Y-%m-%d-%H_%M_%S.jpg'
    fullscreen: scrot '/home/user/%Y-%m-%d-%H_%M_%S.jpg'
  power:
    shutdown: shutdown -h now
    reboot: reboot
    lock: slock
  dotfiles:
    vim: vim $HOME/.vimrc
    bash: vim $HOME/.bashrc
    tmenus: vim $HOME/tmenus
  another_option: notify-send "you get the idea"

The menu file should be assigned to the TMENU_FILE variable. It can be used as an environment variable at your .bashrc or .zshrc file. So when you call tmenu, the menu is opened:

Or TMENU_FILE can be assigned when calling tmenu:

$ export TMENU_FILE=quick_menu.yaml; tmenu
$ #or
$ echo "export TMENU_FILE=quick_menu.yaml" >> ~/.bashrc
$ tmenu

tmenu example

Team

Edimar Calebe Castanho Gabriel Gaboardi
Edimar Calebe Castanho (Calebe94) Gabriel Gaboardi (Gabo)

License

All software is covered under GNU General Public License v3.0.