Hey Todd,

Its likely that because you are using the shell sub the < and > characters have 
been interpreted by the shell to mean redirection. Check for odd files in your 
working directory that have the text you saw zenity output in them, and perhaps 
there is even a file with heat the capital letter S.

When you are putting together strings like that to put into a shell call, you 
are dancing on very thin ice wearing Doc Martens and a backpack filled to point 
of bursting with tungsten bars while balancing buckets of boiling water on the 
tip of your nose and also for some reason there are sharks below the ice ...

Also, sprintf should pass \n through as-is Anne it likely got interpreted later 
on by some other part of the process.

Be extremely weary of your variables containing double quotes in them, and 
slightly weary of single quotes.

Hope that helps you find out what exactly is going on

On 27 March 2023 01:35:39 CEST, ToddAndMargo via perl6-users 
<perl6-us...@perl.org> wrote:
>Hi All,
>
>Fedora 36
>zenity-3.43.0-3.fc37.x86_64
>rakudo-pkg-2022.7.0-03.x86_64
>
>
>My adventure with a zenity call!
>
>I just worked around a problem with a call to zenity:
>
>Note: zenity can not resolve Raku's "\n", so you have to
>preformat the "text" field with "sprintf".
>
>
>$NotifyStr = sprintf "\nStarting $ProgramName\n\nTakes about $Timeout seconds 
>to finish compiling\nMozilla Mirror = <$MozillaMirror>\n";
>
>The above gave me "All updates are complete" in the text
>field. Hmmmmmmmm.  I do goof a lot of stuff up (who me????)
>but I am "pretty sure" I did not tell zenity that.
>I did a direct print of $NotifyStr to the command
>line to make sure anyway.
>
>
>I traced it down to the "<" and ">".
>
>Separating the "<" and ">" with `~ ">" ~` in the string
>did not help.
>
>
>Taking out the "<" and ">" got rid of the problem.  Not
>as pretty, but it will due.
>
>$NotifyStr = sprintf "\nStarting $ProgramName\n\nTakes about $Timeout seconds 
>to finish compiling\nMozilla Mirror = $MozillaMirror\n";
>
>
>The zenity call:
>
>shell "zenity --info --title \"$Title\" --text \"$NotifyStr\" --width=220 
>--timeout=$Timeout &";
>
>
>I was unable to reproduce this from a direct call
>to zenity from the command line, so it was probably
>something that happened between Raku and zenity.
>
>Of interest, on the direct call "\n" came out as an "S".
>
>
>Hope this helps someone else.
>
>-T
>

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Reply via email to