Lib/Rofi: Allow supplying a dmenu command for mkSimpleMenu
This commit is contained in:
@ -21,7 +21,11 @@
|
|||||||
|> builtins.attrValues
|
|> builtins.attrValues
|
||||||
|> builtins.concatStringsSep "\n";
|
|> builtins.concatStringsSep "\n";
|
||||||
in
|
in
|
||||||
prompt: attrs:
|
{
|
||||||
|
prompt,
|
||||||
|
attrs,
|
||||||
|
command ? ''rofi -dmenu -p " ${prompt} " -i'',
|
||||||
|
}:
|
||||||
pkgs.writeScriptBin "rofi-menu-${prompt}" ''
|
pkgs.writeScriptBin "rofi-menu-${prompt}" ''
|
||||||
#! ${pkgs.fish}/bin/fish
|
#! ${pkgs.fish}/bin/fish
|
||||||
|
|
||||||
@ -29,7 +33,7 @@
|
|||||||
set OPTIONS ${unpack-options attrs}
|
set OPTIONS ${unpack-options attrs}
|
||||||
|
|
||||||
# We choose a single OPTION using Rofi
|
# We choose a single OPTION using Rofi
|
||||||
set OPTION (echo -e (string join "\n" $OPTIONS) | rofi -dmenu -p " ${prompt} " -i)
|
set OPTION (echo -e (string join "\n" $OPTIONS) | ${command})
|
||||||
|
|
||||||
# Check if the chosen OPTION is a valid choice from OPTIONS
|
# Check if the chosen OPTION is a valid choice from OPTIONS
|
||||||
if not contains $OPTION $OPTIONS
|
if not contains $OPTION $OPTIONS
|
||||||
|
|||||||
Reference in New Issue
Block a user