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.
Attachment:
signature.asc
Description: PGP signature