From c8fc83e3525959abdc1e7ce91477d74bf6b35a72 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 9 May 2022 13:36:39 +0200 Subject: Added edit-menu --- edit-menu | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 edit-menu (limited to 'edit-menu') diff --git a/edit-menu b/edit-menu new file mode 100755 index 0000000..ed180a2 --- /dev/null +++ b/edit-menu @@ -0,0 +1,25 @@ +#!/bin/sh + +# A "filter", based on your favorite editor. +# It reads lines from stdin, opens a file containing these lines +# with your favorite editor, and then prints the content of the file +# $EDITMENU to stdout. I have configured my editor to write the +# current line to $EDITMENU when pressing ;; (semicolon twice) like this +# map ;; !!tee -a $EDITMENU^M " For nvi + +# It can be used to replace dmenu or similar menu applications in +# constrained environment. It works even without any (n)curses library, +# assuming you use a suitable editor (like ed). + +editor=${EDITOR:-vi} + +export EDITMENU=$(mktemp) +in=$(mktemp) + +cat > "$in" + +# This is a dirty trick to "help" the editor (vi) understand that it can +# take over the tty to get its input. +$editor "$in" < /dev/tty + +cat $EDITMENU -- cgit v1.3