Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nyyManni/dmenu-wayland

dmenu for wayland-compositors
https://github.com/nyyManni/dmenu-wayland

Last synced: 3 months ago
JSON representation

dmenu for wayland-compositors

Awesome Lists containing this project

README

        

# 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
```