84 lines
2.9 KiB
Markdown
84 lines
2.9 KiB
Markdown
|
# dmenu-wl - dynamic menu
|
||
|
dmenu-wl is an efficient dynamic menu for wayland (wlroots).
|
||
|
|
||
|
## TODO
|
||
|
Missing dmenu (for X) features:
|
||
|
- Echo (non-interactive use)
|
||
|
- Handling pagination
|
||
|
- Vertical layout
|
||
|
- Return-early
|
||
|
- Control-Enter handling
|
||
|
- Keyrepeat
|
||
|
- Choice (-c) -mode
|
||
|
|
||
|
Other TODO items:
|
||
|
- Cleaner exiting
|
||
|
- Generate protocol files with `wayland-scanner`
|
||
|
|
||
|
## Requirements
|
||
|
Requires a compositor which implements wlr-layer-shell and xdg-output
|
||
|
protocols. Basically this means a wlroots-based compositor is needed.
|
||
|
Gnome and KDE are therefore [not supported](https://github.com/nyyManni/dmenu-wayland/issues/16).
|
||
|
Tested with sway 1.0.
|
||
|
|
||
|
Required libraries (and headers):
|
||
|
- wayland-client
|
||
|
- cairo
|
||
|
- pango-1.0
|
||
|
- pangocairo-1.0
|
||
|
- xkbcommon
|
||
|
- glib-2.0
|
||
|
- gobject-2.0
|
||
|
|
||
|
|
||
|
## Installation
|
||
|
```
|
||
|
mkdir build
|
||
|
meson build
|
||
|
ninja -C build
|
||
|
sudo ninja -C build install
|
||
|
```
|
||
|
|
||
|
## Running dmenu-wl ...
|
||
|
|
||
|
### ... as the application launcher in Sway
|
||
|
|
||
|
Add to sway configuration (`~/.config/sway/config`) to run the launcher on Win+D.
|
||
|
|
||
|
bindsym $mod+d exec dmenu-wl_run -i
|
||
|
|
||
|
### ... from the command-line
|
||
|
|
||
|
See the man page for details.
|
||
|
```
|
||
|
Usage: dmenu-wl [OPTION]...
|
||
|
|
||
|
Display newline-separated input stdin as a menubar
|
||
|
|
||
|
-e, --echo display text from stdin with no user
|
||
|
interaction
|
||
|
-ec, --echo-centre same as -e but align text centrally
|
||
|
-er, --echo-right same as -e but align text right
|
||
|
-et, --echo-timeout SECS close the message after SEC seconds
|
||
|
when using -e, -ec, or -er
|
||
|
-b, --bottom dmenu appears at the bottom of the screen
|
||
|
-h, --height N set dmenu to be N pixels high
|
||
|
-i, --insensitive dmenu matches menu items case insensitively
|
||
|
-l, --lines LINES dmenu lists items vertically, within the
|
||
|
given number of lines
|
||
|
-m, --monitor MONITOR dmenu appears on the given monitor
|
||
|
(0-based index or monitor name)
|
||
|
-p, --prompt PROMPT prompt to be displayed to the left of the
|
||
|
input field
|
||
|
-po, --prompt-only PROMPT same as -p but don't wait for stdin
|
||
|
useful for a prompt with no menu
|
||
|
-r, --return-early return as soon as a single match is found
|
||
|
-fn, --font-name FONT font or font set to be used
|
||
|
-nb, --normal-background COLOR normal background color
|
||
|
#RRGGBB and #RRGGBBAA supported
|
||
|
-nf, --normal-foreground COLOR normal foreground color
|
||
|
-sb, --selected-background COLOR selected background color
|
||
|
-sf, --selected-foreground COLOR selected foreground color
|
||
|
-v, --version display version information
|
||
|
```
|