[Gambas-user] removing xterm escape codes from terminal text
brian at westwoodsvcs.com
Thu Jun 9 01:01:58 CEST 2022
"Failure is the key to success;
each mistake teaches us something" .. Morihei Ueshiba
----- On Jun 8, 2022, at 1:53 PM, Bruce Steers <bsteers4 at gmail.com> wrote:
> On Wed, 8 Jun 2022 at 13:19, Bruce Steers < [ mailto:bsteers4 at gmail.com |
> bsteers4 at gmail.com ] > wrote:
>> On Wed, 8 Jun 2022 at 05:06, Brian G < [ mailto:brian at westwoodsvcs.com |
>> brian at westwoodsvcs.com ] > wrote:
>>> I think there is, I will check it in the morning
>>> Brian G
>>> Tuesday, 07 June 2022, 01:20PM -07:00 from Bruce Steers [
>>> mailto:bsteers4 at gmail.com | bsteers4 at gmail.com ] :
>>>> Has anyone made a routine to strip xterm escape codes from a terminal text?
>>>> I'm looking at having to have a close study of the TerminalFilter_VT100.class
>>>> and try to account for all possible code combinations to strip them.
>>>> I thought before i spent hours doing it i'd ask if anyone already has and could
>>>> share the code.
>>>> Or if there is already a way either an existing function somewhere or possibly
>>>> in gb.form.terminal or some other class a function that could do it.
>>>> I'm looking at TerminalFilter_VT100.class and the function OutputTo() looks like
>>>> it could do it , it seems to do all the right processing but for other reasons.
>>>> maybe by printing to a stream i could get plain text but i do not know how to
>>>> do that :(
>>>> Any thoughts/suggestions?
>>>> Many thanks
>>>> All the best
>> Cheers Brian.
>> I have managed this so far but it seems bulky.
>> I added it to TerminalView.class ,
>> Bulky because it makes a whole new hidden form/terminalview and uses it's
>> OutputTo() to print text to it then uses TerminalView.Text,
>> trouble is OutputTo() needs a terminalview object in it's arguments.
>> Could be easier to just use the normal TerminalView.Text and process all the
>> text not one line at a time as it's output. :-/
>> Or maybe I should copy the OutputTo() and Escape() methods and edit them to not
>> print text to a TerminalView stream but return it instead.
> I did the above mentioned, copied OutputTo() and Escape() from
> TerminalFilter_VT100.class and removed all functionality and made all Print
> statements assign to a return string instead.
> I'll attach the project in case anyone is interested. (feel free to
> optimize/improve the code ;) )
> the aim of the project is to enable/disable a private root shell inside an
> application for issuing multiple commands with only one authorization request.
> Easy enough to to with a TerminalView and bash but not so easy to get some kind
> of "Wait" ability and getting return values and text from inside the bash
> It relies on monitoring the process text output, is starts bash and echos a
> "shell-ready" then after the command completes it echos "com-done:$?" giving
> the return value.
> Wishing well
I seem to remember there was a callback style thing to allow filtering, checking could be a dream!
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the User