Saul-Dickson / dmenu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dmenu-distrotube

Table of Contents

What is dmenu?

https://gitlab.com/dwt1/dotfiles/-/raw/master/.screenshots/dmenu-distrotube01.png

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.

What is dmenu-distrotube

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 functionality

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.

Available flags

  • [-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).

Installing dmenu-distrotube on Arch Linux

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.

Installing dmenu-distrotube on other Linux distributions

Download the source code from this repository or use a git clone:

NOTE: Installing dmenu-distrotube will overwrite your existing dmenu installation so make a backup of your current config if you need it.

About

License:MIT License


Languages

Language:C 84.0%Language:Roff 9.3%Language:Makefile 4.3%Language:Shell 2.5%