in reply to Re: Term::ANSIMenu help
in thread Term::ANSIMenu help

Many thanks for your speedy response. I have included my code this time. selection_fgcolor =>"RED" works fine but item_fgcolor => "YELLOW", and item_bgcolor => "BLUE" have no impact.

#!/usr/bin/perl use Term::ANSIMenu; my $menu = Term::ANSIMenu->new( width => 79, title => '[MENU v3.02] Plumbing Sales +MENU', title_style =>['BOLD'], exit_keys=>['X'], item_fgcolor => "YELLOW", item_bgcolor => "BLUE", + selection_fgcolor =>"RED", items => [[ 'A','SALES ORDERS MENU [-MENU-]',sub { +system " kcmenu $ENV{TBX_DISK0}/100,100/sm2so"} ], [ 'B','TICKETS & INVOICING MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/sm2tkt"} ], [ 'C','STOCK & SUPPLIERS MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/sm2stk"} ], [ 'D','CUSTOMERS & CONTRACTS MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/sm2cus"} ], [ 'E','GOODS IN MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_KCM}/GoodsIn.kcm"} ], [ 'F','TRANSPORT MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/sm2trans"} ], [ 'G','MARKING MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/sm2mark"} ], [ 'H','QUOTATIONS MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_KCM}/Quotes.kcm"} ], [ 'I','BONUS MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/bonus1"} ], [ 'J','EXTRAS MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/sm2extra"} ], [ 'K','DIRECTS MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_DISK0}/100,100/pdso"} ], [ 'L','STOCK TRANSFERS v2.0 MENU [-MENU-]',sub {system " kc +menu $ENV{TBX_KCM}/Transfers.kcm"} ], [ 'S','Supplier Returns v1.0 [gdsrtn]',sub {system " tb +w -i [50,50]gdsrtn"} ], [ 'X','Exit Menu',undef ], ],); $menu->print_menu(); while (my $key = uc($menu->read_key())) { last unless defined $menu->do_key($key); $menu->update_status('') if $key eq 'S'; $menu->update_status('New status') if $key eq 's'; $menu->update_prompt('') if $key eq 'P'; $menu->update_prompt('New prompt: ') if $key eq 'p'; } $menu->pos($menu->line_after_menu() + 1, 1);

Replies are listed 'Best First'.
Re^3: Term::ANSIMenu help
by FreeBeerReekingMonk (Deacon) on Dec 09, 2016 at 20:56 UTC
    [ 'S','Supplier Returns v1.0.... uses the S and $menu->update_status('') if $key eq 'S'; use a different letter. You also are hitting the maximum?

    The color is simple (a feature to prevent color bleeding). The style is by DEFAULT the value CLEAR, which means "nothing". so you need to unset it to make it work:

    item_fgcolor => "YELLOW", item_style => [],

    item_style: must be one or more of BLINK, REVERSE, BOLD, UNDERLINE and CLEAR

    edit:

    also, end your script with:

    $menu->pos($menu->item_count() + 7, 1);

    It will move the cursor to the bottom of your menu

      Thank you ever so much, your help is much appreciated.