develooper Front page | perl.perl6.users | Postings from March 2023

Re: my zenity adventure

Thread Previous | Thread Next
From:
Timo Paulssen via perl6-users
Date:
March 27, 2023 05:54
Subject:
Re: my zenity adventure
Message ID:
C7D0E3CA-06CF-4131-99E9-47BE9FD51E2D@wakelift.de
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-users@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.
Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About