Rebuilding The Tools Palette

Organizing tasks to work on, New Features Ideas, Building LCS & LCB Libraries & Widgets, Redecorating and Modifying the IDE, Hacking / Editing Tools, Compiling the Engine from Source, etc.
Post Reply
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

If you click the desktop (or switch to any other program) away from the IDE, the IDE's palettes will stay put, probably overlapping the program you just switched into.
Neither on MacOS 12 not MacOS 15 with me.

BUT:

If I have, for instance, some program open whose window takes up 90% of the monitor, if I switch back into OXT Lite, while the MenuBar and the Tools palette come to the front, any other windows (e.g. a stack window) stay obscured by the other program.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

That's a good point.
Have just checked that and you were right - the IDE's palettes were coming to the front now, but the user's stack (the topstack) was staying underneath the other program (firefox in this case).
I've just corrected that so now that comes to the front too. (demo video)

I have added an icon on the revMenubar - so between the "script" and "message box", there's a new toolbox icon to toggle the "tools" (revTools) palette.
with-toolbox.png
with-toolbox.png (10.17 KiB) Viewed 1099 times
with-toolbox-light.png
with-toolbox-light.png (19.36 KiB) Viewed 1093 times
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

you were right
Occasionally I am. 8-)

That is marvellous that you have sorted that out.

1.09 presumably?
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

richmond62 wrote: Sat Nov 16, 2024 9:57 am Occasionally I am.
:lol:
Yes, in 1.09 as I think there's a lot coming together that should be bundled into a new release. I just want to test a bit more on as many platforms as I can, just to make sure I'm happy with it.
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

That toolbox icon is super.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

Just ensuring that if the user had chosen to hide palettes when editing scripts, that this setting didn't interfere with the palettes hiding and showing upon suspend and restore.
noconflicts.png
noconflicts.png (223.06 KiB) Viewed 1062 times
User avatar
OpenXTalkPaul
Posts: 2381
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Rebuilding The Tools Palette

Post by OpenXTalkPaul »

Very glad to see you working on the window focusing issues on Linux.
Are you using the engine property raiseWindows or raisePalettes?
Set the raiseWindows to true
Description
When the raiseWindows is set to true, xTalk's windows move as one layer, this means it will not be possible for another application to become interleaved with xTalk's windows, as is possible if the property is set to false.
Set the raisePalettes to true
Use the raisePalettes property to control interleaving of palettes with other windows.

If the raisePalettes property is true, palettes float in their own layer above standard windows. In other words, all palettes are always in front of editable windows and modeless dialog boxes if this property is set to true.

If it is set to false, palette windows can be interleaved with standard windows.
Important: Setting this property to true may result in window flashing on Unix systems.
there's some other window related syntax in the engine that I've never notice these before:
set the windowBoundingRect to left, top, right, bottom
summarySpecifies the rectangle in which windows may open and zoom or maximize.
set the windowManagerPlace to {true | false}
Specifies whether a Unix window manager can automatically place a stack's window when the stack is opened.
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

OpenXTalkPaul wrote: Wed Nov 27, 2024 12:43 am Very glad to see you working on the window focusing issues on Linux.
Are you using the engine property raiseWindows or raisePalettes?
Set the raiseWindows to true
Set the raisePalettes to true
How did I miss those!! I never knew either of those existed.
That's a great find. I've added prefs for them and added them to the IDE. Seem to make a noticeable difference (in a good way).
Everything added as options though, as what might work for me does not work for everybody:

Image
Use the raisePalettes property to control interleaving of palettes with other windows.

If the raisePalettes property is true, palettes float in their own layer above standard windows. In other words, all palettes are always in front of editable windows and modeless dialog boxes if this property is set to true.
If it is set to false, palette windows can be interleaved with standard windows.
Important: Setting this property to true may result in window flashing on Unix systems.
set the windowManagerPlace to {true | false}
Specifies whether a Unix window manager can automatically place a stack's window when the stack is opened.
Emphasis mine on both of these. I wish they would stop using UNIX as a transposable term for LINUX. They are not the same, but time and time again, the IDE and dictionary is full of erroneous mentions of UNIX. (If they mean Unix-like file system, that's different), but I'm not sure the people writing the documentation fully understood it. :?

Can we go through the dictionary (your SQL one) and replace all instances of "Unix" with "Linux" please.
I can do the text based one with a built in function which can modify all the entries in a single click. I expect you can do the same by editing an SQL entry too (possibly)?

Speaking of which, just found this in the dictionary.
geekage-huh.png
geekage-huh.png (36.2 KiB) Viewed 734 times
For the purposes of documentation, it's important to get it right. It's not about "geekage", it's about facts. You wouldn't say "MacOS is a version of BSD Unix, but for the purposes of this documentation, we refer to MacOS as BSD Unix"

The IDE just keeps on giving. Geekage :roll:
User avatar
OpenXTalkPaul
Posts: 2381
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Rebuilding The Tools Palette

Post by OpenXTalkPaul »

tperry2x wrote: Wed Nov 27, 2024 12:58 pm
OpenXTalkPaul wrote: Wed Nov 27, 2024 12:43 am Very glad to see you working on the window focusing issues on Linux.
Are you using the engine property raiseWindows or raisePalettes?
Set the raiseWindows to true
Set the raisePalettes to true
How did I miss those!! I never knew either of those existed.
That's a great find. I've added prefs for them and added them to the IDE. Seem to make a noticeable difference (in a good way).
Everything added as options though, as what might work for me does not work for everybody:
I'm glad if it helps, there's a lot of syntax to the engine, some since 1.0 (early 1990s?).
I forget about a lot of it and I still occasionally find items that I never realized were in there too.
I wish they would stop using UNIX as a transposable term for LINUX. They are not the same, but time and time again, the IDE and dictionary is full of erroneous mentions of UNIX. (If they mean Unix-like file system, that's different), but I'm not sure the people writing the documentation fully understood it. :?

Can we go through the dictionary (your SQL one) and replace all instances of "Unix" with "Linux" please.
I can do the text based one with a built in function which can modify all the entries in a single click. I expect you can do the same by editing an SQL entry too (possibly)?
Yes that annoys me too, but I think it's somewhat understandable when looked at from a historical perspective. This Engine started out only available for UNIX based systems, I'm not even sure if there was any Linux kernel (vers 0.1 was Sept. 1991) at all when the first version of these docs were written? But the docs should've at least been updated when they dropped support for running on any actual UNIXes. As you've said Linux is 'Unix-like' (and much of their FOSS ecosystems tends to be shared), but Linux is NOT UNIX.

I do sometimes wonder how much trouble would it be to get the Engine to compile and run on BSD again (FreeBSD specifically).

I think the docs should definitely be update for clarifying these references. The thing is there actually are some entries that are so old that they do only apply to UNIX systems that MetaCard once ran on exclusively. I'm thinking of things like entries about 'EPS controls' (which strangely are still part of the engine but no longer function properly without Display Postscript rendering back end) glossary terms like 'Display Postscript'. (OT xTalk trivia: the MC 'engine' was once available as an embeddable shared library for UNIX).

Similarly there are entries about 'Macintosh' that are so old they are actually referring to Macintosh Classic, NOT macOS 10+ or 'Mac OS X' as the docs sometimes specify, a moniker that is also now outdated. I'm sure it must be confusing to people born in this century.

I used to keep a To-Do list of IDE things that I wanted to add, fix, or improve, and there was always specific doc entries on that list. There should be a 'community to-do' list thread I think.
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

So:

1. All entries for 'UNIX' should be changed to either 'Linux' or 'GNU-Linux'.

2. All entries for 'MacOSX' should be changed to 'Macintosh'.

That might be problematic because of the 'guff' that DOES refer to UNIX, and the 'guff' that refers to MacOS 8 & 9.

So, the 'joys' of automation aside: it does look as though someone will have to through all the UNIX and even Macintosh entries manually, first, to isolate the ones that 'DO' from the ones that 'DONT'.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

Arriving at work (and hoping that the main bit of my illness is behind me), and cracking open the 'thing' I came here:

Contents/Tools/Documentation and then things really started to confuse me.

Contents/Tools/Documentation/html_viewer/resources/data/ . . . looks interesting

Contents/Tools/Documentation/html_viewer/resources/data/api/api.sqlite . . .

https://sqlitebrowser.org/
-
SShot 2024-11-28 at 10.08.17.png
SShot 2024-11-28 at 10.08.17.png (245.9 KiB) Viewed 577 times
-
Not much good . . .

So I am obviously looking in the wrong place . . .

TANGENTIALLY:

Contents/Tools/Documentation/linked_files/animationEngine6.zip looks really fascinating . . .

So why is it tucked away there in a ZIP format?
(your SQL one)
???
the text based one
???

Talking about 'The Road to Hell'.

I am, possibly, naively, looking for either a unified file or a folder of files, that I can work my way through: and probably manually at first to weed out the "ethnic minorities" hiding in the woodpile, before doing a universal search-and-replace . . .
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

Text based dictionaries:
You'll find them in:
[path to your oxt lite install folder]/Documentation/html_viewer/resources/data/api/exports/xtalk/resaved

You can modify these as you see fit in your preferred text editor, then click the relevant entry in my text-based dictionary and it'll load afresh.

As far as editing the sql database one, well... that's yet another reason I made my text-based dictionary.
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

I do intend to go through all the posts at some point. It'll take a solid week, because there's so much stuff that just isn't relevant (to anything xTalk - or even computer related - for that matter). All that is time where I could have spent it working on the IDE or fixing something, but instead I have to take time going through removing inane postings. (and now this one too). But yes, it's something I need to do.
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

Coming back 'on topic', I want to revisit this.
I got sidetracked with other tools issues back then, so the edit never made it into OpenXTalk Lite v1.05 like I had planned.
Short version, would anyone still like to be able to drag the floating palettes to the sides of the screen, so that they 'dock' to the edges - in a MacOS 9 kind of way.
Image

A long while ago, I made a 'Tabinator' stack to do that, so I'd like to implement this (as a preference by the way, something you can configure in the prefs but isn't on as default).

If the answer to that is a resounding "no", then I'll go do this instead.
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

From my point of view, as all my development machines have a minimum of 2 large VDUs connected to them I see no need of this.

BUT, for instance, on my school machines with a MAX 1024 × 720 resolution, for teaching purposes it might be a good thing.

As the vast majority of people who read stuff here on this forum do not seem actively involved taking serious soundings (i.e. not just my opinion) may prove difficult.

Having made your Tabinator stack, are you 'just' going to make it an integral part of the IDE?
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

Tangentially, I would (again) request the capability of users to edit their posts 'for ever'.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

Something that is a very great pity is that if I type 'UNIX' into the Dictionary search (and variant of the Dictionary) it does NOT bring up ALL the texts that contain UNIX: only functions that contain UNIX within their names.

I assume this (FIND & REPLACE):
-
SShot 2024-11-29 at 10.09.47.png
SShot 2024-11-29 at 10.09.47.png (268.52 KiB) Viewed 236 times
-
is not working because the stack does not contain those texts, only loads them from external text files.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

richmond62 wrote: Fri Nov 29, 2024 8:11 am I assume this (FIND & REPLACE) is not working because the stack does not contain those texts, only loads them from external text files.
That's correct. The same as the "Quick Dictionary" in that regard. Data pulled in from SQL or text isn't searchable until it's read in. However, I could build a function into the search field to say "Search within the description (slower)":

quick-mockup.png
quick-mockup.png (30.82 KiB) Viewed 216 times
User avatar
tperry2x
Posts: 2770
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: Rebuilding The Tools Palette

Post by tperry2x »

richmond62 wrote: Fri Nov 29, 2024 6:26 am From my point of view, as all my development machines have a minimum of 2 large VDUs connected to them I see no need of this. [window tabs]
Having made your Tabinator stack, are you 'just' going to make it an integral part of the IDE?
That was what I was thinking. It "should" be a matter of building a tabify manager so if the preference to 'Tabify' is turned on, and the user drags a palette to say... 10px of the edge of the screen, then it'll tabify the window depending on the edge of the screen it's docked to. (Perhaps without the line showing how long the palette originally was, thinking about it). That was going to be the plan.

That way you can have as many tabbed palettes as you like, which you click on to restore them. In fact, would be just a matter of making a tabmanager.oxtstack - doesn't necessarily need any other palettes to be modded.

It's to help people who don't have monitors with 1920x768 display resolutions or better.
richmond62 wrote: Fri Nov 29, 2024 6:27 am Tangentially, I would (again) request the capability of users to edit their posts 'for ever'.
tangentially.png
tangentially.png (9.66 KiB) Viewed 199 times
In a directional manner doesn't make much sense, so you mean "in passing" I assume? :D
Yes, I'm sure this is a setting in the forum (somewhere), but then you could get the situation where someone says "I never said/wrote that", when they did. But having a longer edit time might be a good idea. There's things this forum does (like logging you out when posting, needing you to double-submit at times, just to get the post to go through). I did notice there was an update for phpBB so that might clear up a few bits? not sure.

Did you like the idea of the "Search in description" option in the dictionary, or not? Would you rather a checkbox next to the search field that toggles that instead?
User avatar
richmond62
Posts: 4205
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Rebuilding The Tools Palette

Post by richmond62 »

No, I didn't, but only because I have been running round the town since then (accountant, bank, tax office, hygiene inspectorate, town all, and on and on), it being the end of November and what-have-you.

Theoretically I have about 60% of tomorrow free . . .

'Tangential' remarks mean ones that are at least partly off-topic. In Cognitive Linguistics this is called Metaphorical Extension.

It is a major driving force in language development.
In a directional manner doesn't make much sense
only if you are stuck in what Piaget calls the 'concrete' thinking stage of mental development.

Jean Piaget argued that children develop abstract reasoning skills as part of their last stage of development, known as the formal operational stage. This stage occurs between the ages of 11 and 16.

One of the reasons why a box of wooden bricks helps teach pre-teens computer programming.
-
brix.jpg
brix.jpg (9.72 KiB) Viewed 188 times
-
My favourite weapon of choice. 8-)
https://richmondmathewson.owlstown.net/
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests