No Description

Alessandro Serra 709285c359 typing error 1 week ago
examples 48f7e0f28f improve code 1 week ago
src 004e07e70c fix typing error 1 week ago
tests 237431597b fix small error 1 week ago
.gitignore 48f7e0f28f improve code 1 week ago
LICENSE 6eec40a00b initial 4 weeks ago
README.md 48f7e0f28f improve code 1 week ago
README.org 48f7e0f28f improve code 1 week ago
lilu-dmenu.asd 709285c359 typing error 1 week ago
packages.lisp 48f7e0f28f improve code 1 week ago

README.md

Table of Contents

  1. lilu-dmenu
    1. Usage
    2. Installation
    3. Author
    4. Licence
    5. Copyright
    6. ToDo

lilu-dmenu

Call dmenu/rofi program from Common Lisp

Usage

(dynamic-menu "select a number" '(1 2 3 4 5)
              :item-fn #'(lambda (x) (format nil "~r" x)))

(multiple-value-bind (sel match-p)
    (dynamic-menu "select a number" '(1 2 3 4 5)
                  :item-fn #'(lambda (x) (format nil "~r" x)))
  (format t "Selection: ~A (~A) ~%" sel (if match-p "matched" "unmatched")))

(let ((*rofi-emulate-dmenu-p* t))
  (multiple-value-bind (sel match-p)
      (dynamic-menu "select a number" '(1 2 3 4 5)
                    :item-fn #'(lambda (x) (format nil "~r" x)))
    (format t "Selection: ~A (~A) ~%" sel (if match-p "matched" "unmatched"))))

(multiple-value-bind (sel match-p)
    (dmenu "select a number" '(1 2 3 4 5)
           :item-fn #'(lambda (x) (format nil "~r" x)))
  (format t "Selection: ~A (~A) ~%" sel (if match-p "matched" "unmatched")))

(multiple-value-bind (sel match-p)
    (rofi "select a number" '(1 2 3 4 5)
          :item-fn #'(lambda (x) (format nil "~r" x)))
  (format t "Selection: ~A (~A) ~%" sel (if match-p "matched" "unmatched")))

The default theme:

lilu-dmenu:*dmenu-theme*
lilu-dmenu:*rofi-theme*

To use a different theme:

(let ((*dmenu-theme* (append '((:bg . "#ff0000")
                               (:fg . "#00ff00")) *dmenu-theme*)))
  (dmenu "select a number" '(1 2 3 4 5)
         :item-fn #'(lambda (x) (format nil "~r" x))))

Installation

Clone the project into local-projects of quicklisp, then

(ql:quickload :lilu-dmenu)

Author

  • Alessandro Serra

Licence

CC0

Copyright

Copyright (c) 2019,2021 Alessandro Serra

ToDo