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.


On 3/26/23 22:53, Timo Paulssen via perl6-users wrote:
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




I figured!  Thank you!


Hmmm, "All updates complete" sound like it may have came from

    # dnf updates




Reply via email to