- What is dmenu?
- What is dmenu-distrotube
- Mouse functionality
- Available flags
- Installing dmenu-distrotube on Arch Linux
- Installing dmenu-distrotube on other Linux distributions
dmenu is a dynamic menu for X, originally designed for dwm. It manages large numbers of user-defined menu items efficiently. It is a very powerful tool that allows you to pipe information into it. This makes dmenu a perfect utility to incorporate into your scripting.
dmenu-distroube is my personal build of dmenu that is very heavily patched to add more functionality and more customization options. The patches that I used in this build include:
- dmenu-border – adds border around dmenu window
- dmenu-center – centers dmenu in the middle of screen (-c)
- dmenu-fuzzyhighlight – fuzzy matches gets highlighted
- dmenu-fuzzymatch – adds support for fuzzy-matching
- dmenu-grid – adds a flag (-g) to specify the number of grid columns
- dmenu-lineheight – adds a flag (-h) to set the minimum height of dmenu lines
- dmenu-morecolor – creates a color option for use the entries adjacent to the selection
- dmenu-mousesupport – basic mouse support
- dmenu-numbers – Displays number of matched and total items in top right corner
Mouse actions supported:
- Left-mouse click:
- On prompt and input field: clear input text and selection.
- In horizontal and vertical mode on item: select and output item (same as pressing enter).
- In horizontal mode on arrows: change items to show left or right.
- Ctrl-left-mouse click: multisel modifier.
- Right-mouse click: close.
- Middle-mouse click:
- Paste current selection.
- While holding shift: paste primary selection.
- Scroll up:
- In horizontal mode: same as left-clicking on left arrow.
- In vertical mode: show items above.
- Scroll down:
- In horizontal mode: same as left-clicking on right arrow.
- In vertical mode: show items below.
- [-l lines]
- [-g columns]
- [-p prompt]
- [-fn font]
- [-m monitor]
- [-h height]
- [-nb color]
- [-nf color]
- [-sb color]
- [-sf color]
- [-nhb color]
- [-nhf color]
- [-shb color]
- [-shf color]
- [-w windowid]
- [-c] for centering
An example: dmenu_run -c -bw 2 -l 20 -g 4 -p ‘Run: ’
This launches dmenu_run with -c (centered), -bw (border width), -l (number of vertical lines) and -g (number of grid columns).
All you need to do is to download the PKGBUILD from this repository. Then run the following command:
makepkg -cf
This will create a file that ends in .pkg.tar.zst (for example, dmenu-distrotube-git-5.0-1-x86_64.pkg.tar.zst). Then run:
sudo pacman -U *.pkg.tar.zst
Alternatively, you could also install dmenu-distrotube-git from my own personal Arch repository. To do so, add the following to the end of /etc/pacman.conf :
[dt-arch-repo] SigLevel = Optional DatabaseOptional Server = https://gitlab.com/dwt1/$repo/-/raw/master/$arch
Then, sync the repositories and update your system with:
sudo pacman -Syyu
And, then:
sudo pacman -S dmenu-distrotube-git
NOTE:
Installing dmenu-distrotube-git conflicts with the standard dmenu package. If you already have dmenu installed, you will be asked if you want to remove dmenu and install dmenu-distrotube-git instead.
Download the source code from this repository or use a git clone:
- git clone https://gitlab.com/dwt1/dmenu-distrotube.git
- cd dmenu-distrotube
- sudo make clean install
NOTE:
Installing dmenu-distrotube will overwrite your existing dmenu installation so make a backup of your current config if you need it.