Code Monkey home page Code Monkey logo

dmenu-wayland's Introduction

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. 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

dmenu-wayland's People

Contributors

nyymanni avatar queyenth avatar fabianscode avatar mortie avatar ganguin avatar gaspard-- avatar janlucaklees avatar lassipulkkinen avatar markstos avatar saro avatar rakusan2 avatar santouits avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.