[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Extending fluxbox menu with a script.



On Fri, 22 Nov 2013 12:15:21 +0000
Sharon Kimble <boudiccas@talktalk.net> wrote:

> On Fri, 22 Nov 2013 09:09:23 +1100
> Scott Ferguson <scott.ferguson.debian.user@gmail.com> wrote:
> 
> > On 22/11/13 08:50, Scott Ferguson wrote:
> > > On 22/11/13 06:39, Scott Ferguson wrote:
> > <snipped>
> > > 
> > > Try #2 :/
> > 
> > Try #3 (no sleep last night - trees and power lines down across the
> > property in last nights storms)  Sorry.
> > This time I remembered to escape those brackets. Please test this -
> > I can only check the script works, can't check if mmaker likes it.
> > 
> > > 
> > > Ignore the above - that echo won't reliably create multiple lines,
> > > printf will.
> > > 
> > > Try this which will:-
> > 
> > echo "
> > #!/bin/bash
> > # .fmenu
> > mv ~/.fluxbox/menu{,-$(date +%Y%m%d-%R)}
> > mmaker fluxbox -f
> > printf "\t[submenu] \(My
> > Menu\)\n\t[include]\(~/.fluxbox/usermenu\)\n\t[end]\n\t[separator]"
> > >> ~/.fluxbox/menu" > ~/.fmenu
> > 
> > > 
> > > 
> > > The above will:-
> > > create a script ~./.fmenu
> > > 
> > > Running ~/.fmenu will:-
> > > mv your existing ~/.fluxbox/menu to ~/.fluxbox/menu-YYYYmmdd-hh:mm
> > > create a new ~/.fluxbox/menu
> > > append your submenu to it
> > > 
> > > 
> > > If you want to remove the last [end] tag from the main menu (as
> > > suggested by Linux Fan try this:-
> > 
> > echo "
> > #!/bin/bash
> > # .fmenu
> > mv ~/.fluxbox/menu{,-$(date +%Y%m%d-%R)}
> > mmaker fluxbox -f
> > sed -i 's/\[end]//g' ~/.fluxbox/menu;sed -i '/^\s*$/d'
> > ~/.fluxbox/menu printf "\t[submenu] \(My
> > Menu\)\n\t[include]\(~/.fluxbox/usermenu\)\n\t[end]\n\t[separator]"
> > >> ~/.fluxbox/menu" > ~/.fmenu
> > 
> > 
> > 
> > Someone more awake than I can probably make that double invocation
> > of sed into a single call.
> > 
> Morning Scott.
> Thanks for this, I hope you slept better? This is what I currently
> have -
> 
> #!/bin/bash
> # .fmenu
> mv ~/.fluxbox/menu{,-$(date +%Y%m%d-%R)}
> 
> mmaker fluxbox -f
> 
> sed -i 's/\[end]//g' ~/.fluxbox/menu;sed -i '/^\s*$/d' ~/.fluxbox/menu
> 
> printf '\t[submenu] \(My
> Menu\)\n\t[include]\(~/.fluxbox/usermenu\)\n\t[end]\n\t[separator]'
> >>~/.fluxbox/menu" >~/.fmenu
> 
> and the double sed line works okay, but its failing at the 'printf'
> line saying -
> 'tryitout
> /home/boudiccas/bin/tryitout: line 21: /home/boudiccas/.fluxbox/menu 
> 
> >~/.fmenu'
> 
> NB - my working script is always called 'tryitout', just whilst I'm
> developing something. 
> 
> The new menu is created without the two [end] at its end, but there is
> nothing from 'printf' at all.
> 
> Sorry
> Sharon.
> 
I've been doing some more testing and now got the 'submenu' being
generated at the end, which is good. But, the sed lines are also
stripping out *all* of the [end] lines which separate the sections of
the menu, which are needed for it to function properly. So how can we
get it to just strip out the two [end] at the end of the main menu, and
leave all of the other [end] in the script intact please?

Thanks
Sharon.

Attachment: signature.asc
Description: PGP signature


Reply to: