Z <zi...@sdf.org> wrote in
 <61684b71.hlwju2xf9gm3gcoz%zi...@sdf.org>:
 |Steffen Nurpmeso <stef...@sdaoden.eu> wrote:
 |> Z <zi...@sdf.org> wrote in
 |>  <61676f30.O/q/a8uppae86zoh%zi...@sdf.org>:
 |>|I was wondering if there was a way to define a new internal variable
 |>|that could then be updated as needed via folder hooks.  Specifially
 |>|I'd like to isolate the IMAP [/path] value which is present in both
 |>|the 'mailbox-displayed' and 'mailbox-resolved' internal variables
 |>|whenever an IMAP mailbox is accessed.
 |>|
 |>|My end goal is to use the IMAP [/path] value in the s-mailx prompt
 |>|along with the 'account' variable so as to always display the active
 |>|IMAP account name and folder without showing the entire protocol:// URI.
 |>
 |> A bit ugly but could you use
 |>
 |>  vput vexpr prompt regex "$mailbox-resolved" ([^/]+)$ '\$1'
 |>   if -z "$prompt"; set prompt=nada; endif
 |>
 |> If you put this in a folder hook this should work.
 |
 |Yes that seems to be what I was looking for but now I'm wondering
 |if there is some way to do this within the 'set prompt=' assignment
 |since prompt is basically a universal folder hook.  The following
 |produces the prompt I'm after:
 |
 | vput vexpr prompt regex "$mailbox-resolved" ([^/]+)$ '[\$account/\$1] > '
 |
 |Can that be executed whenever the prompt is updated?

No.  That is, not yet.  *prompt* is always shell-style evaluated
"as if specified within $''" before it is displayed, but $'' does
not yet support the envisaged \`{...} extension to execute
commands.  For now *folder-hook* has to be used, which .. should
satisfy your reported needs?  I mean we could introduce
a *mailbox-basename* variable.  Ok i did that.  Be warned you got
credited.

Ciao from Germany,

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to