Re: Livecode Login stuck pinging Facebook?

2024-05-03 Thread Geoff Canyon via use-livecode
I'm completely locked out -- my Mac happened to open dp8, took me to the
registration saying I wasn't recognized, and now all versions of LC take me
to the registration page. I can't login at the web site either, and trying
to reset my password doesn't email me.

very sad face

gc

On Fri, May 3, 2024 at 2:50 PM David Bovill via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I can't login to my account and register the new dp8 - or login via the web
> site. Something Livecode server end?
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Does the browser widget work?

2023-12-08 Thread Geoff Canyon via use-livecode
Good gosh, WHY!?

(That fixed it, thanks)

On Fri, Dec 8, 2023 at 4:53 PM Andreas Bergendal <
andreas.bergen...@gmail.com> wrote:

> It works for me (LC 9.6.11, Mac).
>
> Impractically, the browser widget only shows its content with browse tool
> selected, not pointer tool.
> But I suppose your problem isn’t that simple, right…? :)
>
>
> > 8 dec. 2023 kl. 22:42 skrev Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com>:
> >
> > set the url of widget 1 to “http://www.google.com” — nothing
> >
> > set the url of widget 1 to “file:///Users/gcanyon/Desktop/test.html” —
> also
> > nothing
> >
> > Am I doing it wrong?
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Does the browser widget work?

2023-12-08 Thread Geoff Canyon via use-livecode
set the url of widget 1 to “http://www.google.com” — nothing

set the url of widget 1 to “file:///Users/gcanyon/Desktop/test.html” — also
nothing

Am I doing it wrong?
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: All Versions of LC crashing in Sonoma

2023-09-29 Thread Geoff Canyon via use-livecode
Confirming that 9.6.9 dies immediately on launch for me.

I have a standalone I built with one of the 9.6.x builds, and that doesn't
die (at least not immediately).

gc

On Fri, Sep 29, 2023 at 7:23 AM Paul Dupuis via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I've not tested personally, but I have been told that STANDALONEs build
> on 9.6.9 work on Sonoma.
>
> Can any one running Sonoma test confirm this? (Perhaps again?)
>
>
> On 9/28/2023 10:22 PM, Roger Guay via use-livecode wrote:
> > Hope to find help here. LC Versions 9.6.3, 9.6.9, and 10.0.0 all give me
> the “LiveCode quit unexpectedly" on launch after upgrading to Sonoma v14.0
> on my Mac, And no, Reopen does not work either. Please help.
> >
> > Thanks,
> >
> > Roger
> >
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Your scripts as a flowchart

2023-09-17 Thread Geoff Canyon via use-livecode
Is there a way to export the entire flowchart, instead of just the portion
currently displayed?

As an aside, I don't know whether to be proud or horrified at the map
Navigator produces...

On Sat, Sep 16, 2023 at 8:04 PM Geoff Canyon  wrote:

> Ah, okay, that explains it. In Navigator, *everything* is a script-only
> stack behavior. In a few of the substacks there are scripts for a few
> template objects or where script-only-stack behaviors were inconvenient (I
> don't remember why, honestly).
>
> That has it working, and the resulting diagram is nice. Navigator does a
> similar survey (without the visualization, that's a neat trick).
>
> Navigator reports:
>
> 302986 characters in
> 8092 lines in
> 112 scripts in
> 885 objects.
>
> ScriptDependencies reports:
>
> 341 unique handler names - 407 commands, 124 functions, 1 setProps
>
> regards,
>
> Geoff
>
> On Sat, Sep 16, 2023 at 6:24 PM Andreas Bergendal via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
>> As long as you include all the script-only stacks in the analysis, they
>> will be handled.
>> The tool will not look for behaviors and auto-include them. Every stack
>> that has relevant code must be included manually in the project pane. If
>> you have many SoSs, you can quickly add them all by adding the whole folder
>> they are in.
>>
>> How many handlers does the analysis find?
>>
>> /Andreas
>>
>>
>> > 16 sep. 2023 kl. 22:43 skrev Geoff Canyon via use-livecode <
>> use-livecode@lists.runrev.com>:
>> >
>> > I didn't change anything before generating, and the flow chart is
>> literally
>> > blank -- unless it:
>> >
>> > 1. scrolls invisibly
>> > 2. keeps returning the project name to the upper left while scrolling
>> > 3. has *at least* 30 screens' worth of blank space at the top?
>> >
>> > On Sat, Sep 16, 2023 at 1:35 PM J. Landman Gay via use-livecode <
>> > use-livecode@lists.runrev.com> wrote:
>> >
>> >> That happened to me too with a very long script. To keep everything in
>> >> view
>> >> there's a lot of white space. Keep scrolling. This happens only if you
>> >> have
>> >> set it to use unlimited sizing.
>> >> --
>> >> Jacqueline Landman Gay | jac...@hyperactivesw.com
>> >> HyperActive Software | http://www.hyperactivesw.com
>> >> On September 16, 2023 11:15:00 AM Geoff Canyon via use-livecode
>> >>  wrote:
>> >>
>> >>> Does it not handle script-only stack behaviors? I get a blank display
>> for
>> >>> Navigator (which has no code other than SoS behaviors).
>> >>>
>> >>> gc
>>
>>
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Your scripts as a flowchart

2023-09-16 Thread Geoff Canyon via use-livecode
Ah, okay, that explains it. In Navigator, *everything* is a script-only
stack behavior. In a few of the substacks there are scripts for a few
template objects or where script-only-stack behaviors were inconvenient (I
don't remember why, honestly).

That has it working, and the resulting diagram is nice. Navigator does a
similar survey (without the visualization, that's a neat trick).

Navigator reports:

302986 characters in
8092 lines in
112 scripts in
885 objects.

ScriptDependencies reports:

341 unique handler names - 407 commands, 124 functions, 1 setProps

regards,

Geoff

On Sat, Sep 16, 2023 at 6:24 PM Andreas Bergendal via use-livecode <
use-livecode@lists.runrev.com> wrote:

> As long as you include all the script-only stacks in the analysis, they
> will be handled.
> The tool will not look for behaviors and auto-include them. Every stack
> that has relevant code must be included manually in the project pane. If
> you have many SoSs, you can quickly add them all by adding the whole folder
> they are in.
>
> How many handlers does the analysis find?
>
> /Andreas
>
>
> > 16 sep. 2023 kl. 22:43 skrev Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com>:
> >
> > I didn't change anything before generating, and the flow chart is
> literally
> > blank -- unless it:
> >
> > 1. scrolls invisibly
> > 2. keeps returning the project name to the upper left while scrolling
> > 3. has *at least* 30 screens' worth of blank space at the top?
> >
> > On Sat, Sep 16, 2023 at 1:35 PM J. Landman Gay via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> >
> >> That happened to me too with a very long script. To keep everything in
> >> view
> >> there's a lot of white space. Keep scrolling. This happens only if you
> >> have
> >> set it to use unlimited sizing.
> >> --
> >> Jacqueline Landman Gay | jac...@hyperactivesw.com
> >> HyperActive Software | http://www.hyperactivesw.com
> >> On September 16, 2023 11:15:00 AM Geoff Canyon via use-livecode
> >>  wrote:
> >>
> >>> Does it not handle script-only stack behaviors? I get a blank display
> for
> >>> Navigator (which has no code other than SoS behaviors).
> >>>
> >>> gc
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Your scripts as a flowchart

2023-09-16 Thread Geoff Canyon via use-livecode
I didn't change anything before generating, and the flow chart is literally
blank -- unless it:

1. scrolls invisibly
2. keeps returning the project name to the upper left while scrolling
3. has *at least* 30 screens' worth of blank space at the top?

On Sat, Sep 16, 2023 at 1:35 PM J. Landman Gay via use-livecode <
use-livecode@lists.runrev.com> wrote:

> That happened to me too with a very long script. To keep everything in
> view
> there's a lot of white space. Keep scrolling. This happens only if you
> have
> set it to use unlimited sizing.
> --
> Jacqueline Landman Gay | jac...@hyperactivesw.com
> HyperActive Software | http://www.hyperactivesw.com
> On September 16, 2023 11:15:00 AM Geoff Canyon via use-livecode
>  wrote:
>
> > Does it not handle script-only stack behaviors? I get a blank display for
> > Navigator (which has no code other than SoS behaviors).
> >
> > gc
> >
> > On Fri, Sep 15, 2023 at 10:32 AM Andreas Bergendal via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> >
> >> Hi all!
> >>
> >> Those frequenting the forums may have seen this already, but I thought
> I'd
> >> share it here too now:
> >>
> >> If you want to see a graphic map of the inter-relations of all the
> >> handlers in the scripts of your LiveCode projects, my tool
> >> ScriptDependencies now features an extremely cool flowchart output
> (using
> >> the Mermaid javascript lib).
> >>
> >> Here’s an example of how a script flowchart can look:
> >>
> https://wheninspace.com/browseranimation/WIS_ScriptDependencies_example.png
> >>
> >> A few easy steps to test it on your own scripts:
> >>
> >> 1) Download ScriptDependencies here:
> >> https://github.com/wheninspace/WIS_ScriptDepedencies/releases/latest
> >>
> >> 2) Open the stack, click the top left cog wheel and add at least one
> stack
> >> (that has at least some handlers calling other handlers) to a project.
> >> 3) Close the project pane and click "Start mapping and analysis”.
> >> 4) Click ”Create flowchart”. Boom! :)
> >>
> >> On Mac, the browser widget can display the flowchart in-stack, enabling
> >> some interactivity (click a node to highlight the arrows to and from
> it).
> >> On Windows and Linux, where the browser widget has, er... room for
> >> improvement…, the flowchart is instead displayed in an external browser
> >> window (minus interactivity).
> >>
> >> My intention with ScriptDependencies is to provide a code analysis and
> >> live documentation tool (of some kind) for LiveCode projects. I need it
> >> myself for some big LC projects, and thought it might be useful also for
> >> other LC devs.
> >>
> >> The tool has been thoroughly tested by LC veterans like bn (Bernd),
> jacque
> >> (Jacqueline) and mwieder (Mike), who have all provided invaluable
> feedback
> >> and improvement suggestions, bringing the tool up to quite a
> professional
> >> level.
> >>
> >> I hope you’ll find use for it - or at least enjoy seeing your scripts
> >> presented as a bouquet of flowers, a piece of art! :)
> >>
> >> Any feedback is very welcome!
> >>
> >> /Andreas
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Your scripts as a flowchart

2023-09-16 Thread Geoff Canyon via use-livecode
Does it not handle script-only stack behaviors? I get a blank display for
Navigator (which has no code other than SoS behaviors).

gc

On Fri, Sep 15, 2023 at 10:32 AM Andreas Bergendal via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi all!
>
> Those frequenting the forums may have seen this already, but I thought I'd
> share it here too now:
>
> If you want to see a graphic map of the inter-relations of all the
> handlers in the scripts of your LiveCode projects, my tool
> ScriptDependencies now features an extremely cool flowchart output (using
> the Mermaid javascript lib).
>
> Here’s an example of how a script flowchart can look:
> https://wheninspace.com/browseranimation/WIS_ScriptDependencies_example.png
>
> A few easy steps to test it on your own scripts:
>
> 1) Download ScriptDependencies here:
> https://github.com/wheninspace/WIS_ScriptDepedencies/releases/latest
>
> 2) Open the stack, click the top left cog wheel and add at least one stack
> (that has at least some handlers calling other handlers) to a project.
> 3) Close the project pane and click "Start mapping and analysis”.
> 4) Click ”Create flowchart”. Boom! :)
>
> On Mac, the browser widget can display the flowchart in-stack, enabling
> some interactivity (click a node to highlight the arrows to and from it).
> On Windows and Linux, where the browser widget has, er... room for
> improvement…, the flowchart is instead displayed in an external browser
> window (minus interactivity).
>
> My intention with ScriptDependencies is to provide a code analysis and
> live documentation tool (of some kind) for LiveCode projects. I need it
> myself for some big LC projects, and thought it might be useful also for
> other LC devs.
>
> The tool has been thoroughly tested by LC veterans like bn (Bernd), jacque
> (Jacqueline) and mwieder (Mike), who have all provided invaluable feedback
> and improvement suggestions, bringing the tool up to quite a professional
> level.
>
> I hope you’ll find use for it - or at least enjoy seeing your scripts
> presented as a bouquet of flowers, a piece of art! :)
>
> Any feedback is very welcome!
>
> /Andreas
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: sort bug

2023-09-06 Thread Geoff Canyon via use-livecode
From the original email:

If the function myVal encounters a run-time error (in the example if one of
the items is not a number) the sort command fails silently: the script
exits at that code line and the user is unaware that the sort (and the rest
of the handler) were not executed.


To be clear: the above is NOT what I'm seeing. Mark W says in the bug
report:

The 'sort ... by ...' command has always allowed the by expression to be
fault tolerant - if evaluating it generates a runtime error then the sort
key for that element is just taken to be the original element.

And that is what I'm seeing. For example, this code does not exit -- it
displays the answer dialog as if nothing out of the ordinary has happened:

on mouseUp
   sort lines of fld 1 numeric by sortVal(each)
   answer "done"
end mouseUp

function sortVal S
   return item 2 of S + item 3 of S
end sortVal

It seems to be sorting as Mark described: when the function fails, the
whole line is used for the sort. And that "fallback to the whole value
needs better documentation, and could lead to some truly dismal debugging
situations, but it doesn't seem like a bug to me.

The original report, if I were able to replicate it, would clearly be a bug.

On Sat, Sep 2, 2023 at 8:19 PM neville smythe via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Geoff Canyon wrote (after a bravura  display of how many different
> ways there are to do things in LC!) :
>
> And the function sort also sorts based on a negative infinity value
> for
>
> errors. I'm not sure I'd consider that a bug.
>
> Hmm. I would. The sortKey function should tolerate any sort of
> run-time error? But anyway that's not the issue. The bug I see is that
> the sort command exits its containing handler - actually I presume the
> sortKey function exits to top - without throwing an error, so nothing
>  beyond that line is executed. This creates a very difficult problem
> to track down, since the code appears to be executing correctly, until
> something falls over or a file gets corrupted much later because some
> stuff never happened.
>
> Of course one should always validate data, particularly if it's not
> your own data. In this case it was my own data! Moreover I had thought
> I had checked for invalid cases, just hadn't checked all possible
> kinds of invalid data (the sortKey was rather more complicated than
> the one I used for illustration).
>
> Neville
>
> -
> Email sent using Optus Webmail
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Sort bug

2023-09-01 Thread Geoff Canyon via use-livecode
With 9.6.9 on a mac and a field where the second and third items of each
line are numbers:

   sort lines of fld 1 numeric by item 2 of each + item 3 of each -- works
   sort lines of fld 1 numeric by value(item 2 of each + item 3 of each) --
works
   sort lines of fld 1 numeric by merge("[[item 2 of each + item 3 of
each]]") -- works

and

on mouseUp
   sort lines of fld 1 numeric by sortVal(each)
end mouseUp

function sortVal S
   return item 2 of S + item 3 of S
end sortVal

works.

I haven't checked, but I'd guess that performance degrades with each
further method.

They all work if one or both of the items are empty.

If there is an entry that has a non-numeric value in item 2 or 3:

   sort lines of fld 1 numeric by item 2 of each + item 3 of each --
partially sorts and throws an error
   sort lines of fld 1 numeric by value(item 2 of each + item 3 of each) --
partially sorts and throws an error
   sort lines of fld 1 numeric by merge("[[item 2 of each + item 3 of
each]]") -- surprisingly, works -- error lines are seemingly sorted with a
value of negative infinity?

And the function sort also sorts based on a negative infinity value for
errors. I'm not sure I'd consider that a bug.

And this works:

   sort lines of fld 1 numeric by merge("")

And of course sorting by this function does the same thing:

function sortVal S
   if item 2 of S is not a number or item 3 of S is not a number then
return 0
   return item 2 of S + item 3 of S
end sortVal



On Thu, Aug 31, 2023 at 9:30 PM Brian Milby via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I just tried this in 10dp5 and the sort didn’t completely bail (it put the
> error value first) but it did error when including inline (as in the bug
> report).  If I add a try, then it will stop on the throw.  Not sure how
> much this would slow down execution though.
>
> function myVal pStr
>local tResult
>try
>   put item 1 of pStr + item 2 of pStr into tResult
>catch errorVariable
>   throw "Bad data"
>end try
>return tResult
> end myVal
>
> Brian Milby
> br...@milby7.com
>
> > On Aug 31, 2023, at 7:53 PM, Alex Tweedly via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > 
> >> On 01/09/2023 00:37, Bob Sneidar via use-livecode wrote:
> >> The function is adding the value of two chunks together and returning
> the result. How does that even compute? Unless the + operator is doing
> something totally different here…
> >
> > The code said:
> >
> >> sort lines tVariable by myVal(each)
> >>
> >> where the function is for example
> >>
> >> function myVal pStr
> >>return item 1 of pStr + item 2 of pStr
> >> end myval
> > since it's sorting the lines of the container, it calls the custom
> function with each line in turn. The function simply adds together the
> first two items from the passed-in line, and returns that. The returned
> value is associated with the corresponding line - and then the container is
> sorted by those associated values.
> >
> > This works fine if the input variable is well formatted (i.e. first and
> second items of each line are numeric), but fails to give an error when
> something goes wrong - such as a non-numeric item.
> >
> > (and, yes - the dictionary description is misleading, if not simply
> incorrect. However, the "Tip" at the end describes the use of ustom
> functions).
> >
> > Alex.
> >
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Behaviors

2023-08-24 Thread Geoff Canyon via use-livecode
I'll admit it's not very intuitive, but:

In Navigator, right-click any button. On the context menu, select Copy >
Objects.
Navigate to any control or card, stack, etc. Bookmarks are fine for this as
well.
Right-click any other control. On the context menu, select Set Copied Btn
as Behavior.

On Thu, Aug 24, 2023 at 7:19 PM Mike Kerner via use-livecode <
use-livecode@lists.runrev.com> wrote:

> polygrid
> the api is similar, but they also have some nice additional features.
> i have ripped all my dg's and replaced them with pg's.
> now, if you're using custom templates, have a look at the pl - polyList.
>
> On Thu, Aug 24, 2023 at 2:12 PM Bob Sneidar via use-livecode
>  wrote:
> >
> > Ah thanks for that. Yes, I knew how to nest behaviors for datagrids, but
> I never use the Project Browser because of issues I had many years ago. I
> may have another look.
> >
> > What is a “pg”? I make extensive use of Datagrid properties, and
> whatever I might replace them with needs to provide ALL their functionality.
> >
> > Bob S
> >
> >
> > > On Aug 24, 2023, at 10:15 AM, Mike Kerner via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> > >
> > > i'm pretty sure you can set a dg's behavior. then you would set the
> > > behavior of that behavior to the button behavior (button id 1005 of
> > > stack "revDataGridLibrary"), OR you can include THAT script,
> > > separately, set that as the behavior, and modify it
> > > (but, what you should really do is remove your dg's and replace them
> > > with pg's, imho. they're much faster and more flexible and powerful).
> > > the project browser has a button for each behavior in the chain of an
> > > object. i'm pretty sure that levure baker's assistant does, too.
> > >
> > > On Thu, Aug 24, 2023 at 11:35 AM Bob Sneidar via use-livecode
> > >  wrote:
> > >>
> > >> There is also the Advanced button in the property inspector (looks
> like one large gear with two smaller ones) where you can type the behavior,
> and also has the target icon. Also, you shouldn’t have to do that every
> time. Once should be enough if you save the stack afterwards.
> > >>
> > >> I note that Datagrids have no way to set the behavior, since they
> depend on their default behavior. It was discussed long ago when nested
> behaviors became a thing, that there ought to be a way to edit a list of
> behaviors of an object. In fact it shouldn’t be that difficult to make a
> Behavior Browser widget of some sort. Hmmm...
> > >>
> > >> Bob S
> > >>
> > >>
> > >>> On Aug 23, 2023, at 5:00 PM, Dar Scott via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> > >>>
> > >>> I, too, have discovered the target icon to the right of the behavior
> object field in the property inspector. Alas, using that that I see only
> buttons on the current card (and stacks). I don’t see a way to navigate to
> a different card and select a button there. I might have missed it. — Dar
> > >>>
> >  On Aug 22, 2023, at 1:05 PM, Mike Kerner via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> > 
> >  you probably know this: in the property inspector, there's a panel
> for
> >  behavior, so you can just select the behavior from a menu button,
> >  without having to type it
> > 
> >  On Tue, Aug 22, 2023 at 1:37 PM Dar Scott via use-livecode
> >   wrote:
> > >
> > > I figured out how to do it in the IDE. I needed to include “of
> stack” in the reference. — Dar
> > >
> > >> On Aug 22, 2023, at 11:09 AM, Alex Tweedly via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> > >>
> > >> Not sure how it works in the IDE - seems a problem because it
> only presents button in the current stack.
> > >>
> > >> So I do it all in preOpen... scripts, doing something like
> > >>
> > >>> set the behavior of fld "F" of grp tmpName to the long id of
> button "RichTextFieldBehaviour" of \
> > >>>   card "Behaviours" of stack "/Users/alextweedly/Dropbox/My
> Livecode/Libraries/richText.livecode"
> > >>
> > >> Alex.
> > >>
> > >> On 22/08/2023 17:57, Dar Scott via use-livecode wrote:
> > >>> I am misremembering things about Behaviors.
> > >>>
> > >>> I have a card with my behavior buttons, but I can’t seem to
> point to buttons on that card. Maybe, I’m remembering what I did long ago
> with front scripts.
> > >>>
> > >>> I suppose I can use substacks, but I’m worried that the stacks
> would be in the message path. Is there a way to keep the stack out of the
> message path?
> > >>> ___
> > >>> use-livecode mailing list
> > >>> use-livecode@lists.runrev.com
> > >>> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > >>> http://lists.runrev.com/mailman/listinfo/use-livecode
> > >>
> > >> ___
> > >> use-livecode mailing list
> > >> use-livecode@lists.runrev.com
> 

Re: Variable Watcher disappeared

2023-08-09 Thread Geoff Canyon via use-livecode
You can also accomplish most of this by right-clicking a stack in
Navigator, and selecting Go > Show on the popup menu. That centers the
stack on screen and shows it. It's meant to be guaranteed, so if there are
other steps to take to ensure a stack presents itself, I'm happy to add
them.

On Tue, Aug 8, 2023 at 10:19 AM Martin Koob via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi Bob
>
> So you can see the Script Editor but you can’t see the variables pane at
> the bottom?
>
> There is a drag handle at the bottom of the Script Editor pane to resize
> it.   Maybe you accidentally dragged that to the bottom hiding the variable
> pane at the bottom.
>
> Even if you did that you should still see the tabs for ‘Errors’;
> ‘Variables’; ‘Documentation’; ‘Breakpoints’; ’Search Results’.
>
> You should be able to drag the Drag handle up to reveal the bottom pane.
>
>
> The following doesn’t probably apply to you if your Script Editor Stack is
> open and visible.
>
> You probably know this but another thing that happens to me is that some
> of the LiveCode stacks disappear randomly.
>
> One thing that happens is that they somehow get moved offscreen.
>
> To get them back I first check if they are there by typing the following
> into the message box.
>
> put the openstacks
>
> That should result in a list like this.
>
> Message Box
> My Demo Stack
> revInspector
> revTools
> revNewScriptEditor 1
> revDictionary
> revMenuBar
> Improve LiveCode Handler Finder
> com.livecode.palette.autocomplete.completions
>
> If you see the stack in the list that you are looking for you can relocate
> it back to the screen by setting its location to something that will be on
> your display by entering the following in the message box.
> set the topleft of stack "revtools" to 100,100
>
>
>
>
>
> Two other reasons stacks disappear is that they become hidden or closed.
>
>
>
> If the stack is closed then enter the following in the message box
>
> open stack “revtools
>
>
>
> If the stack is open but hidden enter
>
> show stack “revtools”
>
> If it is your message box that you can’t find then there is nothing you
> can do….
>
>
> … Just kidding.  ;-)
>
> Just type command key + M to show the message box.
>
>
> Bob, I am sure this is covering things you already know  but just in case
> there others in future are looking for this I added the other cases where
> your LiveCode IDE stacks disappear.
>
> BTW I am using LC 9.6.9 on a M1 Max Mac running Ventura 13.41
>
> Martin
>
> > On Aug 8, 2023, at 12:28 PM, Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Hi all.
> >
> > Not sure how I did it but I can no longer see the variables while
> debugging. The bottom pane has disappeared and nothing I can find can get
> it back. Any ideas?
> >
> > Bob S
> >
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: If you're using the github version of Navigator, please update

2023-08-08 Thread Geoff Canyon via use-livecode
Thanks for the suggestion, Bernard. Note that in a moment of whimsy I
switched development of the documentation from wordpress to wix. So
documentation on wordpress stops at version 6. Everything more recent is
here: https://gcanyon.wixsite.com/navigator

But even that's slightly out of date. I'll update soon.

Thanks!

Geoff

On Mon, Aug 7, 2023 at 11:59 PM Bernard Devlin via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Thanks for reminding me to re-install a copy, Geoff.  I've been away from
> LC development for a year or so, started again using a new machine, and had
> forgotten how much I like using your tool.  I just downloaded v 7.5 RC2
> from your Wordpress site, which looks like it's at the cutting edge along
> with the Github version.
>
> I would suggest you put the URL to the documentation in your signature.
> Probably most LC users have no idea what they are missing!
> https://gcanyon.wordpress.com/navigator-documentation/
>
> Regards
> Bernard
>
> On Sat, Aug 5, 2023 at 8:23 AM Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
> > Turns out I had a glitch I didn't notice with my github client, and no
> > updates were making it to main for some time now. So if you happen to
> have
> > installed Navigator by cloning the repo, now would be a good time to
> > update. Some improvements that have happened:
> >
> >
> >
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


If you're using the github version of Navigator, please update

2023-08-05 Thread Geoff Canyon via use-livecode
Turns out I had a glitch I didn't notice with my github client, and no
updates were making it to main for some time now. So if you happen to have
installed Navigator by cloning the repo, now would be a good time to
update. Some improvements that have happened:

1. I  completely did away with the stack and card menus, replacing them
with a single Target menu (indicated by a bullseye). It lists every stack
with a submenu that includes things like Go (goes to the stack), Toplevel
(Toplevels the stack), Card List and Background List, and further submenus
for the cards and backgrounds, allowing you to focus on any of them.  This
fixes several small issues with the previous stack and card target menus.

Remember that Navigator can display multiple targets if you hold down the
Shift key while choosing a target -- you can have as many as you like,
subject to performance limitations.

Note: if anyone finds this menu to be too slow, let me know -- it does
count through all cards and backgrounds of every stack, but in my
experience unless you're dealing with literally tens of thousands of cards
it should be fine. I could write some sort of caching algorithm and make
updates manual -- or something, I haven't thought about it too much.

2. I improved the The MouseStack targeting functionality. I don't know what
I was thinking before with the usability of the click, or long-click, on
the menu. So at this point the menu is just a menu -- select "the
mouseStack" on the menu and you get the pointer bullseye, then click over
whatever target you like to select it in Navigator.

3. I switched to the merge function for the custom list display string.
This opens up a ridiculous set of possibilities if anyone cares to really
dig in.

If you find any bugs let me know.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Tab button is not getting messages

2023-08-01 Thread Geoff Canyon via use-livecode
place background  onto card 

There are other ways (cough, Navigator has built in support), but that
will do it.

On Tue, Aug 1, 2023 at 9:11 AM Dar Scott via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
> There’s a tab widget? Cool.
>
> I guess I’m using a tab button.
>
> I think I know what is the problem, though I don’t remember what I did to
> do cause it. Some of the backgrounds are really different; they just look
> the same. I edit the background (the tab button script) but the button
> script does not show up on most of the cards.
>
> How do I place the correct background on each card?
>
> Dar
>
>
> > On Aug 1, 2023, at 9:47 AM, Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Tab button or tab widget?
> >
> > Bob S
> >
> >
> >> On Aug 1, 2023, at 8:39 AM, Dar Scott via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >>
> >>
> >> I have a tab button on a background. It does not seem to be getting
> menuPick. I tried mouseUp and that does not work, either. A checkbox on the
> same background does get a mouseUp. I tried beeps and puts, but nothing.
> (I’m switching to a card whose name is pChosenItem.)
> >>
> >> Dar
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> >
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Reorder fields

2023-07-30 Thread Geoff Canyon via use-livecode
Yeah, the three driving forces behind Navigator originally were:

1. Speed, because the alternatives didn't run so quickly for larger
projects on hardware available circa 20 years ago.
2. Compactness, because the alternatives were pretty overwhelming on the
monitors people were using back then.
3. And to your point: showing multiple layers clearly, because there were a
number of former HyperCard users finding it hard to adapt to an environment
with more than one "background". :-)

On Sun, Jul 30, 2023 at 12:24 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Also good time to mention revNavigator where the grouping would be
> immediately obvious and you can drag to reorder.
>
> Sent from my iPhone
>
> > On Jul 29, 2023, at 15:22, Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > One trick to this is that objects are included into a group if
> > relayerGroupedControls is set to true and the layer of the control is set
> > to the layer above the group. Meaning that if you have this arrangement:
> >
> > stack "Untitled 1"
> > card id 1002
> > |  group id 1005 (1005)
> > |  |  button "Button" (1006)
> > |  |  button "Button" (1004)
> > |  button "Button" (1003)
> > |  button "test" (1007)
> >
> > put the layer of button "test"
> > -- puts 5
> >
> > set relayergroupedcontrols to false;set the layer of button "test" to 4
> >
> > This is now the arrangement:
> >
> > stack "Untitled 1"
> > card id 1002
> > |  group id 1005 (1005)
> > |  |  button "Button" (1006)
> > |  |  button "Button" (1004)
> > |  button "test" (1007)
> > |  button "Button" (1003)
> >
> > put the layer of button "test"
> > -- puts 4
> >
> > Button "test" is immediately above the group, but not in the group
> >
> > set relayergroupedcontrols to true;set the layer of button "test" to 4
> >
> > Now the arrangement is:
> >
> > stack "Untitled 1"
> > card id 1002
> > |  group id 1005 (1005)
> > |  |  button "Button" (1006)
> > |  |  button "Button" (1004)
> > |  |  button "test" (1007)
> > |  button "Button" (1003)
> >
> > put the layer of button "test"
> > -- puts 4
> >
> > The layer of button "test" didn't change, but now it is in the group --
> and
> > the topmost object in the group.
> >
> > I learned this the hard way through much experimentation building
> > Navigator. Getting drag-and-drop relayering right with selection of
> > multiple objects, and discontiguous selections, in and out of groups, is
> > *painful*, and I've done it several times now...
> >
> >> On Sat, Jul 29, 2023 at 10:46 AM Martin Koob via use-livecode <
> >> use-livecode@lists.runrev.com> wrote:
> >>
> >> Hi MarkwI did not see your later post that the fields were grouped.  My
> >> scenario was just the most basic case of fields on a card.  I guess it
> >> would work if all the fields were in 1 group but having fields in
> different
> >> groups certainly complicates things. Cool solution though.  I wasn’t
> aware
> >> of the relayerGroupedControls option.  Reading the entry in the
> Dictionary
> >> I learned some interesting things about groups and layers.
> >> e.g. you can move an object out of a group by setting its layer above
> the
> >> layer of the topmost object in the group or conversely  setting it below
> >> the bottommost object in the group. Hmmm…. What could you do with that?
> >>
> >> True the old brain needs a bit of a work out once in a while to keep the
> >> neurons running.  Thanks for posting your question.
> >>
> >> Martin
> >>
> >>>> On Jul 29, 2023, at 11:00 AM, Mark Smith 
> wrote:
> >>>
> >>> On 29 Jul 2023, at 3:27 pm, Martin Koob via use-livecode <
> >> use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>>
> >> wrote:
> >>>>
> >>>> The two ways I have used are either with the property inspector  or by
> >> script.
> >>>>
> >>>> Property Inspector
> >>>> - click the ‘Position’ tab of the property inspector
> >>>> - Change the number in the ‘Layer’ field either directly or by using
> >> the arrow keys.
> >>>
&

Re: Reorder fields

2023-07-29 Thread Geoff Canyon via use-livecode
One trick to this is that objects are included into a group if
relayerGroupedControls is set to true and the layer of the control is set
to the layer above the group. Meaning that if you have this arrangement:

stack "Untitled 1"
card id 1002
|  group id 1005 (1005)
|  |  button "Button" (1006)
|  |  button "Button" (1004)
|  button "Button" (1003)
|  button "test" (1007)

put the layer of button "test"
-- puts 5

set relayergroupedcontrols to false;set the layer of button "test" to 4

This is now the arrangement:

stack "Untitled 1"
card id 1002
|  group id 1005 (1005)
|  |  button "Button" (1006)
|  |  button "Button" (1004)
|  button "test" (1007)
|  button "Button" (1003)

put the layer of button "test"
-- puts 4

Button "test" is immediately above the group, but not in the group

set relayergroupedcontrols to true;set the layer of button "test" to 4

Now the arrangement is:

stack "Untitled 1"
card id 1002
|  group id 1005 (1005)
|  |  button "Button" (1006)
|  |  button "Button" (1004)
|  |  button "test" (1007)
|  button "Button" (1003)

put the layer of button "test"
-- puts 4

The layer of button "test" didn't change, but now it is in the group -- and
the topmost object in the group.

I learned this the hard way through much experimentation building
Navigator. Getting drag-and-drop relayering right with selection of
multiple objects, and discontiguous selections, in and out of groups, is
*painful*, and I've done it several times now...

On Sat, Jul 29, 2023 at 10:46 AM Martin Koob via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi MarkwI did not see your later post that the fields were grouped.  My
> scenario was just the most basic case of fields on a card.  I guess it
> would work if all the fields were in 1 group but having fields in different
> groups certainly complicates things. Cool solution though.  I wasn’t aware
> of the relayerGroupedControls option.  Reading the entry in the Dictionary
> I learned some interesting things about groups and layers.
> e.g. you can move an object out of a group by setting its layer above the
> layer of the topmost object in the group or conversely  setting it below
> the bottommost object in the group. Hmmm…. What could you do with that?
>
> True the old brain needs a bit of a work out once in a while to keep the
> neurons running.  Thanks for posting your question.
>
> Martin
>
> > On Jul 29, 2023, at 11:00 AM, Mark Smith  wrote:
> >
> > On 29 Jul 2023, at 3:27 pm, Martin Koob via use-livecode <
> use-livecode@lists.runrev.com >
> wrote:
> >>
> >> The two ways I have used are either with the property inspector  or by
> script.
> >>
> >> Property Inspector
> >> - click the ‘Position’ tab of the property inspector
> >> - Change the number in the ‘Layer’ field either directly or by using
> the arrow keys.
> >
> > Thanks Martin, but as noted, "items won’t relayer if they are grouped
> and “relayingGroupedControls" is set to false. That was exactly the
> situation I was in. In my case, field A was grouped with label A, etc so
> attempting to relayer them failed. I didn’t notice they were grouped
> because Select Grouped was not chosen in the menu bar. With Select Grouped
> chosen it’s easy to see the label-field grouping, and then to relayer the
> groups (not the fields inside the groups) if need be. Or, you can use the
> PB to do this by just dragging the groups around to relayer them. Finally,
> there’s a property called relayerGroupedControls which will allow you to
> relayer objects inside a group. If that had of been “true” instead of the
> default “false” I would have been able to relayer them in the first
> instance. But you have to be careful with this option as it can also revise
> the grouping. BTW, I just tried it (grouped the labels and fields, set the
> relayerGroupedControls option to true, turned off Select Grouped) and I was
> able to select the individual fields and relayer them using the Layer field
> in the Property Inspector. Kinda cool but my goodness you really have to
> know your stuff to make that manoeuvre happen.
> >
> > But also thank you for the opportunity to discuss this further. It helps
> with the encoding of this new information into my ageing brain  And also,
> if I got any of it wrong, please correct me.
> >
> > Mark
> >
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Reorder fields

2023-07-28 Thread Geoff Canyon via use-livecode
Also check out the relayerGroupedControls property. It probably would have
led to even greater confusion in this instance, but it's good to know about
it and what it does. From the dictionary: "Specifies whether you can change
the layer of controls in a group even if not in group-editing mode."

I don't know how it works in the Project Browser, but in Navigator I set it
to true before attempting any relayering, so in Navigator by default it's
possible to relayer controls in groups, and into and out of groups, by
dragging them.

On Fri, Jul 28, 2023 at 7:06 AM Mark Smith via use-livecode <
use-livecode@lists.runrev.com> wrote:

> You hit the nail on the head. Select grouped was not selected so each
> field / label looked independent (and could be independently selected). But
> in fact they were grouped. With select grouped off the fields could not be
> rearranged. Turning it on enabled layering the groups (containing the
> fields) in the correct order. Because its not obvious the fields are
> grouped I never think to check that option (this is not my stack but
> someone else’s. Probably at some point there was a point to grouping them
> together… maybe during the design phase). It’s all working now. And Pauls
> suggestion of checking the PB was useful in “seeing” that each fields label
> and field was grouped (even without the select grouped icon being toggled
> on).
>
> Thanks to all.
> Mark
>
> > On 28 Jul 2023, at 5:27 pm, J. Landman Gay via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > You can toggle what gets selected with the "Select Grouped" icon in the
> top toolbar.
> > --
> > Jacqueline Landman Gay | jac...@hyperactivesw.com
> > HyperActive Software | http://www.hyperactivesw.com
> > On July 28, 2023 10:53:08 AM Mark Smith via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> >> Well, this might explain it. The original designer had grouped the
> labels and the fields into groups (so label A and field A into grp A, etc).
> I was trying to change the order of the fields, (oddly, when you Please
> visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> >
> >
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: No progress updates on LC 10. Am i the only one who is concerned?

2023-07-25 Thread Geoff Canyon via use-livecode
So, not to be too much of an apologist, but the issue doesn't seem like a
showstopper to me.

On Tue, Jul 25, 2023 at 10:36 AM Dick Kriesel via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
>
> > On Jul 25, 2023, at 11:37 AM, Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Maybe a silly question, but that issue lists "turn on bracket completion"
> > as a step to reproduce. If bracket completion is off, is it safe?
>
> Hi, Geoff. I filed the report. With bracket completion off, I saw no such
> problem.
> — Dick
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Has anyone experimented with using Python within LC?

2023-07-25 Thread Geoff Canyon via use-livecode
On Fri, Jul 21, 2023 at 4:10 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Out of curiosity, what can be done in in Python that cannot be done in LC
> Script?
>

I'm learning more as I study python. This is pretty nice:

import re
x = re.split('[a|t]','this is a test and this is another')
print(x)

['', 'his is ', ' ', 'es', ' ', 'nd ', 'his is ', 'no', 'her']

Or if you want the dividers as well:

import re
x = re.split('([a|t])','this is a test and this is another')
print(x)

['', 't', 'his is ', 'a', ' ', 't', 'es', 't', ' ', 'a', 'nd ', 't', 'his
is ', 'a', 'no', 't', 'her']
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: No progress updates on LC 10. Am i the only one who is concerned?

2023-07-25 Thread Geoff Canyon via use-livecode
Maybe a silly question, but that issue lists "turn on bracket completion"
as a step to reproduce. If bracket completion is off, is it safe?

On Mon, Jul 24, 2023 at 11:55 PM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:

> It's particularly frustrating because there are some good things in LC 10
> that
> I'd like to be looking at/exploiting; but there's a vicious bug in the
> current
> DP script editor that can cause loss of work*, which prevents me doing
> anything with it. Just a new DP that includes a fix for this bug would be
> a
> huge step forward in my view/situation.
>
> Ben
>
> * https://quality.livecode.com/show_bug.cgi?id=24268
>
> On 24/07/2023 16:04, matthias rebbe via use-livecode wrote:
> > Hi,
> >
> > I know Xavvi will be the next big step and I even helped with the
> funding.
> > But I'm wondering why there hasn't been any news about LC 10 for a some
> months now.
> > Am I the only one worried that the full focus is now on Xavvi and LC10
> is left behind?
> >
> > Matthias
> >
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Has anyone experimented with using Python within LC?

2023-07-22 Thread Geoff Canyon via use-livecode
Both are turing complete, so there's technically nothing one can do that
the other can't, but some examples:

Suppose you want to generate prime numbers. In LiveCode you might write
this algorithm: https://github.com/gcanyon/primelist

Generating the primes up to 1,000,000 takes over 1.3 seconds on my M1
MacBook.
In Python, using a less efficient algorithm, the same takes 0.3 seconds.
Import the numpy library and use a more efficient algorithm like so:

def prime6(upto=100):
primes=arange(3,upto+1,2)
isprime=ones((upto-1)//2,dtype=bool)
for factor in primes[:int(sqrt(upto))//2]:
if isprime[(factor-2)//2]: isprime[(factor*3-2)//2::factor]=0
return insert(primes[isprime],0,2)

And you can get the same result in 0.002 seconds -- over 500 times faster.



In LiveCode, if you want to handle large integer math, you write your own
library, which takes a ton of time and work to optimize. I did this five
years ago: https://github.com/gcanyon/bignum which enables this:

on mouseUp
   repeat 1000 times
  put "1234567890" after x
   end repeat
   put the long seconds into T
   get bigTimes(x,x)
   put the long seconds - T into T
   put T && length(it)
end mouseUp

I worked hard to optimize that library, and I'm happy to say that runs in
about 1.3 seconds.

This runs in 0.0004 seconds:

from time import perf_counter_ns
from math import log10

n = 1234567890
for _ in range(999):
n = n * 10**10 + 1234567890

start = perf_counter_ns()
n2 = n*n
end = perf_counter_ns()
print((end - start)/10**9,log10(n2),n2%10**10)

Python has numerous syntactic niceties. For example, if you want a function
to return a fibonacci list, multiple assignments are nice:

def fib(n):
i = j = 1
R = []
for _ in range(n):
R.append(i)
i,j = j,i+j
return(R)

print(fib(5))
[1, 1, 2, 3, 5]

And list comprehensions are wonderful. If you want a dictionary containing
perfect squares for odd numbers:

L = {i:i**2 for i in range(1,20) if i % 2 == 1}
print(L)
{1: 1, 3: 9, 5: 25, 7: 49, 9: 81, 11: 121, 13: 169, 15: 225, 17: 289, 19:
361}

Obviously you could do that with a "step", but the if can be more complex
than that.

So reasons you might use Python include:

1. Efficient and convenient syntax
2. Speed
3. Access to vast libraries of code.

gc



On Fri, Jul 21, 2023 at 7:10 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Out of curiosity, what can be done in in Python that cannot be done in LC
> Script?
>
> Sent from my iPhone
>
> > On Jul 21, 2023, at 18:37, Alan Stenhouse via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Hi Geoff
> >
> > Sorry for not replying earlier but looks like you've got it sorted. I
> did a bit on this years ago and am contemplating it again. Just looked for
> my old stack and see this script for running a python script and putting
> the output into the "output" fld:
> >
> >
> > on runPythonScript pScript
> >   put the tempname &".py" into tFile
> >   put pScript into URL ("binfile:" & tFile)
> >   put shell("" && tFile) into fld "output"
> > end runPythonScript
> >
> > Was starting to provide an interface for experiment parameters for the
> scripts I was running (for some Turi ML classifications) but the project
> paused...
> >
> > cheers
> > Alan
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: What is your best practice for setting a script in a script?

2023-07-21 Thread Geoff Canyon via use-livecode
Way back when (in the metacard era) I wrote code to create an XML
representation of a stack, and build a copy of the stack from that
XML file.

Oh, I just checked and I still have a copy of the file. It almost certainly
does not address all the nuances that have been added since then --
behaviors, widgets, and more -- but if you want a copy you're welcome to it.

gc

On Fri, Jul 21, 2023 at 9:12 AM Paul Dupuis via use-livecode <
use-livecode@lists.runrev.com> wrote:

> As some people on this list and the forums have explored in the past, I
> have a interest in creating a Livecode application (stack) entirely from
> a (text only) single script. So there are initially no Livecode objects
> to place a behavior script in. There are initially no buttons, fields,
> cards, stacks, or anything else.
>
> Yes, one of the values of Livecode is an interactive IDE for UI design
> (and refinement), but for this specific interest, it is all about
> creating the UI - in fact the whole app - from a single script.
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Has anyone experimented with using Python within LC?

2023-07-21 Thread Geoff Canyon via use-livecode
This stack script hacks in support for arbitrary parameters to be passed in
easily.

You can, of course, do the same by including functions in the python
script, and then calling them in the shell statement. That's how I started
this journey, but it requires escaping things to make them
shell-compatible. This might be especially weird to do because of python's
flexible handling of double and single quotes.

This way the data can be passed in as you intend to use it, the only
limitation being that it all starts as text. Still, it works a treat.

Note: this doesn't check for file existence before writing them, although
it seems unlikely that anyone would have files named
e.g. 89914707287616_data.txt. Also, this doesn't re-use any files, so
repeated calls quickly pile up. This is far from a usable function.

The round-trip cost of doing things this way is maybe something like a
tenth of a second(?) so this is likely only for when you have a lot of
backend processing to do.

local fnb
function pythonFile p
   put the filename of this stack into fp
   set the itemdel to "/"
   if fnb is empty then
  put the long seconds into fnb
  replace "." with empty in fnb
  delete char 1 to 2 of fnb
   end if
   if paramCount() > 1 then
  put "exData = {}" & cr into fileHeader
  repeat with i = 2 to paramCount()
 add 1 to fnb
 put fnb & "_data.txt" into fn
 put fn into item -1 of fp
 put param(i) into url ("file:" & fp)
 put merge("with open('[[fp]]', 'r') as f:[[cr]]") after fileHeader
 put merge("exData[ [[i - 2]] ] = f.read()[[cr]]") after
fileHeader
  end repeat
  put fileHeader & cr before p
   end if
   add 1 to fnb
   put fnb & "_temp.py" into fn
   put fn into item -1 of fp
   put p into url ("file:" & fp)
   return shell(quote & "/Users/gcanyon/opt/anaconda3/bin/python" & quote
&& quote & fp & quote)
end pythonFile

On Thu, Jul 20, 2023 at 6:20 PM Geoff Canyon  wrote:

> I just checked, and this in a stack script works perfectly:
>
> function pythonFile p
>put the filename of this stack into fp
>set the itemdel to "/"
>put the long seconds into fn
>replace "." with "_" in fn
>put "_temp.py" after fn
>put fn into item -1 of fp
>put p into url ("file:" & fp)
>return shell(quote & "" & quote && quote & fp & quote)
> end pythonFile
>
> In the real world you'd probably want to set up a single external file (or
> set of files? if performance is important and the files need to be used
> repeatedly?) and check to make sure you're not accidentally overwriting
> something.
>
> On Thu, Jul 20, 2023 at 4:07 PM Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
>> Interesting. Ostensibly you could use low level file commands to create
>> they python file? Or does the Python script need to be processed by Python
>> first?
>>
>> Bob S
>>
>>
>> > On Jul 20, 2023, at 12:33 PM, Geoff Canyon via use-livecode <
>> use-livecode@lists.runrev.com> wrote:
>> >
>> > I've now figured out that calling a Python file from within LC is as
>> easy
>> > as:
>> >
>> > put shell(quote & "" & quote && quote &
>> > "" & quote)
>> >
>> > Then whatever gets print()'ed in Python gets returned to LC. Has anyone
>> > done work this way and has ideas on best practices for some sort of
>> >
>> > 1. generate python code
>> > 2. write python code to a file
>> > 3. write data to a (separate?) file
>> > 4. call the code
>> > 5. process the results
>> >
>> > ...loop?
>> >
>> > gc
>>
>>
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Has anyone experimented with using Python within LC?

2023-07-20 Thread Geoff Canyon via use-livecode
I just checked, and this in a stack script works perfectly:

function pythonFile p
   put the filename of this stack into fp
   set the itemdel to "/"
   put the long seconds into fn
   replace "." with "_" in fn
   put "_temp.py" after fn
   put fn into item -1 of fp
   put p into url ("file:" & fp)
   return shell(quote & "" & quote && quote & fp & quote)
end pythonFile

In the real world you'd probably want to set up a single external file (or
set of files? if performance is important and the files need to be used
repeatedly?) and check to make sure you're not accidentally overwriting
something.

On Thu, Jul 20, 2023 at 4:07 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Interesting. Ostensibly you could use low level file commands to create
> they python file? Or does the Python script need to be processed by Python
> first?
>
> Bob S
>
>
> > On Jul 20, 2023, at 12:33 PM, Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > I've now figured out that calling a Python file from within LC is as easy
> > as:
> >
> > put shell(quote & "" & quote && quote &
> > "" & quote)
> >
> > Then whatever gets print()'ed in Python gets returned to LC. Has anyone
> > done work this way and has ideas on best practices for some sort of
> >
> > 1. generate python code
> > 2. write python code to a file
> > 3. write data to a (separate?) file
> > 4. call the code
> > 5. process the results
> >
> > ...loop?
> >
> > gc
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Has anyone experimented with using Python within LC?

2023-07-20 Thread Geoff Canyon via use-livecode
I've now figured out that calling a Python file from within LC is as easy
as:

put shell(quote & "" & quote && quote &
"" & quote)

Then whatever gets print()'ed in Python gets returned to LC. Has anyone
done work this way and has ideas on best practices for some sort of

1. generate python code
2. write python code to a file
3. write data to a (separate?) file
4. call the code
5. process the results

...loop?

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: What is your best practice for setting a script in a script?

2023-07-15 Thread Geoff Canyon via use-livecode
Custom properties would definitely be my go-to, similar to what others have
said. That said, I think the merge command is your friend here.

This script in a button does what you want:

on mouseUp
   set the script of button "Sample" to \
 merge("on mouseUp[[cr]]" &\
 "ask [[quote]]Please enter a number between 1 and
100[[quote]][[cr]]" &\
 "if it is not a number then exit mouseUp[[cr]]" &\
 "if it < 1 OR it > 100 then exit mouseUp[[cr]]" &\
 "put it into field [[quote]]Number[[quote]][[cr]]" &\
 "end mouseUp")
end mouseUp

The use of \ to continue, and [[quote]] and [[cr]] results in a pretty
readable script to my eye at least.

gc

On Sat, Jul 15, 2023 at 8:07 AM Paul Dupuis via use-livecode <
use-livecode@lists.runrev.com> wrote:

> So in the instances where you have a script that creates an object and
> then sets the script of that object (example below), what is you best
> practice for having the script in a script and still be readable?
>
> Example:
> BUTTON "Make"
> on mouseUp
>local tScript
>create button "Sample"
>put "on mouseUp" into tScript
>put "  ask 'Please enter a number between 1 and 100'"  after tScript
>put "  if it is not a number then exit mouseUp"  after tScript
>put "  if it < 1 OR it > 100 then exit mouseUp"  after tScript
>put "  put it into field 'Number'"  after tScript
>put "end mouseUp" after tScript
>replace "'" with quote in tScript
>set the script of button "Sample" to tScript
> end mouseUp
>
> This create a button "Sample" with the script
> on mouseUp
>ask "Please enter a number between 1 and 100"
>if it is not a number then exit mouseUp
>if it < 1 OR it > 100 then exit mouseUp
>put it into field "Number"
> end mouseUp
>
> However, I reading the script for button Sample in button Make with the
> "pu" statements and quotes (double and single) and cr and so one
> cumbersome to read. Yes there are behavior scripts, but this is about
> the best practice of placing a script in a script (to set the script of
> an object) and having it as clear as possible.
>
> I wish there was a command like "put begin block" where you could follow
> it any  number of lines and then "end block into tVar". i.e.
>
> put begin block
> on mouseUp
>ask "Please enter a number between 1 and 100"
>if it is not a number then exit mouseUp
>if it < 1 OR it > 100 then exit mouseUp
>put it into field "Number"
> end mouseUp
> end block into tScript
>
> Is there a better way to have a script written in a script?
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Shell + Python?

2023-07-15 Thread Geoff Canyon via use-livecode
In terminal, this works:

python -c "print('hello world')"


In LiveCode, this:

*put* shell("python -c " & quote & "print('hello world')" & quote)

puts this:

/bin/sh: line 1: python: command not found

while this:

*put* shell("pwd")

puts this:

/Applications/LiveCode 9.6.9.app

So any idea why terminal can find python but LC's shell function can't?
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Crazy question: is it possible/reasonable to use Python in LC?

2023-07-13 Thread Geoff Canyon via use-livecode
I've been playing with Python, and it has a lot of nice qualities, but a
built-in GUI isn't one of them (no apologies to tkinter).

So it would be interesting/nice to be able to open LC, add a button to a
stack, and put some python into the script of that button and have it just
work, with access to the rest of the LC stack/controls as usual.

Obviously that's not possible, but how close can we come? I assume it would
be possible to write a shell command to trigger a python script, but that
seems complex and sub-optimal, especially when thinking about having to
bundle together all the bits and bobs from the LC UI to pass as arguments
to the Python script instead of having it able to just reference what it
needs on the fly.

Anyway, wondering if anyone else has thought about this.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-24 Thread Geoff Canyon via use-livecode
On Tue, Jan 24, 2023 at 8:10 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I don't think it needs to store ALL the permutations, only the viable
> ones, the ones that lead to success. That has to be a much smaller number.


There are only three outcomes: win, lose, draw. Even if the breakdown is
0.1% win, 0.1% lose, and 99.8% draw, that would still be far more positions
than could be stored using all the computing power on Earth, a billion
times over.

> But I was using that as an example of the mathematical nature of Chess. I
> think what we must mean by AI is that through recursion, a computer can
> retain successful paths to success (success being that which we define as
> success in the process.) I don't think we will ever see the day where a
> computer, lacking experience and all the data for a problem, can "reason"
> it's way to success.
>

That's almost exactly what AlphaZero did: it was given the rules for moves,
and a definition of win conditions, and then played against itself. It
wasn't given any info on existing openings or endgames. It was entirely
self-taught, in 9 hours. I think the only reason to say that it didn't
reason about the game is that we *do* understand how it works at a low
level, and at an abstract level, but we *don't* understand the specifics
about how it works at a high level. It's the same way I might understand
what a chess master means when they say a move is better because it's more
active; I understand what "active" means in general, but I would likely not
be able to say why that move was more active than several other moves.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-23 Thread Geoff Canyon via use-livecode
On Mon, Jan 23, 2023 at 4:09 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Meh. Don't like using Chess as a measurement of AI competence. Chess is in
> AI's wheelhouse. Once a computer can store all the possible permutations of
> chess,
>

I agree on the sentiment, but a small point: the state-space of Chess is
about 10^44 . No computer
has, or foreseeably will, store all the possible permutations. It's the
nature of machine learning that it's pretty much impossible for us to
understand what something like AlphaZero
 *does* store, but it's not
anything like "in this position, play this move". Further, it appears
AlphaZero used 16GB of memory. It looks like Stockfish 10 (which I think is
considered stronger than AlphaZero) can use more, but will operate in 16GB
of memory as well.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-21 Thread Geoff Canyon via use-livecode
Forgot to include: in the '10s I would have added rogue AI.

On Sat, Jan 21, 2023 at 2:47 PM Geoff Canyon  wrote:

>
>
> On Sat, Jan 21, 2023 at 10:50 AM Richard Gaskin via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
>>
>> Human-generated disinformation is already a significant destabilizing
>> force. When we trust machine-generated content we run that same risk at
>> light speed.
>>
>
> Absolutely agreed -- If you'd asked me in the 90s what man-made thing
> would end us all, I'd have said nanotechnology. In the 2000s I would have
> added bio-tech. These days I definitely consider disinformation an equal
> threat.
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-21 Thread Geoff Canyon via use-livecode
On Sat, Jan 21, 2023 at 10:50 AM Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
> Human-generated disinformation is already a significant destabilizing
> force. When we trust machine-generated content we run that same risk at
> light speed.
>

Absolutely agreed -- If you'd asked me in the 90s what man-made thing would
end us all, I'd have said nanotechnology. In the 2000s I would have added
bio-tech. These days I definitely consider disinformation an equal threat.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-21 Thread Geoff Canyon via use-livecode
Those only interested in LiveCode, click "next" now.

On Sat, Jan 21, 2023 at 10:40 AM Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
> After all, the Codex had been trained on billions of
> publicly available source code lines – including code
> in public repositories on GitHub. That included, among
> other things, all of the Apache Foundation's many
> projects' code.
> https://www.theregister.com/2022/11/11/githubs_copilot_opinion/
>
>
> Stability Diffusion, Midjourney, and DreamUp were
> trained on copyrighted materials without credit,
> compensation, or consent, according to a new lawsuit.
>
> https://www.pcmag.com/news/artists-sue-ai-art-generators-for-copyright-infringement


My not-a-lawyer understanding is that this lawsuit is almost guaranteed to
fail. Just from a conceptual perspective, human artists have access to the
same copyrighted material (albeit not the ability to ingest *all* of it)
and even the ability to mimic it for their own edification. It's the act of
publishing similar work that is problematic. And it's going to be fun for
the lawyers to sort out who's at fault if I use Stable Diffusion to create
a corporate christmas card that happens to resemble the Coca-Cola polar
bears.

 > We're a very long way from attempting to write all apps in assembler
>  > using this sort of AI.
>
> Are we?  As late as my teens I was still reading science mags saying
> "Well, AI is going to be a big deal, but no machine will ever beat a
> human at something as complex as chess."
>
> Big Blue beat world chess champion Garry Kasparov less than two decades
> later.
>
> So the goalpost moved, with explanations like "Well, chess is ultimately
> a memorization task, but no computer can ever beat a human at something
> as abstract and intuitive as Go".
>
> Google's DeepMind beat Go champion Lee Se-dol in 2019.
>
> I would caution against underestimating how CS advancements accelerate
> further CS advancements.
>

If anything I think those examples undersell how quickly this is going to
proceed. I'll be very surprised if GPT-X (not an actual name) isn't
human-capable for a broad range of programming tasks by 2025.

So how'd that First Industrial Revolution turn out? ;)
>

I know you're just being cheeky here, but to make it explicit and let
others disagree if they wish: the First Industrial Revolution turned out
*great*. "Some economists have said the most important effect of the
Industrial Revolution was that the standard of living for the general
population in the western world began to increase consistently for the
first time in history" (others say it began right after). "Economic
historians are in agreement that the onset of the Industrial Revolution is
the most important event in human history since the domestication of
animals and plants." https://en.wikipedia.org/wiki/Industrial_Revolution
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-21 Thread Geoff Canyon via use-livecode
Eliza never passed a Turing Test, not even remotely.

I've been doing a ton of other research with ChatGPT, and it definitely is
able to pass a Turing test in some circumstances. Example below.

No, it doesn't "understand" the way a human does. AlphaZero doesn't
"understand" chess the way a human does, but it still wipes the floor with
any human who ever existed. The point being: if the text it outputs reads
like understanding, does it matter what's behind the curtain?

One of the points of my article (which I'll now make more explicit) is that
it still takes a programmer's mind to construct efficient instructions for
ChatGPT. The first example I gave, where I really thought about the
instructions I gave, went much better than the other two examples.

So for now we're still needed. Many of us switched from Pascal or C to
LiveCode. We should think of ChatGPT + LiveCode as similar: a still higher
level of programming abstraction. To your point, eventually maybe LiveCode
disappears from that equation -- sorry Kevin :-( One day a random person
will be able to say "I'm bored, make me a fun game that I'll find
interesting" and the AI will just spit out Half-Life 3.

Example of ChatGPT blowing my mind: I gave it a prompt like this:

My name is Bob. My sister Sarah is married to Tom, who has two children
from a previous relationship, Beth and Gary. I gave my other niece Karen
$100 for her birthday, and now my nephew's birthday is coming up, but money
is a bit tight. What should I do?

And I kid you not, it gave an extensive and reasonable answer,
"understanding" all of the relationships I laid out.

gc

On Sat, Jan 21, 2023 at 8:41 AM Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Rick Harrison wrote:
>
>  > Hi Richard,
>  >
>  > That’s for sure!
>  >
>  > We should never let an AI write code that we don’t have a prayer
>  > to understand.
>  > It should always write code that is humanly readable and correctable.
>
> Advanced pattern-matching software (these day mislabeled "Intelligence")
> is in some ways a write-only tool.
>
> It does an amazing job of emulating human textual communication
> patterns, while truly understanding nothing, not even its own words:
> https://twitter.com/SanujShah/status/1616779605775351810
>
> It is an advanced variant of Eliza, which also passed the Turning Test
> (decades ago).
>
> --
>   Richard Gaskin
>   Fourth World Systems
>   Software Design and Development for the Desktop, Mobile, and the Web
>   
>   ambassa...@fourthworld.comhttp://www.FourthWorld.com
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: ChatGPT examples

2023-01-20 Thread Geoff Canyon via use-livecode
I'm sure someone has done the work to create a more efficient algorithm for
this. Off the top of my head if I were trying to  I'd probably do something
like:

1. Grab two points at random (in case the points are pre-sorted in some
way) and get the distance.
2. Assume that's a reasonable average distance between points.
3. Define that as the number to beat, and define a grid based on it.
4. Go through all the points, tossing them into buckets based on the grid.
I'd define the buckets as fully overlapping to avoid missing close pairs.
5. The size of the grid buckets is critical: too big and you do too much
work. Too small and you end up with all singletons in the buckets. This
would require some experimentation and thought.
6. Go through the buckets only comparing the points within them.

On Fri, Jan 20, 2023 at 10:14 AM Alex Tweedly via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
> On 20/01/2023 16:52, Mark Waddingham via use-livecode wrote:
> > On 2023-01-20 13:05, Alex Tweedly via use-livecode wrote:
> >> We need a better algorithm. If we use a "linear scan", we can change
> >> it from essentially Order(N**2) to approx Order(N).
> >
> > Slightly pedantic point (I appreciate that you did say 'approx')...
> >
> > Sorting can not be done in any less time than O(N*log N) - so the
> > revised algorithm is O(N*log N) as you have to sort the input for it
> > to be able to scan linearly.
> >
> I figured someone would pick me up on that :-) It was a pretty big
> 'approx' :\)
>
> The sorting step is indeed O(NlogN).
>
> And the rest of it also worse than linear, but I don't have the math
> knowledge to even begin to think about how much worse. Quick testing
> says it's worse than O(NlogN), and in practice, it might even be as bad
> as something like O(N * sqrt(N)), guessing about the number of points
> within a (variable) sized window to the right of the current scan coord.
>
> But in any "real app" usage that I can imagine, the 'clustering' effect
> would seem to improve it over O(N*sqrt(N)); e.g. if the points tend to
> cluster rather than be evenly randomly spread, then the number within
> the scan window goes down on average. "real app" could be players in a
> 1st person player game, or vehicles on a road simulation, or (in 3d)
> stars in the universe - in all cases causing the minDist to decrease
> faster than when they are evenly spread.
>
> Alex.
>
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: ChatGPT examples

2023-01-20 Thread Geoff Canyon via use-livecode
Whoa, TIL. Of course ChatGPT was easily able to make the substitution. I've
updated the doc.

gc

On Fri, Jan 20, 2023 at 9:46 AM Alex Tweedly via use-livecode <
use-livecode@lists.runrev.com> wrote:

> On 20/01/2023 15:55, Geoff Canyon via use-livecode wrote:
>
> > Responses inline:
> >
> > On Fri, Jan 20, 2023 at 5:06 AM Alex Tweedly via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> >
> > I thought of this -- especially since ChatGPT's first (python-esque)
> > example uses "inf" -- but what would you use as "infinity" in LiveCode?
> In
> > practice if I were coding and comfortable with it I'd probably just throw
> > in 9 and be done, but in the abstract, there are bigger numbers
> > allowed in LC, and I don't care to find the absolute largest -- plus it
> > would be some weird long string -- I think, I don't know off the top of
> my
> > head what the largest 64-bit value is.
>
> Just use the constant 'infinity'
>
> I think it was added fairly recently, but the dictionary doesn't say
> what version it first appeared in.
>
> Alex.
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: ChatGPT examples

2023-01-20 Thread Geoff Canyon via use-livecode
On Fri, Jan 20, 2023 at 6:57 AM Craig Newman via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Geoff.
>
> Startling, and beautifully presented.
>
> I had no idea ChatGPT was that powerful and knowledgeable.
>
> We are doomed.
>
> Craig
>

Doomed like the guys walking behind the horses were doomed by the
tractors...
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: ChatGPT examples

2023-01-20 Thread Geoff Canyon via use-livecode
Responses inline:

On Fri, Jan 20, 2023 at 5:06 AM Alex Tweedly via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Fascinating. Thank you so much for that Geoff.
>
> I've been afraid to play with ChatGPT so far - too worried abut getting
> sucked in and spending way too much time 
>
> I did take a look at your third example (since I can never resist a
> performance challenge :-)
>
> There are a number of minor tweaks that could be made to improve
> performance
>
> 1. set initial value to infinity rather than calculating a distance
> between the first two points.
>

I thought of this -- especially since ChatGPT's first (python-esque)
example uses "inf" -- but what would you use as "infinity" in LiveCode? In
practice if I were coding and comfortable with it I'd probably just throw
in 9 and be done, but in the abstract, there are bigger numbers
allowed in LC, and I don't care to find the absolute largest -- plus it
would be some weird long string -- I think, I don't know off the top of my
head what the largest 64-bit value is.


> 2. "number of elements in pPoints" is unvarying within any one call - so
> extract it to a variable at the start
>

Good point. I did benchmark  "number of elements" -- ChatGPT's code;
against "item 2 of the extents of" -- what I would have done; and number of
elements is *much* faster.

>
> 3. use the square of the distance rather than the actual distance - save
> N**2 calls to sqrt
>

Nice!

>
> 4. use "DX * DX" rather than "DX ^ 2" (about 25% faster)
>

Really? Interesting, I'll have to check that.


> 5. calculate distance in-line rather than call a function
>

Yep, this is purely an artifact of how ChatGPT wrote it. But it would be
interesting to give it both chunks of code and say "merge this" and see if
it can pull that off. Thanks for the idea!

>
> but those all add up to maybe 10% performance improvement (or less - I
> didn't test it). That's useful - but not enough.
>
> For a modest number of points (2000 random points), this takes approx
> 16.5 seconds !!
>
> We need a better algorithm. If we use a "linear scan", we can change it
> from essentially Order(N**2) to approx Order(N).
>
> Summary:
>
>   - sort the points by X coordinate
>
>   - while scanning the inner loop, as soon as the difference in Xcoord
> from the 'outer' point exceeds the minDist so far, you can reject not
> just this point, but all subsequent points, and hence exit the inner
> loop immediately.
>
> This brings the time down from 16500 millisecs to 25 millisecs.
>
> BUT - I have no clue how I'd go about describing this to ChatGPT :-)
>
> NB I changed the input parameter to be the list of points rather than
> the array.
>

Fair point -- the array was entirely ChatGPT's choice, and I didn't
challenge it. I'll ask it to change and see what happens.

>
> Code:
>
> function closestPointsSQ pLines
> sort pLines by item 1 of each
> put pLines into pPoints
> split pPoints by CR
> put infinity into minDist
> put the number of elements in pPoints into N
> repeat with i = 1 to N-1
>repeat with j = i + 1 to N
>   put item 1 of pPoints[j] - item 1 of pPoints[i] into t1
>   if t1 * t1 > minDist then exit repeat
>   put item 2 of pPoints[j] - item 2 of pPoints[i] into t2
>   put t1 * t1 + t2 * t2 into dist
>   if dist < minDist then
>  put dist into minDist
>  put pPoints[i] & " " & pPoints[j] into closestPoints
>   else if dist = minDist then
>  put return & pPoints[i] & " " & pPoints[j] after closestPoints
>   end if
>end repeat
> end repeat
> return closestPoints
> end closestPointsSQ
>
> -- Alex.
>
> On 20/01/2023 06:02, Geoff Canyon via use-livecode wrote:
> > I tested three use cases, with variations, using ChatGPT for (live)code
> > generation. There was a lot of back and forth. In the end, I solved all
> the
> > problems I set, but in some cases I had to hold ChatGPT's hand pretty
> > tightly.
> >
> > That said, I learned some things as well -- about LiveCode. ChatGPT's
> code
> > for Fizz Buzz was faster than mine.
> >
> > My code was faster for reversing lines. But ChatGPT, when asked to "make
> > the code faster" gave several suggestions, some of which were wrong or
> > impossible, but one of them was my method, and when I said "write that
> > option" it did, with only a few corrections needed.
> >
> > And one of the ideas, while wrong, caused me to think o

ChatGPT examples

2023-01-19 Thread Geoff Canyon via use-livecode
I tested three use cases, with variations, using ChatGPT for (live)code
generation. There was a lot of back and forth. In the end, I solved all the
problems I set, but in some cases I had to hold ChatGPT's hand pretty
tightly.

That said, I learned some things as well -- about LiveCode. ChatGPT's code
for Fizz Buzz was faster than mine.

My code was faster for reversing lines. But ChatGPT, when asked to "make
the code faster" gave several suggestions, some of which were wrong or
impossible, but one of them was my method, and when I said "write that
option" it did, with only a few corrections needed.

And one of the ideas, while wrong, caused me to think of a different way to
solve the problem, and that way ended up being faster than my original
solution by over 3x on reversing 10k lines. Getting ChatGPT to write this
new method was *hard*.

In any case, I wrote it all down in a google doc
.
If you're curious, have a read. That URL is open for comments/edit
suggestions. If you have any I'd love to hear them.

Thanks!

Geoff
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Tab groups broken?

2023-01-16 Thread Geoff Canyon via use-livecode
I have LC 9.6.8 on a Mac. I drag a tab group onto a card, and it shows up
with the primary tab looking...disabled? And it doesn't work at all. It
also doesn't receive mouseUp messages?

So confused.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-14 Thread Geoff Canyon via use-livecode
On Sat, Jan 14, 2023 at 9:44 AM Mark Wieder via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
> Keep in mind,though, that there's lots of example fizzbuzz code for the
> algorithms to draw from.
>

Definitely. I'll have to think about a (possibly) original challenge.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-14 Thread Geoff Canyon via use-livecode
On Sat, Jan 14, 2023 at 12:08 PM Mark Smith  wrote:

>
> Quite weird for me to comprehend how it knows that. Unless of course, you
> were somehow more specific than your examples illustrate.
>

I posted the exact prompts I gave it, no hidden tricks :-)
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-14 Thread Geoff Canyon via use-livecode
On Fri, Jan 13, 2023 at 7:22 PM Geoff Canyon  wrote:

>
> If I were writing it, I'd probably do something like
>
> [my code]
>
> That might be a bit faster, but probably not as clear.
>

I just checked, and my code is about 20% *slower* and still less clear.
Good grief, I'm about to be replaced by a machine.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Standalone riddle

2023-01-13 Thread Geoff Canyon via use-livecode
This doesn't solve the puzzle, but: use a stack property to store the value
instead?
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Training the AI to write better LiveCode

2023-01-13 Thread Geoff Canyon via use-livecode
So just now I put this in to chatgpt:

"fizz bin" is a program that counts from 1 to 100, replacing every number
divisible by 5 with "fizz" and every number divisible by 7 with "bin"; and
numbers divisible by both 5 and 7 with "fizz bin". Write code in the
programming language livecode to execute "fizz bin"

This is what ChatGPT responded with:

repeat with x = 1 to 100
if x mod 5 = 0 and x mod 7 = 0 then
put "fizz bin"
else if x mod 5 = 0 then
put "fizz"
else if x mod 7 = 0 then
put "bin"
else
put x
end if
end repeat

That works as-is, but obviously the results fly by in the message box. So I
put a field and a button on a card, and edited to this, and it works
perfectly:

on mouseUp
   repeat with x = 1 to 100
  if x mod 5 = 0 and x mod 7 = 0 then
 put "fizz bin" & cr after fld 1
  else if x mod 5 = 0 then
 put "fizz" & cr after fld 1
  else if x mod 7 = 0 then
 put "bin" & cr after fld 1
  else
 put x & cr after fld 1
  end if
   end repeat
end mouseUp

Then as I was typing this email I realized I was potentially selling
chatgpt short, so I put this in:

Modify that code so it works as an "on mouseUp" handler in a button, and
concatenates the results on individual lines, and puts the final result
into the field "display"

And it output this:


on mouseUp
   put "" into fizzbin
   repeat with x = 1 to 100
  if x mod 5 = 0 and x mod 7 = 0 then
  put "fizz bin" & return after fizzbin
  else if x mod 5 = 0 then
  put "fizz" & return after fizzbin
  else if x mod 7 = 0 then
  put "bin" & return after fizzbin
  else
  put x & return after fizzbin
  end if
   end repeat
   put fizzbin into field "display"
end mouseUp

And it followed that with instructions:

This code uses the "on mouseUp" handler to execute the script when the
button is clicked. The results are concatenated and separated by a new line
using the "& return" operator after each output. The final result is placed
into a field with the name "display" using the "put" command.

I'll save you the trouble: that code executes perfectly right out of the
box, with no errors, and of course even though I didn't ask it to, it uses
a variable to store the intermediate values, saving the field update for
the end.

If I were writing it, I'd probably do something like

on mouseUp
   put "" into fizzbin
   repeat with x = 1 to 100
  if x mod 5 = 0 then put "fizz " after fizzbin
  if x mod 7 = 0 then put "bin " after fizzbin
  if char -1 of fizzbin is space
  then put return into char -1 of fizzbin
  else put x & return after fizzbin
   end repeat
   put fizzbin into field "display"
end mouseUp

That might be a bit faster, but probably not as clear.

Finally, I gave it the input:

Now rewrite the code to be a function named "fizzbin" that takes an
argument "n", repeats with 1 to n, and returns the results.

function fizzbin n
   put "" into fizzbin
   repeat with x = 1 to n
  if x mod 5 = 0 and x mod 7 = 0 then
  put "fizz bin" & return after fizzbin
  else if x mod 5 = 0 then
  put "fizz" & return after fizzbin
  else if x mod 7 = 0 then
  put "bin" & return after fizzbin
  else
  put x & return after fizzbin
  end if
   end repeat
   return fizzbin
end fizzbin

This works perfectly, and chat gpt also documents its answer:

This code defines a function named "fizzbin" which takes an argument "n"
that determines the range of the repeat loop. The function builds the
result string in a variable "fizzbin" and return the final result. The
calling script can then use the returned value for further processing or
for displaying in a field.

Grammatical issue notwithstanding, that's good documentation.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Sad news about Brahmanathaswami

2022-12-27 Thread Geoff Canyon via use-livecode
I worked with Swami a few times -- he liked Navigator, so of course I think
he was awesome :-)

It's always sad to hear of someone passing. The memories they leave behind
live on in all of us.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: So, looks like we'll be able to run LiveCode on an iPad at some point

2022-12-16 Thread Geoff Canyon via use-livecode
Sorry, I should have said "technically able" -- but surely (if this
happens) this means that it would be possible to ship an iOS app capable of
being licensed, creating an interface within it, modifying scripts of that
interface, and possibly even saving that as a new iOS app?

The multi-window aspect seems like a sideshow.

On Fri, Dec 16, 2022 at 10:51 AM Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Geoff Canyon wrote:
>
> >
> https://sixcolors.com/post/2022/12/answering-the-burning-questions-about-apples-reported-app-store-plans/
> >
> > Being able to work on an iPad the same as I do on my MacBook would be
> very
> > nice.
>
> I must be slow today. How does Apple's potential policy shift with app
> stores to meet new regulatory frameworks change the technical challenges
> of rendering multiple windows in a single-window compositor?
>
> --
>   Richard Gaskin
>   Fourth World Systems
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


So, looks like we'll be able to run LiveCode on an iPad at some point

2022-12-16 Thread Geoff Canyon via use-livecode
https://sixcolors.com/post/2022/12/answering-the-burning-questions-about-apples-reported-app-store-plans/

Being able to work on an iPad the same as I do on my MacBook would be very
nice.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Build in Answer Dialog

2022-12-06 Thread Geoff Canyon via use-livecode
On Tue, Dec 6, 2022 at 9:35 AM Klaus major-k via use-livecode <
use-livecode@lists.runrev.com> wrote:

>
> are you sure that we are allowed save a file inside of an application
> bundle
> inside of the APPLICATION folder on macOS?
>

Since it already gives fairly easy access to the IDE/code, toward the goal
of making Navigator as dangerous as possible I should find a way to expose
this as well. :-)
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Lock screen challenge

2022-11-22 Thread Geoff Canyon via use-livecode
Yep, that makes sense. Looks nice!

On Tue, Nov 22, 2022 at 1:28 PM Brian Milby via use-livecode <
use-livecode@lists.runrev.com> wrote:

> One option to use an external editor would be ScriptTracker.  You could
> export the scripts, do your bulk changes, and then import them back.
>
> Brian Milby
> br...@milby7.com
>
> > On Nov 22, 2022, at 4:10 PM, Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > A random thought: if you converted to script-only stack behaviors first,
> > then you would have a bunch of text files you can use whatever tool you
> > like on.
> >
> > gc
> >
> >> On Mon, Nov 21, 2022 at 1:25 PM J. Landman Gay via use-livecode <
> >> use-livecode@lists.runrev.com> wrote:
> >>
> >> I'm updating a very old set of stacks that use old HC syntax for "lock
> >> screen". A search with
> >> LC's Find utility says there are 723 instances that may need to be
> >> changed. Right now they look
> >> like this:
> >>
> >> lock screen
> >> -- do any number of things
> >> unlock screen with 
> >>
> >> These all need to be changed to:
> >>
> >> lock screen for visual effect
> >> -- do any number of things
> >> unlock screen with visual effect 
> >>
> >> The challenge is that not all "lock screen" commands use a visual
> effect,
> >> some are simple
> >> lock/unlock pairs. I need to automate this. The visual effects are not
> all
> >> the same. Some
> >> handlers have multiple instances of locking the screen with or without a
> >> visual effect.
> >>
> >> I'd use a regex if I could, but back references aren't supported (or are
> >> they now?) I really
> >> don't want to do this manually.
> >>
> >> --
> >> Jacqueline Landman Gay | jac...@hyperactivesw.com
> >> HyperActive Software   | http://www.hyperactivesw.com
> >>
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Lock screen challenge

2022-11-22 Thread Geoff Canyon via use-livecode
One small point on this: it doesn't matter since we're dealing with HC
files here, but in LC there can be backgrounds that don't appear on any
card. So it would be necessary to add:

   repeat with j = 1 to the number of backgrounds in stack i
 repeat with k= 1 to the number of controls of background j of stack i

Note that this *doesn't* guarantee a single loop through all the controls.
The code would need to handle controls in groups that appear on multiple
cards. In Navigator I needed something like this. I created this, some of
which I wrote years ago, and no warranty is expressed or implied:

function allIDsOfStack stackID
   local tReturnIDList

   put empty into tReturnIDList
   repeat for each line bgID in backgroundIDsOf(stackID)
  put allControlIDsOf(bgID) after tReturnIDList
   end repeat
   repeat for each line cdID in cardIDsOf(stackID)
  put nonGroupChildControlIDsOf(cdID) after tReturnIDList
   end repeat
   return (the long id of stackID) & cr & tReturnIDList
end allIDsOfStack

function allControlIDsOf pContainerID
   local cIDend, cIDendString, controlIDList, controlList
   if not exists(pContainerID) then return empty
   put the long id of pContainerID into pContainerID
   --breakpoint
   switch word 1 of the name of pContainerID
  case "stack"
 return allIDsOfMainstack(pContainerID)
  case "card"
 put the controlIDs of pContainerID into controlList
 if controlList is empty then return pContainerID & cr
 repeat for each line cID in controlList
put (the long id of control id cID of pContainerID) & cr after
controlIDList
 end repeat
 return pContainerID & cr & controlIDList
  case "group"
 if word -6 of pContainerID is "card" then put -7 into cIDend else
put -10 into cIDend
 put (word cIDend + 5 to -1 of pContainerID) & cr into cIDendString
 put the controlIDs of pContainerID into controlList
 if controlList is empty then return pContainerID & cr
 repeat for each line cID in controlList
put "control" && (word 2 to cIDend of the long id of control id
cID of pContainerID) && cIDendString after controlIDList
 end repeat
 return pContainerID & cr & controlIDList
  default
 --return "control" && word 2 to -1 of pContainerID
 return pContainerID
   end switch
end allControlIDsOf

function allUniqueIDsOf pControlList,includeBehaviors
   local tReturn, tWorking, X

   -- returns all the controls within
   put format("group,1\ncard,2\nstack,3") into X
   split X using cr and comma
   put canonicalIDsOf(pControlList) into pControlList
   sort lines of pControlList descending by X[word 1 of each]
   --answer pControlList
   repeat for each line cID in pControlList
  --put the long id of cID into cID
  if tReturn[cID] is not empty then next repeat
  --put true into tReturn[cID]
  if includeBehaviors then
 put canonicalIDsOf(allControlIDsOf(cID),false) into tWorking
 put addBehaviorChains(tWorking) into tBehaviors
 if tBehaviors is not empty then put cr & tBehaviors after tWorking
 split tWorking by cr as set
  else
 put canonicalIDsOf(allControlIDsOf(cID),true) into tWorking
  end if
  --answer tWorking
  --split tWorking by cr as set
  union tReturn with tWorking
   end repeat
   --answer the number of lines of the keys of tReturn
   return the keys of tReturn
end allUniqueIDsOf

function nonGroupChildControlIDsOf pContainerID
   local controlIDList, tReturnIDList

   put empty into tReturnIDList
   put the long id of pContainerID into pContainerID
   put the childControlIDs of pContainerID into controlIDList
   if controlIDList is empty then return pContainerID & cr
   put "control id " before controlIDList
   replace cr with " of" && pContainerID & cr & "control id " in
controlIDList
   repeat for each line controlID in (controlIDList && "of" && pContainerID)
  if word 1 of the name of controlID is not "group" then put controlID
& cr after tReturnIDList
   end repeat
   return pContainerID & cr & tReturnIDList
end nonGroupChildControlIDsOf

function canonicalIDsOf cIDList, returnArray
   local cID, cIDend, R

   repeat for each line cIDx in cIDList
  put the long id of cIDx into cID
  if word 5 of cID is "group" then
 if word -6 of cID is "card" then put -7 into cIDend else put -10
into cIDend
 put 1 into R[word 1 to cIDend of cID && word cIDend + 5 to -1 of
cID]
  else
 put 1 into R[cID]
  end if
   end repeat
   if returnArray is true then return R else return (the keys of R) & cr
end canonicalIDsOf


function backgroundIDsOf stackID
   local backgroundIDList, bgID

   put empty into backgroundIDList
   repeat with i = 1 to 9
  if not (there is a background i of stackID) then return
backgroundIDList
  put (the long id of background i of stackID) into bgID
  if word 5 of bgID is not "group" 

Re: Lock screen challenge

2022-11-22 Thread Geoff Canyon via use-livecode
My first thought is to export all scripts to a single file, with customized
headers for each object (maybe with a user-definable format). Then look for
that same format when pasting, to restore/update the scripts. Does that
make sense? Or would it be better to have an export function to create
individual files, one ofr each control, with the script in the file? That's
probably more robust, but not everyone knows how to make bulk changes to a
bunch of text files.

On Tue, Nov 22, 2022 at 1:11 PM Geoff Canyon  wrote:

> Navigator has support for test-based filtering of controls, and can
> copy/paste scripts, but it doesn't support copying/pasting to more than one
> control at a time. That would be an interesting problem to solve. What's
> your time frame?
>
> gc
>
> On Mon, Nov 21, 2022 at 1:25 PM J. Landman Gay via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
>> I'm updating a very old set of stacks that use old HC syntax for "lock
>> screen". A search with
>> LC's Find utility says there are 723 instances that may need to be
>> changed. Right now they look
>> like this:
>>
>> lock screen
>> -- do any number of things
>> unlock screen with 
>>
>> These all need to be changed to:
>>
>> lock screen for visual effect
>> -- do any number of things
>> unlock screen with visual effect 
>>
>> The challenge is that not all "lock screen" commands use a visual effect,
>> some are simple
>> lock/unlock pairs. I need to automate this. The visual effects are not
>> all the same. Some
>> handlers have multiple instances of locking the screen with or without a
>> visual effect.
>>
>> I'd use a regex if I could, but back references aren't supported (or are
>> they now?) I really
>> don't want to do this manually.
>>
>> --
>> Jacqueline Landman Gay | jac...@hyperactivesw.com
>> HyperActive Software   | http://www.hyperactivesw.com
>>
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Lock screen challenge

2022-11-22 Thread Geoff Canyon via use-livecode
Navigator has support for test-based filtering of controls, and can
copy/paste scripts, but it doesn't support copying/pasting to more than one
control at a time. That would be an interesting problem to solve. What's
your time frame?

gc

On Mon, Nov 21, 2022 at 1:25 PM J. Landman Gay via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I'm updating a very old set of stacks that use old HC syntax for "lock
> screen". A search with
> LC's Find utility says there are 723 instances that may need to be
> changed. Right now they look
> like this:
>
> lock screen
> -- do any number of things
> unlock screen with 
>
> These all need to be changed to:
>
> lock screen for visual effect
> -- do any number of things
> unlock screen with visual effect 
>
> The challenge is that not all "lock screen" commands use a visual effect,
> some are simple
> lock/unlock pairs. I need to automate this. The visual effects are not all
> the same. Some
> handlers have multiple instances of locking the screen with or without a
> visual effect.
>
> I'd use a regex if I could, but back references aren't supported (or are
> they now?) I really
> don't want to do this manually.
>
> --
> Jacqueline Landman Gay | jac...@hyperactivesw.com
> HyperActive Software   | http://www.hyperactivesw.com
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Lock screen challenge

2022-11-22 Thread Geoff Canyon via use-livecode
A random thought: if you converted to script-only stack behaviors first,
then you would have a bunch of text files you can use whatever tool you
like on.

gc

On Mon, Nov 21, 2022 at 1:25 PM J. Landman Gay via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I'm updating a very old set of stacks that use old HC syntax for "lock
> screen". A search with
> LC's Find utility says there are 723 instances that may need to be
> changed. Right now they look
> like this:
>
> lock screen
> -- do any number of things
> unlock screen with 
>
> These all need to be changed to:
>
> lock screen for visual effect
> -- do any number of things
> unlock screen with visual effect 
>
> The challenge is that not all "lock screen" commands use a visual effect,
> some are simple
> lock/unlock pairs. I need to automate this. The visual effects are not all
> the same. Some
> handlers have multiple instances of locking the screen with or without a
> visual effect.
>
> I'd use a regex if I could, but back references aren't supported (or are
> they now?) I really
> don't want to do this manually.
>
> --
> Jacqueline Landman Gay | jac...@hyperactivesw.com
> HyperActive Software   | http://www.hyperactivesw.com
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Anyone any experience with Livecode under Ventura?

2022-11-10 Thread Geoff Canyon via use-livecode
I regard it as a choice of risks -- I'm lazy about backups since...I was
going to say the '90s, but really it's forever. Thankfully I've never had a
drive go bad, but  I have written several novels, and I now have none of
them except as memories: one went away with an iMac hard drive I didn't
copy properly when I retired it, one went away with a zip drive, one went
away with 3 inch floppies, and one went away with 5 inch floppies (and one
went away with greenbar paper). I think my odds are better using a cloud
service than my own efforts at maintaining things.

gc

On Wed, Nov 9, 2022 at 2:32 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> FYI I NEVER am going to consolidate all my documents in iCloud. That's
> like hanging a copy of all my keys in the community center that's open 24
> hours a day to everyone. One day someone is going to lock the doors...
>
> Bob S
>
>
> On Nov 8, 2022, at 13:22 , Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> wrote:
>
> I upgraded to Ventura over a week ago. No problems so far with one
> exception: the OS suggested that I consolidate everything onto iCloud for
> universal access and backups. I did so. That resulted in oddities like
> cmd-shift-D now opening iCloud/Desktop instead of something in my home
> directory. Or more accurately, there *is* a "Desktop" folder in my home
> directory that appears not to be an alias, but is invisible?
>
> Anyway, doing this caused the same thing to happen for the Documents
> folder. LiveCode apparently can't find the invisible folder, so e.g. it
> defaulted back to the copy of Navigator included with LiveCode -- which is
> ancient, no one should use it -- instead of the copy in ~/Documents/My
> Livecode/Plugins.
>
> So far, to fix it I hit cmd-shift-period in the Finder. That shows
> invisible files. I'm sure there's a way to un-invisible a folder, and
> hopefully that will fix the issue without causing any issues with what
> Ventura is trying to do with iCloud.
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Anyone any experience with Livecode under Ventura?

2022-11-08 Thread Geoff Canyon via use-livecode
I upgraded to Ventura over a week ago. No problems so far with one
exception: the OS suggested that I consolidate everything onto iCloud for
universal access and backups. I did so. That resulted in oddities like
cmd-shift-D now opening iCloud/Desktop instead of something in my home
directory. Or more accurately, there *is* a "Desktop" folder in my home
directory that appears not to be an alias, but is invisible?

Anyway, doing this caused the same thing to happen for the Documents
folder. LiveCode apparently can't find the invisible folder, so e.g. it
defaulted back to the copy of Navigator included with LiveCode -- which is
ancient, no one should use it -- instead of the copy in ~/Documents/My
Livecode/Plugins.

So far, to fix it I hit cmd-shift-period in the Finder. That shows
invisible files. I'm sure there's a way to un-invisible a folder, and
hopefully that will fix the issue without causing any issues with what
Ventura is trying to do with iCloud.

On Tue, Oct 25, 2022 at 10:30 AM matthias rebbe via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi,
>
> the topic says it all
>
> Does anyone have already experience with Livecode under Ventura?
> Are there any known problems/bugs or so?
>
> Regards,
> Matthias
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Not LC-related, but this will give old-timers a blast of nostalgia

2022-11-07 Thread Geoff Canyon via use-livecode
https://beyondloom.com/decker/tour.html

Interestingly, it works almost identically native and on web. You literally
save with an .html extension and it's web-able.

The language is *not* HyperTalk.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Set behavior of standalone

2022-10-18 Thread Geoff Canyon via use-livecode
If you mean set the behavior *after* creating the standalone, that should
be possible, but it won't stick. You would have to set it each time. If you
mean set a behavior of a e.g. a stack or a card (or anything) before
creating the standalone, then it should be possible and should be
permanent. Is it possible you're seeing some sort of path issue?

On Mon, Oct 17, 2022 at 11:39 AM Marty Knapp via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Is it possible to set the behavior of a standalone to an external
> script-only stack? I can't seem to get it to work. The goal is for me to be
> able to modify the behavior of our customer database app without having to
> recompile. What am I missing?
>
> Marty
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Quick and simple web demos?

2022-09-30 Thread Geoff Canyon via use-livecode
Back in the day, I would create quick and simple demos of something I was
building as a concept, create standalones, and send them to the people I
wanted to demonstrate to. As an example of an example, suppose I wanted to
build a simple Eliza-like chatbot. I could throw a field on a card, put a
"start chat" button on it, and build logic in the field or the card to get
the job done. A few message handlers for EnterInField and ReturnInField
would get the job done.

These days there are at least two flaws with that approach:

1. Often the people I want to demo to are using work computers that are
locked down from random app installs.
2. Sometimes I want to build a demo the world at large can see, and clearly
installing an app from some random person is not the way to do that anymore.

SO: is it accurate to say:

1. The above is possible
2. I'd need a web-accessible place to store the files -- would google drive
be sufficient?
3. I'd need to add an HTML5 license to my account

Any best references for steps to follow?

Thanks,

Geoff
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Weird performance issue

2022-09-23 Thread Geoff Canyon via use-livecode
On Fri, Sep 23, 2022 at 4:44 PM J. Landman Gay via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Letting the engine do it for you is always faster.
>

Interestingly, *just* getting the names and ids for a 1500 card stack is
only about 15 times faster using the functions rather than a loop that gets
each individually.

For my purposes I have to parse the results anyway, which reduces the ratio
to about 6 times faster. Enough that I'll definitely rewrite the code, but
less than I would have expected.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Weird performance issue

2022-09-23 Thread Geoff Canyon via use-livecode
Yep, I'm aware of cardnames. I don't have any memory of why I wrote it this
way -- maybe I didn't trust the ordering of cardnames and cardids? Or maybe
it made more sense to collect by hand than to stitch together the values?
Or maybe I just sucked at that moment in time.

gc

On Fri, Sep 23, 2022 at 4:44 PM J. Landman Gay via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Are you familiar with the cardnames function? Letting the engine do it for
> you is always faster. That doesn't answer your question though.
>
> --
> Jacqueline Landman Gay | jac...@hyperactivesw.com
> HyperActive Software | http://www.hyperactivesw.com
> On September 23, 2022 5:46:24 PM Geoff Canyon via use-livecode
>  wrote:
>
> > On Fri, Sep 23, 2022 at 11:08 AM Mark Wieder via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> >
> >> On 9/23/22 10:40, J. Landman Gay via use-livecode wrote:
> >> > It may be related to the size of the stack. LC would have to load it
> all
> >> > into memory before checking the cards. Also, do the results change if
> >> > you lock messages?
> >>
> >> You also do a *lot* of work on both opening the stack and opening the
> >> card. And looping through that many times in your test. Your loop test
> >> doesn't really simulate real-world conditions for Navigator, so I don't
> >> think I'd worry about it too much.
> >>
> >> --
> >>   Mark Wieder
> >>   ahsoftw...@gmail.com
> >
> >
> > Why would the stack be opened, or the card, just checking existence? And
> > why would that happen each time rather than once?
> >
> > FYI for all tests the stacks are already open.
> >
> > And: Navigator until the version I'm working on now did exactly this when
> > getting a list of the card names I have no idea why I coded it that way,
> > but checking that method vs. getting the number of cards and then getting
> > the names based on that was what let me to notice this.
> >
> > thanks!
> >
> > gc
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Weird performance issue

2022-09-23 Thread Geoff Canyon via use-livecode
On Fri, Sep 23, 2022 at 11:08 AM Mark Wieder via use-livecode <
use-livecode@lists.runrev.com> wrote:

> On 9/23/22 10:40, J. Landman Gay via use-livecode wrote:
> > It may be related to the size of the stack. LC would have to load it all
> > into memory before checking the cards. Also, do the results change if
> > you lock messages?
>
> You also do a *lot* of work on both opening the stack and opening the
> card. And looping through that many times in your test. Your loop test
> doesn't really simulate real-world conditions for Navigator, so I don't
> think I'd worry about it too much.
>
> --
>   Mark Wieder
>   ahsoftw...@gmail.com


Why would the stack be opened, or the card, just checking existence? And
why would that happen each time rather than once?

FYI for all tests the stacks are already open.

And: Navigator until the version I'm working on now did exactly this when
getting a list of the card names I have no idea why I coded it that way,
but checking that method vs. getting the number of cards and then getting
the names based on that was what let me to notice this.

thanks!

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Weird performance issue

2022-09-23 Thread Geoff Canyon via use-livecode
My test stack had over a thousand cards in it, and was still fast checking
the 1000th card.

I've now added a field to each of a thousand cards and stuck text in it;
the stack is over 12MB and still much faster than Navigator, which is under
1MB.

Lock Messages does nothing as far as I can tell.

thanks!

gc

On Fri, Sep 23, 2022 at 10:41 AM J. Landman Gay via use-livecode <
use-livecode@lists.runrev.com> wrote:

> It may be related to the size of the stack. LC would have to load it all
> into memory before checking the cards. Also, do the results change if you
> lock messages?
> --
> Jacqueline Landman Gay | jac...@hyperactivesw.com
> HyperActive Software | http://www.hyperactivesw.com
> On September 22, 2022 3:01:48 PM Geoff Canyon via use-livecode
>  wrote:
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Weird performance issue

2022-09-23 Thread Geoff Canyon via use-livecode
Hmm, this is what "the stacks" returns for me:

/Users/gcanyon/Desktop/nav tester 0.004608

/Applications/LiveCode
9.6.8.app/Contents/Tools/Toolset/palettes/script-editor/revscripteditor.rev
0.272558

/Applications/LiveCode
9.6.8.app/Contents/Tools/Toolset/palettes/tools-palette/revtools.livecodescript
0.440798

/Applications/LiveCode
9.6.8.app/Contents/Tools/Toolset/palettes/dictionary/revdictionary.livecode
1.72743

/Applications/LiveCode
9.6.8.app/Contents/Tools/Toolset/palettes/menubar/revmenubar.livecodescript
0.421698

/Users/gcanyon/Desktop/nav tester 0.00453

0.007308

/Applications/LiveCode
9.6.8.app/Contents/Tools/Toolset/palettes/inspector/revinspector.livecodescript
1.565991

/Users/gcanyon/Documents/My LiveCode/Plugins/Navigator.rev 1.348666

Note the super long times for the dictionary, the inspector, and navigator,
the mediocre times for others, and the super fast time for the stack
actually running the code.

I'm on an M1 mac running 9.6.8



On Fri, Sep 23, 2022 at 6:48 AM Craig Newman via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Something weird happened to my post.
>
> I modified your handler to access only those stacks that appear when
> calling the function “the stacks”. In all those cases, the return time was
> only a few tenths of a second.
>
> But “revNaviigator” does not appear on that list. So there must be a
> longer pathway for LC to find a stack that certainly must be in memory, but
> that does not appear in the “stacks” list?
>
> Craig
>
> > On Sep 22, 2022, at 3:58 PM, Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > I was testing something for Navigator and found the following:
> >
> > put the long seconds into T
> > repeat 1
> >  get there is a card 1 of stack "untitled 1"
> >  --get there is a card 1 of stack "revnavigator"
> > end repeat
> > put the long seconds - T into T
> > put T
> > -- puts 0.005 or so
> >
> > put the long seconds into T
> > repeat 1
> >  --get there is a card 1 of stack "untitled 1"
> >  get there is a card 1 of stack "revnavigator"
> > end repeat
> > put the long seconds - T into T
> > put T
> > -- puts 1.2
> >
> > Why in the world would it take over 200x as long to identify that there
> is
> > a card 1 of Navigator vs. a random stack I just created?
> >
> > I just checked and:
> > stack "message" -- over 3 seconds -- a second run was 0.4
> > stack "revdictionary" -- 1.5 seconds
> > stack "home" -- 0.02 seconds
> >
> > I ran it across everything in the environment and got results from under
> a
> > hundredth of a second to over a second, with stacks pretty smoothly
> across
> > that range. No clue what's causing it.
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Weird performance issue

2022-09-22 Thread Geoff Canyon via use-livecode
I was testing something for Navigator and found the following:

put the long seconds into T
repeat 1
  get there is a card 1 of stack "untitled 1"
  --get there is a card 1 of stack "revnavigator"
end repeat
put the long seconds - T into T
put T
-- puts 0.005 or so

put the long seconds into T
repeat 1
  --get there is a card 1 of stack "untitled 1"
  get there is a card 1 of stack "revnavigator"
end repeat
put the long seconds - T into T
put T
-- puts 1.2

Why in the world would it take over 200x as long to identify that there is
a card 1 of Navigator vs. a random stack I just created?

I just checked and:
stack "message" -- over 3 seconds -- a second run was 0.4
stack "revdictionary" -- 1.5 seconds
stack "home" -- 0.02 seconds

I ran it across everything in the environment and got results from under a
hundredth of a second to over a second, with stacks pretty smoothly across
that range. No clue what's causing it.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-09-10 Thread Geoff Canyon via use-livecode
Ah, okay, I think I understand. There's a bit to unpack here:

1. There is no direct communication between Navigator and the LC IDE
toolbar. That means that the inspector triggered by the IDE toolbar will
reflect whatever is selected.
2. Navigator *only* tries to change the current selection automatically
when it is displaying "This Card" of "The Topstack" -- that goes both ways;
it only tries to reflect the selection in the IDE when this card and the
topstack are displayed.
3. Navigator will try to select controls when Select Objects is selected in
the popup menu.
4. It is not always possible to select controls. As I recall, controls in
groups can be selected, controls in stacks displaying as palettes or in
other modes cannot. I'm not sure about controls on not-currently-displayed
cards.
5. Because of (4) and (1), It is not always the case that selecting
"Inspector" in the IDE toolbar will open an inspector for whatever is
selected in Navigator.

1. Inspector palettes can be locked or unlocked. This is indicated by the
small padlock that is, for me at least, the left-most of the right group of
icons at the top of the inspector. This is unrelated to Navigator; you can
click the lock or unlock the inspector.
2. I don't know the particulars of the lock in the IDE; as far as I know,
it always starts out unlocked.
3. If you select "Single Object Inspector" from either the popup menu or
the properties menu, Navigator will do its best to select the highlighted
objects, and then open the inspector unlocked. The inspector reflects the
current selection. So for example, selecting two cards and then "Single
Object Inspector" *has* to fail; LiveCode doesn't support selecting two
cards at once. Likewise, selecting ar card that is not the current card of
the particular stack and then "Single Object Inspector" will also fail, and
display the stack.

I can't fix this; what to display when the inspector is unlocked is up to
the inspector code.

The alternative -- Individual Object Inspectors -- *will* work. It opens
one copy of the inspector for each control in Navigator's selection, and
opens them with the lock closed.This allows the inspector to reflect
anything. But it does have the drawback of opening an individual palette
for each control. I think I put a warning in if the number of controls is
large, with an option to cancel.

Then there is the use case where you want to have just one inspector,
reflecting a number of controls that might not be "select"-able. As far as
I know the IDE palette doesn't support this.

Navigator's Property Editor does. It reflects any selected controls in
Navigator when it is opened, and can set properties for all of them at
once. It can also be opened as a separate palette. In that case it reflects
the most recent selection in whichever copy of Navigator you interact with,
meaning that if you make a new selection of controls in a different copy of
Navigator, that will be reflected in the palette. The Navigator Property
Editor is a simple list for speed. It displays only the properties the
controls have in common, snd bolds the ones where the obects' properties
differ. There's more to the palette, but I don't want to write (more of) a
novel.

Hopefully this helps. As far as I know Navigator is working properly
regarding this use case.

Thanks for the feedback!

Geoff

On Thu, Sep 8, 2022 at 8:38 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Yes that works. What doesn't work is selecting the card in the list, then
> clicking the Inspector button in the LC IDE toolbar. It's easier for me to
> do that because if I click another object in Navigator, the focus of the
> Inspector (Properties Editor) changes to the selected object. If I do the
> right-click single object method, sometimes the focus does NOT change, and
> I have to do the right-click thungummy again.
>
> Bob S
>
>
> On Sep 8, 2022, at 24:54 , Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> wrote:
>
> Can you be more specific? I tried selecting the card both in the live
> display and the specific card display, and then on the Properties "P" menu
> I selected Property Editor, Single Object Inspector, and Individual Object
> Inspectors, and it always came up showing the card.
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-09-08 Thread Geoff Canyon via use-livecode
Can you be more specific? I tried selecting the card both in the live
display and the specific card display, and then on the Properties "P" menu
I selected Property Editor, Single Object Inspector, and Individual Object
Inspectors, and it always came up showing the card.

On Wed, Sep 7, 2022 at 3:04 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> While you are at it, selecting the card, then selecting the Inspector
> button in the toolbar gets the stack properties, not the card properties. I
> know I can right-click and get the card properties, but if this is not the
> intended behavior I figured you'd want to know.
>
> Bob S
>
>
> > On Sep 7, 2022, at 08:03 , Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Awesome good job.
> >
> > Bob S
> >
> >
> >> On Sep 7, 2022, at 24:16 , Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >>
> >> Okay, I figured it out. When Navigator is displaying whatever the
> contents
> >> are of the current card (its default state) it syncs the selection with
> the
> >> selected controls. This goes both ways, so it's important not to get
> stuck
> >> in a loop: Navigator sets the selected controls, which in turn triggers
> >> Navigator to update its selection, which sets the selected controls,
> and so
> >> on.
> >>
> >> My code set a flag when changing the selection to stop that endless
> cycle,
> >> and that flag was stopping updates when the filter changes.
> >>
> >> So selections were retained when a specific card or group was displayed,
> >> but not retained when showing the top card "live".
> >>
> >> I've fixed this I think. I've also fixed named bookmark sets. I want to
> add
> >> an option on stacks to display all cards within the stack (and maybe all
> >> controls within the stack). And I want to run some tests on how fast
> >> Navigator is at this point, and do some regression testing, and then
> I'll
> >> release an update.
> >>
> >> Thanks for the report!
> >>
> >> gc
> >>
> >> On Tue, Sep 6, 2022 at 8:50 AM Bob Sneidar via use-livecode <
> >> use-livecode@lists.runrev.com> wrote:
> >>
> >>> I went to Github, the latest version is 7.3 RC1 which is what I already
> >>> had. Not sure where to look for the most recent version. Issue
> persists for
> >>> me.
> >>>
> >>> Bob S
> >>>
> >>>
> >>>> On Sep 6, 2022, at 08:11 , Bob Sneidar via use-livecode <
> >>> use-livecode@lists.runrev.com> wrote:
> >>>>
> >>>> I'll have a look.
> >>>>
> >>>> Bob S
> >>>>
> >>>>
> >>>> On Sep 5, 2022, at 19:11 , Geoff Canyon via use-livecode <
> >>> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> >>> wrote:
> >>>>
> >>>> On Thu, Sep 1, 2022 at 10:32 AM Bob Sneidar via use-livecode <
> >>>> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> >>> wrote:
> >>>> I will however ask for just one enhancement: If I am filtering the
> list
> >>>> and have an item or items selected, and then I clear the filter, it
> also
> >>>> clears the selection. It would be great if the selection could be
> >>>> maintained or restored.
> >>>>
> >>>> I checked, and there is code that is supposed to do exactly this. I
> >>>> checked, and at least in the simple scenarios I tried, it works as
> >>>> advertised. Do you have a recipe to make it not work?
> >>>>
> >>>> Note: I think I added this fairly recently, so you probably need the
> most
> >>>> recent version (or nearly so) for this to work.
> >>>>
> >>>> gc
> >>>>
> >>>> ___
> >>>> use-livecode mailing list
> >>>> use-livecode@lists.runrev.com
> >>>> Please visit this url to subscribe, unsubscribe and manage your
> >>> subscription preferences:
> >>>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>>
> >>>
> >>> ___
> >>> use-livecode mailing list
> >>> use-livecode@lists

Re: Stylistic question.

2022-09-08 Thread Geoff Canyon via use-livecode
Hmm, I'll take a look.

On Wed, Sep 7, 2022 at 3:04 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> While you are at it, selecting the card, then selecting the Inspector
> button in the toolbar gets the stack properties, not the card properties. I
> know I can right-click and get the card properties, but if this is not the
> intended behavior I figured you'd want to know.
>
> Bob S
>
>
> > On Sep 7, 2022, at 08:03 , Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Awesome good job.
> >
> > Bob S
> >
> >
> >> On Sep 7, 2022, at 24:16 , Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >>
> >> Okay, I figured it out. When Navigator is displaying whatever the
> contents
> >> are of the current card (its default state) it syncs the selection with
> the
> >> selected controls. This goes both ways, so it's important not to get
> stuck
> >> in a loop: Navigator sets the selected controls, which in turn triggers
> >> Navigator to update its selection, which sets the selected controls,
> and so
> >> on.
> >>
> >> My code set a flag when changing the selection to stop that endless
> cycle,
> >> and that flag was stopping updates when the filter changes.
> >>
> >> So selections were retained when a specific card or group was displayed,
> >> but not retained when showing the top card "live".
> >>
> >> I've fixed this I think. I've also fixed named bookmark sets. I want to
> add
> >> an option on stacks to display all cards within the stack (and maybe all
> >> controls within the stack). And I want to run some tests on how fast
> >> Navigator is at this point, and do some regression testing, and then
> I'll
> >> release an update.
> >>
> >> Thanks for the report!
> >>
> >> gc
> >>
> >> On Tue, Sep 6, 2022 at 8:50 AM Bob Sneidar via use-livecode <
> >> use-livecode@lists.runrev.com> wrote:
> >>
> >>> I went to Github, the latest version is 7.3 RC1 which is what I already
> >>> had. Not sure where to look for the most recent version. Issue
> persists for
> >>> me.
> >>>
> >>> Bob S
> >>>
> >>>
> >>>> On Sep 6, 2022, at 08:11 , Bob Sneidar via use-livecode <
> >>> use-livecode@lists.runrev.com> wrote:
> >>>>
> >>>> I'll have a look.
> >>>>
> >>>> Bob S
> >>>>
> >>>>
> >>>> On Sep 5, 2022, at 19:11 , Geoff Canyon via use-livecode <
> >>> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> >>> wrote:
> >>>>
> >>>> On Thu, Sep 1, 2022 at 10:32 AM Bob Sneidar via use-livecode <
> >>>> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> >>> wrote:
> >>>> I will however ask for just one enhancement: If I am filtering the
> list
> >>>> and have an item or items selected, and then I clear the filter, it
> also
> >>>> clears the selection. It would be great if the selection could be
> >>>> maintained or restored.
> >>>>
> >>>> I checked, and there is code that is supposed to do exactly this. I
> >>>> checked, and at least in the simple scenarios I tried, it works as
> >>>> advertised. Do you have a recipe to make it not work?
> >>>>
> >>>> Note: I think I added this fairly recently, so you probably need the
> most
> >>>> recent version (or nearly so) for this to work.
> >>>>
> >>>> gc
> >>>>
> >>>> ___
> >>>> use-livecode mailing list
> >>>> use-livecode@lists.runrev.com
> >>>> Please visit this url to subscribe, unsubscribe and manage your
> >>> subscription preferences:
> >>>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>>
> >>>
> >>> ___
> >>> use-livecode mailing list
> >>> use-livecode@lists.runrev.com
> >>> Please visit this url to subscribe, unsubscribe and manage your
> >>> subscription preferences:
> >>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>>
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-09-07 Thread Geoff Canyon via use-livecode
Okay, I figured it out. When Navigator is displaying whatever the contents
are of the current card (its default state) it syncs the selection with the
selected controls. This goes both ways, so it's important not to get stuck
in a loop: Navigator sets the selected controls, which in turn triggers
Navigator to update its selection, which sets the selected controls, and so
on.

My code set a flag when changing the selection to stop that endless cycle,
and that flag was stopping updates when the filter changes.

So selections were retained when a specific card or group was displayed,
but not retained when showing the top card "live".

I've fixed this I think. I've also fixed named bookmark sets. I want to add
an option on stacks to display all cards within the stack (and maybe all
controls within the stack). And I want to run some tests on how fast
Navigator is at this point, and do some regression testing, and then I'll
release an update.

Thanks for the report!

gc

On Tue, Sep 6, 2022 at 8:50 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I went to Github, the latest version is 7.3 RC1 which is what I already
> had. Not sure where to look for the most recent version. Issue persists for
> me.
>
> Bob S
>
>
> > On Sep 6, 2022, at 08:11 , Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > I'll have a look.
> >
> > Bob S
> >
> >
> > On Sep 5, 2022, at 19:11 , Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> wrote:
> >
> > On Thu, Sep 1, 2022 at 10:32 AM Bob Sneidar via use-livecode <
> > use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> wrote:
> > I will however ask for just one enhancement: If I am filtering the list
> > and have an item or items selected, and then I clear the filter, it also
> > clears the selection. It would be great if the selection could be
> > maintained or restored.
> >
> > I checked, and there is code that is supposed to do exactly this. I
> > checked, and at least in the simple scenarios I tried, it works as
> > advertised. Do you have a recipe to make it not work?
> >
> > Note: I think I added this fairly recently, so you probably need the most
> > recent version (or nearly so) for this to work.
> >
> > gc
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-09-06 Thread Geoff Canyon via use-livecode
Ha, I just realized that I responded to the Navigator part of the
conversation without responding to the style part. When I wrote the
"convert a control(s) to behaviors" code, I didn't think twice about what
to apply it to or not -- I selected everything and converted it all. That
was something like five or six years ago, and: Navigator, which I work on
seriously, is all behavior scripts. Everything else, which is *not*
serious, is zero behavior scripts. I think it needs to be a setting at the
IDE level for behaviors to be a thing (for me).

For the original question, I always put code in the control that's doing
the work, unless it's shared. So utility routines and functions in the
card, regular code in the button.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-09-05 Thread Geoff Canyon via use-livecode
On Thu, Sep 1, 2022 at 10:32 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:
> I will however ask for just one enhancement: If I am filtering the list
and have an item or items selected, and then I clear the filter, it also
clears the selection. It would be great if the selection could be
maintained or restored.

I checked, and there is code that is supposed to do exactly this. I
checked, and at least in the simple scenarios I tried, it works as
advertised. Do you have a recipe to make it not work?

Note: I think I added this fairly recently, so you probably need the most
recent version (or nearly so) for this to work.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: propertyChanged message

2022-09-03 Thread Geoff Canyon via use-livecode
> what if I wanted to change the font settings again, but only for say,
labels, and only certain labels and not others?

There are multiple ways to do (something like) this in Navigator.

1. Navigator can display all the controls in a stack (show the card list,
select all the cards, right click and browse controls). Then Navigator can
filter those controls, either by simple text match against the displayed
strings (which can be the name, id, long name, long id, or other options)
or by test -- so you can match however you like, using the three characters
"tID" to represent the object being tested. For example,

word 1 of the long name of tID is "button" and the width of tID is 100

Would filter to just buttons 100 pixels wide. You can of course filter on
custom properties if you want to tag the controls.

Then whatever font or other property you want to set can be changed.

2. Navigator can search all the controls in a stack and its substacks (or
whatever cards, stacks etc. you right click), again using whatever test you
can come up with, and create bookmarks for all of the matching controls.
Then selecting those bookmarks, you can change whatever property you like.

I would say you can save those bookmarks for later reference, but I just
tested and that appears broken. I'll have to fix it.

3. Finally, you could select whatever controls you like and then apply a
command. The command can be whatever script you like.
Bookmarking/filtering/selecting only the controls you want would be best,
but you could also perform tests in the command -- e.g. if you were
applying the command to many types of controls, but wanted to ignore fields
with "label" in the name, you do something like:

if word 1 of the long name of tID is "field" and the short name of tID
contains "label" then next repeat
-- whatever font-setting code you like here.

That would be less efficient than identifying the controls yourself, but
probably faster if you include your time filtering and selecting. Commands
can be saved (I just checked, that works) but I don't think they can easily
be modified (they're saved as text, so there's definitely *some* way to do
it). It would be possible to have a command ask for the font -- you can
include something like:

if tIndex = 1 then
ask "what font" with empty; put it into tFont
end if
-- font setting code here

In any case let me know if you decide to use Navigator and need help.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-09-02 Thread Geoff Canyon via use-livecode
On Thu, Sep 1, 2022 at 10:32 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I will however ask for just one enhancement: If I am filtering the list
> and have an item or items selected, and then I clear the filter, it also
> clears the selection. It would be great if the selection could be
> maintained or restored.
>

I'm surprised it doesn't actually. I'll take a look.

And: thanks for the kind words. I'm still surprised by its longevity.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: lcb missing manual

2022-09-02 Thread Geoff Canyon via use-livecode
On Thu, Sep 1, 2022 at 10:08 AM Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Its much faster than C but slower than Script.

Should that be "much slower than C but faster than Script"?

In which case, what happened to the "faster than script" part?
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Livecode / Github

2022-09-01 Thread Geoff Canyon via use-livecode
So all this discussion reminded me that I wrote an export/import stack
some time ago. I definitely don't still have a copy on my computer, so I
went looking on the web:

geoff canyon livecode export -- nothing useful, maybe it was in the runrev
era?

geoff canyon runrev export -- no luck.

I remembered that I used XML formatting for the export. Something like XML
Geoff Canyon export did the trick.

21 years ago? What??

Then off to archive.org to find the actual file: mcripper.mc And... I'm
looking at my ancient history!

I'm curious to try it on a large stack and see how it does.

gc


On Wed, Aug 31, 2022 at 9:10 PM Sean Cole via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Yeah, I could really do with it giving me some feedback as to where this
> object is. Actually, I could...
> ... I just wrote a plugin for it. Use scCreatePlugin "","" (scCreatePlugin
> on its own doesn't work from the message box like the dictionary suggests).
> Then in the script I used
>
> global gLastObject
>
> on savingProperties pLongId, @pProperteis
>--> your code
>put "saving properties of" && pLongId into gLastObject
>put word -2 to -1 of gLastObject
>wait 0.01 millisec with messages
> end savingProperties
>
> 
>
> Once I ran this it displayed which substack it was working on in the
> message box and once it had failed the global showed me the last parameter
> it had successfully accessed. Cool. But I still can't work out which
> parameter of either that object (a standard text field) or the next (a
> group with no behaviours or anything out of the ordinary as far as I can
> tell). I'll come back to it tomorrow. It's silly o'clock now.
>
> Sean
>
> On Wed, 31 Aug 2022 at 17:13, Mark Wieder via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
> > On 8/31/22 03:00, Sean Cole via use-livecode wrote:
> >
> > > LC Team: :-) It would be REALLY handy if proper errors were thrown when
> > one
> > > occurs that can help us easily understand what the issues are. Also, if
> > > prior to release documentation were gone through to make sure they are
> > > legible. And if plugins released actually work as described. :-)
> >
> > Actually, it's even worse.
> > The result is empty if no error occurred and "* successful" if it
> > worked. To me that seems backwards.
> >
> > https://quality.livecode.com/show_bug.cgi?id=23911
> >
> > --
> >   Mark Wieder
> >   ahsoftw...@gmail.com
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: lcb missing manual

2022-08-31 Thread Geoff Canyon via use-livecode
Agreed -- I've put off LCB because I don't much bother with widgets. I
suppose I could update Navigator, but it already works well, so ¯\_(ツ)_/¯

So if it isn't faster, dare I say it, why would I?

gc

On Wed, Aug 31, 2022 at 5:54 AM Mike Kerner via use-livecode <
use-livecode@lists.runrev.com> wrote:

> It would be interesting if lcb was slower, since it's supposed to be
> lower-level.
> The demo that Steven did, demonstrating the speed of populating a polyGrid
> (lcb widget) vs. a dataGrid (lcs group) was that it was much, much faster.
>
> On Tue, Aug 30, 2022 at 5:58 PM Brian Milby via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
> > LCB has been slower than LCS, but the advantage is that you can easily
> > link to much faster compiler code.  I’m not sure if that has changed
> any… I
> > could pull out some code from a while back where we were doing some speed
> > tests.
> >
> > Sent from my iPhone
> >
> > > On Aug 30, 2022, at 5:31 PM, Geoff Canyon via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> > >
> > > Is there a page that discusses the pros of LCB? I looked and didn’t
> > find it.
> > >
> > > I’m thinking of a simple list (I’m making this up because I didn’t find
> > the page)
> > >
> > > — N times faster execution than LCS
> > > — interface with code libraries using simple hooks
> > > — bundle code and graphics together into widgets
> > >
> > > More?
> > >
> > > gc
> > >
> > >>> On Aug 28, 2022, at 11:27 AM, Mark Wieder via use-livecode <
> > use-livecode@lists.runrev.com> wrote:
> > >>>
> > >>> On 8/28/22 11:06, Mike Kerner wrote:
> > >>> the lcb documentation, especially in the api widget is ungreat.
> > >>> the good news is that as long as there is an oss repo version of LC,
> > you can hunt for some of the information that is missing. AND, at least
> for
> > now, you can still find much of it in the LC application
> > >>> example: as i was hunting, i found a bunch of editors, but none of
> > them seem to be documented anywhere obvious.
> > >>
> > >> Yep - I find most of my documentation by digging.
> > >>
> > >> The lack of colornames just bit me earlier this week and I had to
> > backpedal and code a list of a dozen color names as "R,G,B". Even the
> > "#FF" format isn't accepted.
> > >>
> > >> --
> > >> Mark Wieder
> > >> ahsoftw...@gmail.com
> > >>
> > >> ___
> > >> use-livecode mailing list
> > >> use-livecode@lists.runrev.com
> > >> Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > >> http://lists.runrev.com/mailman/listinfo/use-livecode
> > >
> > > ___
> > > use-livecode mailing list
> > > use-livecode@lists.runrev.com
> > > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
>
>
> --
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
>and did a little diving.
> And God said, "This is good."
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: lcb missing manual

2022-08-30 Thread Geoff Canyon via use-livecode
Is there a page that discusses the pros of LCB? I looked and didn’t find it. 

I’m thinking of a simple list (I’m making this up because I didn’t find the 
page)

 — N times faster execution than LCS
 — interface with code libraries using simple hooks
 — bundle code and graphics together into widgets

More?

gc

> On Aug 28, 2022, at 11:27 AM, Mark Wieder via use-livecode 
>  wrote:
> 
> On 8/28/22 11:06, Mike Kerner wrote:
>> the lcb documentation, especially in the api widget is ungreat.
>> the good news is that as long as there is an oss repo version of LC, you can 
>> hunt for some of the information that is missing. AND, at least for now, you 
>> can still find much of it in the LC application
>> example: as i was hunting, i found a bunch of editors, but none of them seem 
>> to be documented anywhere obvious.
> 
> Yep - I find most of my documentation by digging.
> 
> The lack of colornames just bit me earlier this week and I had to backpedal 
> and code a list of a dozen color names as "R,G,B". Even the "#FF" format 
> isn't accepted.
> 
> -- 
> Mark Wieder
> ahsoftw...@gmail.com
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: BN Guides

2022-08-30 Thread Geoff Canyon via use-livecode
15(?) years ago I wrote an app that bounced a bunch of balls across the screen. 
Each was a shaped-stack. It has no trouble being pretty smooth even with twenty 
or so stacks, as I recall. It would be more than enough for guides, especially 
with the 100x hardware we have today. 

Positioning a stack is as simple as positioning a control, but for any 
translations to/from global coordinates. 

gc

> On Aug 30, 2022, at 10:44 AM, Richard Gaskin via use-livecode 
>  wrote:
> 
> I've fantasized about being able to paint directly to the window buffer 
> without using an object, but having done that in C back in the day I enjoy 
> the conveniences scripted objects bring.
> 
> Your stack suggestion is intriguing, but how does it work in practice?
> 
> I find the systemic overhead of dynamically reinstantiating windows to fit a 
> changing shape makes things a bit less smooth than I'd prefer.
> 
> Or are you suggesting a separate stack for each guide line?  That would keep 
> the performance up, but seems tedious to write.
> 
> -- 
> Richard Gaskin
> Fourth World Systems
> 
> 
> 
> 
> Geoff Canyon wrote:
>> He's also throwing controls into the stack to show guides for the
>> alignment, and then disposing of those. So maybe in for a penny?
>> If I were doing something like this I think I'd try:
>> 1. A frontscript, as you say, or just setting up to receive IDE messages --
>> pretty sure there's an objectMoved IDE message or something like it.
>> 2. Using stacks with the shape set as guides.
>> But maybe my idea is out of date or impractical in some way. I experimented
>> with some sort of auto-alignment code a long time ago. I have no memory of
>> how far I got with it.
>> gc
>>> On Mon, Aug 29, 2022 at 1:52 PM Richard Gaskin via use-livecode <
>>> use-livecode at lists.runrev.com> wrote:
>>> Geoff Canyon wrote:
>>> 
>>> > Okay, so it looks like BN Guides works by assigning behaviors to
>>> > controls and temporarily adding controls to your stack as you drag
>>> > things. I think this is meant to be transient as you drag controls.
>>> 
>>> Instinctively I'd be inclined to try a frontscript before something as
>>> intrusive as altering an object's behavior property for something this
>>> transient.
>>> 
>>> But Bernd does good work, so I'm curious: why this approach and not a
>>> frontScript?
>>> 
>>> --
>>>  Richard Gaskin
>>>  Fourth World Systems
> 
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: BN Guides

2022-08-30 Thread Geoff Canyon via use-livecode
He's also throwing controls into the stack to show guides for the
alignment, and then disposing of those. So maybe in for a penny?

If I were doing something like this I think I'd try:

1. A frontscript, as you say, or just setting up to receive IDE messages --
pretty sure there's an objectMoved IDE message or something like it.
2. Using stacks with the shape set as guides.

But maybe my idea is out of date or impractical in some way. I experimented
with some sort of auto-alignment code a long time ago. I have no memory of
how far I got with it.

gc

On Mon, Aug 29, 2022 at 1:52 PM Richard Gaskin via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Geoff Canyon wrote:
>
>  > Okay, so it looks like BN Guides works by assigning behaviors to
>  > controls and temporarily adding controls to your stack as you drag
>  > things. I think this is meant to be transient as you drag controls.
>
> Instinctively I'd be inclined to try a frontscript before something as
> intrusive as altering an object's behavior property for something this
> transient.
>
> But Bernd does good work, so I'm curious: why this approach and not a
> frontScript?
>
> --
>   Richard Gaskin
>   Fourth World Systems
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: BN Guides

2022-08-29 Thread Geoff Canyon via use-livecode
Okay, so it looks like BN Guides works by assigning behaviors to controls
and temporarily adding controls to your stack as you drag things. I think
this is meant to be transient as you drag controls. Navigator out of the
box assumes that behaviors are what you're interested in when you
double-click to edit a script, so if BN Guides has assigned a behavior, it
opens the script BN Guides assigns as the behavior.

If I'm right and the assignment of behaviors is supposed to be the case
only while you're dragging, then simply deselecting the dragged controls
should correct this.

If there's an issue with BN Guides, or you want to be *sure* to open the
control's script, and not a behavior, you can:

1. In Navigator Preferences, you can choose what to do on double-click --
and double-click with many modifier keys. If all of your scripts are in the
actual controls, then select "Edit Script" for "Double-click" instead of
the default "
2. Right-click a command-bar and select "Edit Script" as the action for
that command bar, and then click it to edit the control's script.

At some point I considered updating the script menu to display all the
controls in the behavior chain. Anyone feel free to let me know if that's a
necessary thing.

gc

On Sun, Aug 28, 2022 at 12:06 PM matthias rebbe via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Geoff,
>
> you can find the most current version here
>
> https://forums.livecode.com/viewtopic.php?f=4=31920 <
> https://forums.livecode.com/viewtopic.php?f=4=31920>
>
>
> Regards,
> Matthias
>
>
> > Am 28.08.2022 um 19:38 schrieb Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>>:
> >
> > Where are the BN guides? I'd be curious to see how this is happening. As
> I
> > recall, Navigator is designed to dive through whatever behaviors are set
> > regardless of how deep the rabbit hole goes to find the actual behavior,
> > but I haven't looked at that part of the code in years.
> >
> > gc
> >
> > On Thu, Aug 25, 2022 at 8:26 AM Bob Sneidar via use-livecode <
> > use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>>
> wrote:
> >
> >> Who wrote BN Guides? Very cool, but there is a conflict with Navigator.
> >> When I double-click an object in Navigator to open it's script, I get t
> he
> >> BNGuides script instead.
> >>
> >> Bob S
> >>
> >>
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Livecode / Github

2022-08-28 Thread Geoff Canyon via use-livecode
To be clear: if anyone wants to try Navigator's export to script behaviors
function -- work on a copy, and I'd love feedback.

On Sun, Aug 28, 2022 at 10:35 AM Geoff Canyon  wrote:

> The same applies to the code in Navigator. I wrote it about five years ago
> when I was preparing to transform Navigator itself to use script behaviors.
>
> Always work on a copy.
>
> That said, it worked fine for Navigator, and no one has ever told me it
> broke anything.
>
> gc
>
> On Thu, Aug 18, 2022 at 10:06 PM Pi Digital via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
>> I tried scriptifier and it broke stuff so just be careful with it and
>> check its output.
>>
>> Sean
>>
>>
>> > On 19 Aug 2022, at 01:39, Mike Kerner via use-livecode <
>> use-livecode@lists.runrev.com> wrote:
>> >
>> > Hey Skip, long time...
>> > I don't know if you were around when script-only-stack behaviors came
>> into
>> > being, but you can now rip all of the code out of your stacks and
>> happily
>> > use vc/git. The stacks themselves are still binary (although several of
>> us
>> > have been messing with dumping that paradigm completely, it's less
>> > practical than I would have hoped, as of today).
>> > Navigator will export every script in a project into behavior stacks,
>> and
>> > Monte wrote a stack called "Scriptifier", if memory serves. It's
>> embedded
>> > in the LC bundle, and it does the same thing, namely extracting all the
>> > scripts out of a project and putting them into .livecodescript text
>> files.
>> > Levure is great. I have used it with every project I've worked on for
>> > several years, BUT you don't have to use it to go this route.
>> >
>> >> On Thu, Aug 18, 2022 at 7:04 PM Martin Koob via use-livecode <
>> >> use-livecode@lists.runrev.com> wrote:
>> >>
>> >> Hi SKIP
>> >>
>> >> Welcome back to the list!
>> >>
>> >> There is Levure which I knew of as a third party application framework
>> >> created by Trevor DeVore but I just did a search for it and I see it
>> now on
>> >> the LiveCode website described as an App Collaboration Framework.
>> >> https://livecode.com/products/livecode-platform/levure/ <
>> >> https://livecode.com/products/livecode-platform/levure/>  So it must
>> have
>> >> at some point migrated to the mother ship.
>> >>
>> >> I haven’t used it but I have considered migrating my application to it.
>> >> It works with version control systems as long as you follow its
>> >> recommendations about how to organize your code into behaviours that
>> are
>> >> stored in script only stacks which are just text files that a version
>> >> control system can read (These are somewhat new so depending on when
>> you
>> >> last used LiveCode they may be new to you.)  This was an enhancement
>> that
>> >> has enabled the use of version control for scripts in a project. It is
>> the
>> >> binary stacks that versions control systems can’t track so in Levure
>> those
>> >> are just used for user interface.
>> >>
>> >> Hope this helps.
>> >>
>> >> Martin
>> >>
>> >>
>> >>> On Aug 18, 2022, at 6:38 PM, Skip Kimpel via use-livecode <
>> >> use-livecode@lists.runrev.com> wrote:
>> >>>
>> >>> Greetings!
>> >>>
>> >>> Been a while since I have been on this list.  Working on a new project
>> >> and
>> >>> wondering if the backing up of Livecode files to Github was ever
>> >>> implemented and created.  I know there was talk of it at one time.
>> >>>
>> >>> I apologize if it has been in place for a while and I am just out of
>> the
>> >>> loop.  Actually, I HOPE that is the case!
>> >>>
>> >>> Regards,
>> >>>
>> >>> SKIP
>> >>> ___
>> >>> use-livecode mailing list
>> >>> use-livecode@lists.runrev.com
>> >>> Please visit this url to subscribe, unsubscribe and manage your
>> >> subscription preferences:
>> >>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> >>
>> >> ___
>> >> use-livecode mailing list
>> >> use-livecode@lists.runrev.com
>> >> Please visit this url to subscribe, unsubscribe and manage your
>> >> subscription preferences:
>> >> http://lists.runrev.com/mailman/listinfo/use-livecode
>> >>
>> >
>> >
>> > --
>> > On the first day, God created the heavens and the Earth
>> > On the second day, God created the oceans.
>> > On the third day, God put the animals on hold for a few hours,
>> >   and did a little diving.
>> > And God said, "This is good."
>> > ___
>> > use-livecode mailing list
>> > use-livecode@lists.runrev.com
>> > Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> > http://lists.runrev.com/mailman/listinfo/use-livecode
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>

Re: BN Guides

2022-08-28 Thread Geoff Canyon via use-livecode
Where are the BN guides? I'd be curious to see how this is happening. As I
recall, Navigator is designed to dive through whatever behaviors are set
regardless of how deep the rabbit hole goes to find the actual behavior,
but I haven't looked at that part of the code in years.

gc

On Thu, Aug 25, 2022 at 8:26 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Who wrote BN Guides? Very cool, but there is a conflict with Navigator.
> When I double-click an object in Navigator to open it's script, I get t he
> BNGuides script instead.
>
> Bob S
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Livecode / Github

2022-08-28 Thread Geoff Canyon via use-livecode
The same applies to the code in Navigator. I wrote it about five years ago
when I was preparing to transform Navigator itself to use script behaviors.

Always work on a copy.

That said, it worked fine for Navigator, and no one has ever told me it
broke anything.

gc

On Thu, Aug 18, 2022 at 10:06 PM Pi Digital via use-livecode <
use-livecode@lists.runrev.com> wrote:

> I tried scriptifier and it broke stuff so just be careful with it and
> check its output.
>
> Sean
>
>
> > On 19 Aug 2022, at 01:39, Mike Kerner via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Hey Skip, long time...
> > I don't know if you were around when script-only-stack behaviors came
> into
> > being, but you can now rip all of the code out of your stacks and happily
> > use vc/git. The stacks themselves are still binary (although several of
> us
> > have been messing with dumping that paradigm completely, it's less
> > practical than I would have hoped, as of today).
> > Navigator will export every script in a project into behavior stacks, and
> > Monte wrote a stack called "Scriptifier", if memory serves. It's embedded
> > in the LC bundle, and it does the same thing, namely extracting all the
> > scripts out of a project and putting them into .livecodescript text
> files.
> > Levure is great. I have used it with every project I've worked on for
> > several years, BUT you don't have to use it to go this route.
> >
> >> On Thu, Aug 18, 2022 at 7:04 PM Martin Koob via use-livecode <
> >> use-livecode@lists.runrev.com> wrote:
> >>
> >> Hi SKIP
> >>
> >> Welcome back to the list!
> >>
> >> There is Levure which I knew of as a third party application framework
> >> created by Trevor DeVore but I just did a search for it and I see it
> now on
> >> the LiveCode website described as an App Collaboration Framework.
> >> https://livecode.com/products/livecode-platform/levure/ <
> >> https://livecode.com/products/livecode-platform/levure/>  So it must
> have
> >> at some point migrated to the mother ship.
> >>
> >> I haven’t used it but I have considered migrating my application to it.
> >> It works with version control systems as long as you follow its
> >> recommendations about how to organize your code into behaviours that are
> >> stored in script only stacks which are just text files that a version
> >> control system can read (These are somewhat new so depending on when you
> >> last used LiveCode they may be new to you.)  This was an enhancement
> that
> >> has enabled the use of version control for scripts in a project. It is
> the
> >> binary stacks that versions control systems can’t track so in Levure
> those
> >> are just used for user interface.
> >>
> >> Hope this helps.
> >>
> >> Martin
> >>
> >>
> >>> On Aug 18, 2022, at 6:38 PM, Skip Kimpel via use-livecode <
> >> use-livecode@lists.runrev.com> wrote:
> >>>
> >>> Greetings!
> >>>
> >>> Been a while since I have been on this list.  Working on a new project
> >> and
> >>> wondering if the backing up of Livecode files to Github was ever
> >>> implemented and created.  I know there was talk of it at one time.
> >>>
> >>> I apologize if it has been in place for a while and I am just out of
> the
> >>> loop.  Actually, I HOPE that is the case!
> >>>
> >>> Regards,
> >>>
> >>> SKIP
> >>> ___
> >>> use-livecode mailing list
> >>> use-livecode@lists.runrev.com
> >>> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >
> >
> > --
> > On the first day, God created the heavens and the Earth
> > On the second day, God created the oceans.
> > On the third day, God put the animals on hold for a few hours,
> >   and did a little diving.
> > And God said, "This is good."
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Is syntax a dead issue?

2022-07-25 Thread Geoff Canyon via use-livecode
On Mon, Jul 25, 2022 at 12:08 AM Jacques Clavel via use-livecode <
use-livecode@lists.runrev.com> wrote:

> just curious : what about using LCB for the repeat loop ?
>
> jc
>

I confess I haven't touched LCB
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Is syntax a dead issue?

2022-07-25 Thread Geoff Canyon via use-livecode
On Mon, Jul 25, 2022 at 12:00 AM jbv via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Just curious : why do you use "read from file F for 1 line" ?
> Instead, why don't you read the file in one go, load the content
> into a variable and then use "for each line j in myVar" ?
> Wouldn't that run faster ?
>
> Best,
> jbv
>

My base version does all the processing in one go and ignores lines
entirely except as they count as white space. But the second set of
requirements for the task from the original post required dealing with
arbitrarily large inputs (it mentioned terabytes). It's not a completely
unrealistic concept: at the rate this goes on my Mac, it would take about
100 hours to process a terabyte input.

In any case, I just tried my base "all in one go" version on the 50mb test
file, and it's about 3x as fast as parsing line-by-line, which makes it
still among the slowest languages as far as I can tell -- no idea how my M1
Macbook Air compares to the machine he used.
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Is syntax a dead issue?

2022-07-25 Thread Geoff Canyon via use-livecode
As a meta point, I wrote a version closer to the actual requirements --
lowercase everything, process an external input line by line to allow for
arbitrary input size. The result is about 8-10x slower than most other
languages -- not as bad as I feared, not as good as I hoped. Here's the
code for that version:

on mouseUp
   answer file "choose input:"
   if it is empty then exit mouseUp
   put it into F
   lock screen
   put the long seconds into T
   open file F for read
   repeat
  read from file F for 1 line
  repeat for each word w in toLower(it)
 add 1 to R[w]
  end repeat
  if the result is not empty then exit repeat
   end repeat
   combine R using cr and tab
   sort R numeric descending by word 2 of each
   put the long seconds - T into T1
   put R into fld "output"
   put the long seconds - T into T2
   put T1 && T2
   close file F
end mouseUp

On Sun, Jul 24, 2022 at 11:01 PM Geoff Canyon  wrote:

> On this Hacker News thread ,
> I read this programming interview question
> . Roughly, the challenge is to
> count the frequency of words in input, and return a list with counts,
> sorted from most to least frequent. So input like this:
>
> The foo the foo the
> defenestration the
>
> would produce output like this:
>
> the 4
> foo 2
> defenestration 1
>
> Of course I smiled because LC is literally built for this problem. I took
> well under two minutes to write this function:
>
> function wordCount X
>repeat for each word w in X
>   add 1 to R[w]
>end repeat
>combine R using cr and tab
>sort R numeric descending by word 2 of each
>return R
> end wordCount
>
> There are quibbles -- the examples given in the article work line by line,
> so input size isn't an issue, and of course quotes would cause an issue,
> and LC is case insensitive, so it works, but the output would look like
> this:
>
> The 4
> foo 2
> defenestration 1
>
> But generally, it works, and is super-easy to code. But for the sake of
> argument, consider this Python solution given:
>
> counts = collections.Counter()
> for line in sys.stdin:
> words = line.lower().split()
> counts.update(words)
>
> for word, count in counts.most_common():
> print(word, count)
>
> That requires a library, but it's also super-easy to code and understand,
> and it requires just the same number of lines. So, daydreaming extensions
> to LC syntax, this comes to mind:
>
> function wordCount X
>add 1 to R[w]  for each word w in X
>return R combined using cr and tab and sorted numeric descending by
> word 2 of each
> end wordCount
>
> or if you prefer:
>
> function wordCount X
>for each word w in X add 1 to R[w]
>return (R combined using cr and tab) sorted numeric descending by word
> 2 of each
> end wordCount
>
> Or to really apply ourselves:
>
> function wordCount X
>return the count of each word in X using cr and tab sorted numeric
> descending by word 2 of each
> end wordCount
>
> So: the xTalk syntax is over thirty years old; when was the last
> significant syntax update?
>
> (I'm not at all core to the process, so feel free to tell me how much I've
> missed lately!)
>
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Is syntax a dead issue?

2022-07-25 Thread Geoff Canyon via use-livecode
On this Hacker News thread ,
I read this programming interview question
. Roughly, the challenge is to
count the frequency of words in input, and return a list with counts,
sorted from most to least frequent. So input like this:

The foo the foo the
defenestration the

would produce output like this:

the 4
foo 2
defenestration 1

Of course I smiled because LC is literally built for this problem. I took
well under two minutes to write this function:

function wordCount X
   repeat for each word w in X
  add 1 to R[w]
   end repeat
   combine R using cr and tab
   sort R numeric descending by word 2 of each
   return R
end wordCount

There are quibbles -- the examples given in the article work line by line,
so input size isn't an issue, and of course quotes would cause an issue,
and LC is case insensitive, so it works, but the output would look like
this:

The 4
foo 2
defenestration 1

But generally, it works, and is super-easy to code. But for the sake of
argument, consider this Python solution given:

counts = collections.Counter()
for line in sys.stdin:
words = line.lower().split()
counts.update(words)

for word, count in counts.most_common():
print(word, count)

That requires a library, but it's also super-easy to code and understand,
and it requires just the same number of lines. So, daydreaming extensions
to LC syntax, this comes to mind:

function wordCount X
   add 1 to R[w]  for each word w in X
   return R combined using cr and tab and sorted numeric descending by word
2 of each
end wordCount

or if you prefer:

function wordCount X
   for each word w in X add 1 to R[w]
   return (R combined using cr and tab) sorted numeric descending by word 2
of each
end wordCount

Or to really apply ourselves:

function wordCount X
   return the count of each word in X using cr and tab sorted numeric
descending by word 2 of each
end wordCount

So: the xTalk syntax is over thirty years old; when was the last
significant syntax update?

(I'm not at all core to the process, so feel free to tell me how much I've
missed lately!)
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Stylistic question.

2022-07-24 Thread Geoff Canyon via use-livecode
Sorry for the late response, but thanks for the shoutout. I'll also mention
that some time ago I put a fair bit of effort into enabling Navigator to
behavior-ify any set of controls, automatically extracting their built-in
code to script-only-stacks. I did it as part of the migration of Navigator
to SOS behaviors. I haven't checked to make sure, but I believe *all code*
in Navigator is a SOS-behavior; and I did that automatically from a
no-behaviors standing start with a simple command in Navigator itself. The
end result is that there can be any number of Navigator windows without any
duplication of code at all. Previously I had built Navigator with three
built-in copies, at the cost of making it three times as large. That wasn't
such a terrible thing, but I did find that anything beyond three copies
eventually broke (no idea why). Since migrating 100% to behaviors, I've
tried, I think, having ten copies open with no problem.

Disclaimer/warning: I wrote that code five years ago and haven't looked at
it since. No one has told me it doesn't work, but I only used it the one
time on Navigator itself. So work on a copy, please.

gc

On Wed, Jun 22, 2022 at 1:25 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Well then Navigator is for you! If an object has a behavior and no script
> of it's own, it's color in the list is green. If it has a script but no
> behavior, it's color is blue. If it has both, it's purple. Simply double
> clicking an object opens it's behavior script if it has one, and it's
> native script if it doesn't.
>
> You don't have to keep track of anything anymore.
>
> Bob S
>
>
> > On Jun 22, 2022, at 12:41 , J. Landman Gay via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > I find that too many behavior stacks make it difficult to keep track of
> where things are. But the primary downside is that script-only stacks don't
> work with remote debugging. That's a big drawback for me since most of my
> apps these days are for mobile. I do use behaviors quite a bit, but I put
> the scripts into buttons so they can be debugged remotely. Or maybe you
> mean you use regular stacks for behaviors? Those would work.
> >
> > The switch construct is way more flexible than if/then and much cleaner
> to read and track. I use them all the time. They're especially useful when
> you want to group several conditionals. What don't you like about them?
> Just curious.
> >
> > --
> > Jacqueline Landman Gay | jac...@hyperactivesw.com
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: A question/survey of sorts for users of Navigator

2022-01-10 Thread Geoff Canyon via use-livecode
I was thinking about something to support this, but I worry that it would
be over-engineered:

Allow defining a set of conditions, matched with actions, and then run the
conditions in order and the first (all?) that match execute the
corresponding action. Meaning in your case you'd do something like (not
tested just pseudo-code):

char 1 to 3 of the short name of it = "lbl"edit the text of it

But again, that would require a lot of work I think, both for me and for
each user to configure it.

I'm wondering if the easier way is to just allow a way for a double-click
to . That wouldn't
make it customizable by control type, but would make it easy to e.g. edit
the text of a bunch of labels one after the other. But if you then edited
the colors of a graphic, the concept of editing the text would be lost and
editing the colors of a control would be queued up for the special
double-click.

On Fri, Jan 7, 2022 at 12:25 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> That sounds quite useful actually, but I think that what defines an object
> should be editable. For instance, I prefix all my controls with a 3
> characters like lbl, fld, btn, grc etc.
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: OT: Wordle

2022-01-09 Thread Geoff Canyon via use-livecode
FYI, the game Deduce
http://www.obviouslygenuine.com/Obviously_Genuine/Products.html does a
roughly similar game mechanic with six-letter words, and offers many
interesting UI features -- e.g. you can propose that a letter is correct,
and the game will show you the consequences of that choice.

gc

On Fri, Jan 7, 2022 at 10:51 AM scott--- via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Very nice. Thanks, Ali !
>
> > On Jan 7, 2022, at 2:53 AM, Ali Lloyd via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Many of you will no doubt already be addicted to the game 'Wordle' (if
> not,
> > prepare to be: https://www.powerlanguage.co.uk/wordle/) - the only
> problem
> > with it is that you only get one per day to solve. So I have taken the
> > liberty of making an unlimited version (in LC of course)
> > https://alilloyd.livecodehosting.com/wordle/wordle.html
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: A question/survey of sorts for users of Navigator

2022-01-04 Thread Geoff Canyon via use-livecode
Interesting idea -- just a different color, or what would the useful
interface look like?

Also, I honestly don't remember what I did for the double-click in
instances like that. I remember that if an object has a behavior I open the
behavior, but if the behavior has a behavior I'm not sure. Any suggestions
for the interface for that?

Glad to hear Navigator is useful.

gc

On Tue, Jan 4, 2022 at 11:46 AM chipsm themartinz.com via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi Geoff,
> I use Navigator on all of my projects.
> I like the ideas that you are proposing.
> I would like one more item: I am a believer of using behaviors. And, I am
> also setting behaviors to behaviors and I would like those behaviors that
> have behaviors have the ability to show colors, just like the coloring
> option that cards  have.
> Great Product!
>
> Sincerely,
> Clarence Martin
> Email: chi...@themartinz.com
> Cell: (626)696-5561
>
> -Original Message-
> From: use-livecode  On Behalf Of
> Geoff Canyon via use-livecode
> Sent: Monday, January 3, 2022 11:01 PM
> To: How to use LiveCode 
> Cc: Geoff Canyon 
> Subject: A question/survey of sorts for users of Navigator
>
> After twenty years, I still use Navigator every time I open LiveCode, and
> still think of new features.
>
> One of the very first things I put in Navigator was to make
> double-clicking a control open the script for that object, because I edit
> scripts far more often than I set properties.
>
> There are now many ways to do other things with controls, and you can
> configure double-click to do something else if you want.
>
> But today, I was putting label fields onto a card and editing the contents
> of them (also one of the first things I set up in Navigator, because it
> bugged me to have to use the properties palette, and the second tab of it
> at that, to edit the contents of a field) and it occurred to me: I almost
> never put a script in a label field, but I edit their contents all the time.
>
> So: what if you could easily configure Navigator to do different things by
> default when you double-click? Double-click a button: edit script.
> Double-click a field with "label" in the name, edit its contents.
> Double-click a set of controls: open alignment for them. Double-click a
> freehand graphic, edit its points. Not sure about that last one, and maybe
> the label example is the only real use case.
>
> But let me know if this is something that would be useful.
>
> gc
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


A question/survey of sorts for users of Navigator

2022-01-03 Thread Geoff Canyon via use-livecode
After twenty years, I still use Navigator every time I open LiveCode, and
still think of new features.

One of the very first things I put in Navigator was to make double-clicking
a control open the script for that object, because I edit scripts far more
often than I set properties.

There are now many ways to do other things with controls, and you can
configure double-click to do something else if you want.

But today, I was putting label fields onto a card and editing the contents
of them (also one of the first things I set up in Navigator, because it
bugged me to have to use the properties palette, and the second tab of it
at that, to edit the contents of a field) and it occurred to me: I almost
never put a script in a label field, but I edit their contents all the time.

So: what if you could easily configure Navigator to do different things by
default when you double-click? Double-click a button: edit script.
Double-click a field with "label" in the name, edit its contents.
Double-click a set of controls: open alignment for them. Double-click a
freehand graphic, edit its points. Not sure about that last one, and maybe
the label example is the only real use case.

But let me know if this is something that would be useful.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Layers in PBrowser

2020-09-02 Thread Geoff Canyon via use-livecode
Hi Bob,

Goes to show how important user research is. For me personally, I want to
get Navigator out of the way entirely when I minimize it. It's trivial to
have a preference to make it minimize in place. But also: I went to some
length to have it avoid minimizing behind/on top of (don't remember which
way it went) the menu bar. I think I could easily both:

1. Offer a preference to minimize where it is
2. Automatically avoid overlapping the GLX2 bar. Can you send me the name
of any stacks involved to avoid? I haven't looked, but I think it would be
as simple as adding a stack name to a list.

On Mon, Aug 31, 2020 at 10:09 PM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> Hi Sean. I concur with Geoff. There were quite a while ago issues, but
> Geoff got on them and now I use Navigator all the time. The only thing I
> will say Geoff is that when I drag the window to a location, I would like
> it to remain there, even when minimized. It always reverts to a default
> location when first opened, which happens to overlap the GLX2 bar.
>
> Bob S
>
>
> On Aug 29, 2020, at 12:54 AM, Geoff Canyon via use-livecode <
> use-livecode@lists.runrev.com<mailto:use-livecode@lists.runrev.com>>
> wrote:
>
> Hey Sean,
>
> Late to the conversation because Navigator is a hobby, but: I've worked
> *really* hard to make drag-and-drop relayering work properly.
>
> I've implemented it almost from scratch something like five times over the
> years, each time because I reached a dead end with the previous method (or
> sometimes because I'd reached a dead end with the previous method of
> implementing drag and drop.
>
> Which is to say: drag and drop has a large number of special cases, and is
> very hard to get right. Anyone attempting it has my sympathies.
>
> *That* said, there are only a very small number of problematic use cases in
> Navigator that I know of. If the latest (which has been out for some time
> now) update of Navigator doesn't relayer the way you think it should, email
> me directly and let me know.
>
> gc
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Layers in PBrowser

2020-08-29 Thread Geoff Canyon via use-livecode
Hey Sean,

Late to the conversation because Navigator is a hobby, but: I've worked
*really* hard to make drag-and-drop relayering work properly.

I've implemented it almost from scratch something like five times over the
years, each time because I reached a dead end with the previous method (or
sometimes because I'd reached a dead end with the previous method of
implementing drag and drop.

Which is to say: drag and drop has a large number of special cases, and is
very hard to get right. Anyone attempting it has my sympathies.

*That* said, there are only a very small number of problematic use cases in
Navigator that I know of. If the latest (which has been out for some time
now) update of Navigator doesn't relayer the way you think it should, email
me directly and let me know.

gc

On Thu, Aug 13, 2020 at 1:56 AM Sean Cole (Pi) via use-livecode <
use-livecode@lists.runrev.com> wrote:

> @Matthias Rebbe 
>
> Were are just replacing issues with new issues. Just looked at the github
> for 'Navigator' only to see a heap of unresolved issues there too!
> https://github.com/gcanyon/navigator/issues
>
> This seriously sucks!
>
> Sean Cole
> *Pi Digital*
>
> On Wed, 12 Aug 2020 at 18:45, matthias rebbe via use-livecode <
> use-livecode@lists.runrev.com> wrote:
>
> > Sean,
> >
> > my answer will not solve your problems with the Project Browser...
> > but did you already try Geoff Canyons Navigator
> >
> > https://gcanyon.wixsite.com/navigator <
> >
> https://bowtie.mailbutler.io/tracking/hit/5524ddd4-763e-47f2-b835-0050b8a7fe6f/693e8792-fedc-482a-9940-e98f47b6ee1a
> > >
> > https://www.dropbox.com/s/kz3zqi4botzglgq/navigator.zip?dl=1 <
> >
> https://bowtie.mailbutler.io/tracking/hit/5524ddd4-763e-47f2-b835-0050b8a7fe6f/9596c7b6-a84d-40ae-96c9-b3578d222b9f
> > >
> >
> > Navigator allows also to "relayer" objects by dragging and there it even
> > works.
> >
> > HTH
> >
> > Regards,
> >
> > -
> > Matthias Rebbe
> > Life Is Too Short For Boring Code
> >
> > > Am 12.08.2020 um 19:42 schrieb Sean Cole (Pi) via use-livecode <
> > use-livecode@lists.runrev.com>:
> > >
> > > And when you are in a group editing mode, the layers in the Project
> > Browser
> > > are messed up beyond use. HOW?? Why has this STILL not been fixed since
> > > v6 I'm just tired of asking. I'm stressed! Up against a deadline
> > > (Again). No budget to pay the ridiculous fees LC ask. And absolutely no
> > way
> > > out... again! It blows my mind how I keep putting myself in this
> > situation
> > > for LC to KEEP letting me down because of stupid dumb ass issues that
> > don't
> > > get fixed!
> > >
> > > Frustrated.
> > >
> > > Sean
> > >
> > > On Wed, 12 Aug 2020 at 18:29, Sean Cole (Pi) 
> > wrote:
> > >
> > >> Hi all,
> > >>
> > >> Why is this still an issue? I find it so hard putting layers in the
> > right
> > >> order. It just gets me down when I have fast turnaround jobs that are
> > held
> > >> up because of STUPID frikin issues like this. Over and over again
> > >>
> > >> https://www.dropbox.com/s/qakyg8bu8bdamhn/LayerControl.mov?dl=0
> > >>
> > >> LC would be brilliant if it wasn't so crap all the time.
> > >>
> > >> Sean Cole
> > >>
> > >> *Pi Digital Productions Ltd*
> > >>
> > > ___
> > > use-livecode mailing list
> > > use-livecode@lists.runrev.com
> > > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Navigator won't go away!

2020-06-28 Thread Geoff Canyon via use-livecode
Just came across this -- sorry for the frustration. I'll reach out to the
LC crew about either updating or removing Navigator.

gc

On Fri, Mar 27, 2020 at 12:51 AM Bob Sneidar via use-livecode <
use-livecode@lists.runrev.com> wrote:

> OK Sorry for the noise. I see now that the Files & Memory/User Extensions
> setting in preferences needs to be pointed at /Users/ profile>/Documents/Livecode/ and NOT the plugins folder. Now all the
> plugins are loading properly.
>
> Bob S
>
>
> > On Mar 26, 2020, at 10:45 AM, Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >
> > Whoopsie, NO plugins are loading from the /Users/ profile>/Documents/Livecode/PlugIns/ folder! Wha???
> >
> > Bob S
> >
> >
> >> On Mar 26, 2020, at 10:41 AM, Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >>
> >> FOUND IT! It was in the actual MacOS APPLICATION BUNDLE!!!
> >>
> >> Hey LC, I appreciate the freebies, but a beta of 2.5?? Seriously? Geoff
> is up to v6 now, and it’s open source, not honor-ware. If putting the newer
> version in the Plugins folder is supposed to override the embedded one, it
> doesn’t work.
> >>
> >> Bob S
> >>
> >>
> >>> On Mar 26, 2020, at 10:33 AM, Bob Sneidar via use-livecode <
> use-livecode@lists.runrev.com> wrote:
> >>>
> >>> I have removed every instance of Navigator from my hard drive (I
> searched for them and deleted them) in preparation of installing the latest
> version. I did this because on my home Mac, I keep getting a 2.5 beta
> version of the plug-in every time I launch!
> >>>
> >>> I verified my plugin folder is set to /Users/ profile/Documents/Livecode/PlugIns/
> >>>
> >>> I quit Livecode, then relaunch it. I still see revNavigator in the
> Development/Plugins menu, and when I select it, the 2.5 beta version
> loads!!! What the actual eff???
> >>>
> >>> Where else would Livecode be getting these plugins from??
> >>>
> >>> Bob S
> >>>
> >>>
> >>> ___
> >>> use-livecode mailing list
> >>> use-livecode@lists.runrev.com
> >>> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >> ___
> >> use-livecode mailing list
> >> use-livecode@lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > ___
> > use-livecode mailing list
> > use-livecode@lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: 9.5 on Windows seems terribly unable to deal with fields full of text?

2019-09-09 Thread Geoff Canyon via use-livecode
I’ve now modified my stacks to include a closecard handler to clear the large 
field’s content when exiting. 

Stack is now much faster to work with and save — far out of proportion to the 
size savings. 
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: 9.5 on Windows seems terribly unable to deal with fields full of text?

2019-09-08 Thread Geoff Canyon via use-livecode
Just running a script with large variables, no viewers open, and setting a 
breakpoint took 20 seconds. 
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


9.5 on Windows seems terribly unable to deal with fields full of text?

2019-09-08 Thread Geoff Canyon via use-livecode
The ide seems slow in general, but put the contents of a 1 mb 80k line file, 
and the message box disables the IDE, with multi-second delays. Examine that 
value as a variable, and similarly but to a lesser extent things slow down. I 
remember having no trouble doing things like this in 8, maybe even 9 on my 
6-year-old MacBook, which is in the shop getting a new battery. 

Anyone else? Any suggestions?
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Browser widget cookies?

2019-08-27 Thread Geoff Canyon via use-livecode
If I set the url for the browser widget to a url, and the server sets a cookie, 
can I read/modify/delete that cookie?

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


  1   2   3   4   >