@hackage hdmenu0.3.0
A small wrapper around dmenu
Categories
License
GPL-3.0-only
Maintainer
Tony Zorman <soliditsallgood@mailbox.org>
Links
Versions
- 0.3.0 Thu, 23 May 2024
Installation
Tested Compilers
Dependencies (15)
- base >=4.17.2 && <4.22
- base-prelude >=1.6.1 && <1.7
- bytestring >=0.11.5 && <0.13
- bytestring-lexing >=0.5.0 && <0.6
- containers >=0.6.7 && <0.8
- directory >=1.3.7 && <1.5 Show all…
Dependents (0)
hdmenu
hdmenu is a small wrapper around dmenu—it can't do very much, though I
guess that's the point. It might be most notable for being a discount
yeganesh.
Features
- Display commands in order of usage and, optionally, apply a frequency decay every time an item is selected.
- Specify extra files to consider, which will be opened by a program of your choice (e.g.,
xdg-open). - Open certain executables inside of your terminal.
Configuration
Hdmenu is configured using a TOML file inside the $XDG_CONFIG_HOME/hdmenu directory (probably ~/.config/hdmenu).
See example.toml for an example configuration.
Note that, while having a config file is optional,
the $XDG_CONFIG_HOME/hdmenu directory will be created in either case,
in order to store the history file there.
Configuration option
The configuration file takes the following arguments:
-
open: A custom opening script (default:xdg-open). -
files: Files one wishes to edit; they will be opened according toopen. This can also take directoriesfiles = [ "~/.config/emacs/" ]in which case all files in that directory will be added to the list of files that
hdmenucares about. Directories can also be traversed recursively:# Files from `~/.config/emacs/' and all of its subdirectories. files = [ "~/.config/emacs/" ] -
executable: Custom dmenu executable (default:dmenu). -
terminal: A terminal emulator (default:xterm). -
tty-programs: A list of programs to be opened in the above terminal emulator. For example, specifyingtty-programs = [ "htop" ]will effectively enable one to start
htopdirectly from dmenu without having to open an extraneous terminal. -
decay: A frequency decay; all non-selected items will be multiplied by this number (default:1). A good value may be something like0.997
Command line options
-
--histFile- Short:
-f - Description: Path to the history file to use.
- Short:
-
--files-only- Short:
-o - Description: Whether to only show the user-specified files.
- Short:
-
--decay- Short:
-d - Description: A frequency decay; all non-selected items will be multiplied by this
- Short:
All options after -- will be directly forwarded to dmenu, so you may
specify options in the following way:
hdmenu -f /path/to/file -- -i -f -nb '#282A36' -nf '#BBBBBB' -sb '#8BE9FD' -sf '#000000' -fn 'Inconsolata Regular-10'
Installation
Stack
Build with stack build, then copy the executable to a convenient
location (or just use stack install, to copy the executable to the
local-bin-path).
Cabal
Build with cabal install.