Author Topic: 9.3  (Read 10161 times)

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
9.3
« on: March 21, 2019, 06:49:13 AM »
I'll continue here where the 9.2.3 discussion has finished.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #1 on: March 21, 2019, 07:00:03 AM »
Everything has been merged to one folder. The programs are now sorted in categories.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #2 on: March 25, 2019, 04:30:21 AM »
I'm removing MSL, SIOUX, WASTE and PowerPlant from all my programs.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #3 on: April 09, 2019, 06:21:39 AM »
I'm removing C strings from all my programs.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #4 on: April 12, 2019, 08:31:34 AM »
My entire framework is now available in the OS 9.3 SDK as libraries with headers. Every Xxx library comes in 2 versions. XxxLib is meant for release versions while XxxDbg is meant for debug versions. XxxDbg shows filenames and line numbers in error messages.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #5 on: April 17, 2019, 12:57:24 AM »
I'm replacing all my console programs with a different type of console. CodeWarrior's console is a text processor where the cursor is always at the end, and when the program is finished you can save the text. My console program is a program that writes a text (which may be longer than 2 GB) and it displays the last lines in a window. This is much faster and uses little memory.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #6 on: April 19, 2019, 09:21:19 AM »
See in the attachment an example of a new, faster and smaller type of console program. (If you choose Quit before it's finished, then it will continue without updating the window and then it will quit.)

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #7 on: May 09, 2019, 07:02:14 AM »
I found the way to relink OS 9.2.3. I replaced the shared libraries with static libraries and I made a third target where the static libraries are replaced with the code in those libraries, but this target is usually not built because it takes too long. But if I wish, I can easily debug it.

These programs are now in the Utilities folder in OS 9.3.

There are a few changes:
  • The about box is replaced with the standard about box from PowerPlant.
  • Object calculator doesn't know that certain flags are for folders only, but I will change that.
  • The programs are 11 times larger because the code is linked in every program instead of shared libraries.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #8 on: May 15, 2019, 09:37:54 AM »
Code: [Select]
/* Finder flags (finderFlags, fdFlags and frFlags) */
/* Any flag reserved or not specified should be set to 0. */
/* If a flag applies to a file, but not to a folder, make sure to check */
/* that the item is not a folder by checking ((ParamBlockRec.ioFlAttrib & ioDirMask) == 0) */
enum {
    kIsOnDesk                   = 0x0001,                       /* Files and folders (System 6) */
    kColor                      = 0x000E,                       /* Files and folders */
                                                                /* bit 0x0020 was kRequireSwitchLaunch, but is now reserved for future use*/
    kIsShared                   = 0x0040,                       /* Files only (Applications only) */
                                                                /* If clear, the application needs to write to */
                                                                /* its resource fork, and therefore cannot be */
                                                                /* shared on a server */
    kHasNoINITs                 = 0x0080,                       /* Files only (Extensions/Control Panels only) */
                                                                /* This file contains no INIT resource */
    kHasBeenInited              = 0x0100,                       /* Files only */
                                                                /* Clear if the file contains desktop database */
                                                                /* resources ('BNDL', 'FREF', 'open', 'kind'...) */
                                                                /* that have not been added yet. Set only by the Finder */
                                                                /* Reserved for folders - make sure this bit is cleared for folders */
                                                                /* bit 0x0200 was the letter bit for AOCE, but is now reserved for future use */
    kHasCustomIcon              = 0x0400,                       /* Files and folders */
    kIsStationery               = 0x0800,                       /* Files only */
    kNameLocked                 = 0x1000,                       /* Files and folders */
    kHasBundle                  = 0x2000,                       /* Files only */
    kIsInvisible                = 0x4000,                       /* Files and folders */
    kIsAlias                    = 0x8000                        /* Files only */
};

I assume that this means that 0x0200 is reserved for folders. It should be 0, but when you check it, it's 1.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #9 on: May 29, 2019, 09:45:50 AM »
My own Unicode conversion is 13 times faster than Apple's UnicodeConverter.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #10 on: June 06, 2019, 02:29:38 AM »
I'm changing the AppleScript support of all my programs. For every event I define a class like QuitSupport or AppDiedSupport. Then I derive the program class from those classes. It's easier and safer and you can easily find which program supports which events.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #11 on: July 08, 2019, 06:57:39 AM »
The high level tools have been relinked. 47% of the low level tools have been relinked. Then I have one REALbasic program "Pseudo undelete" that has to be finished (no real delete and no report at this moment). Then I have the "Offline Wikipedia" program which does nothing yet except installing a handler and processing events.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #12 on: August 08, 2019, 05:48:32 AM »
This is the current progress. Some programs are unfinished. Do not use these programs.

https://tinyurl.com/20190808os93

This link will work 14 days. You need a bit more than 2 GB disk space.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #13 on: September 05, 2019, 04:59:58 AM »
I improved the "Pseudo delete" extension to make it return fLckdErr and fBsyErr.

I improved Belcut. You can now choose the bit depth of a merged picture.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #14 on: September 11, 2019, 06:56:09 AM »
I found a bug in BigFileTest and MergeWiki. "Build index" didn't work correctly because I was changing it to make it work with multiple languages.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #15 on: October 02, 2019, 03:41:50 AM »
I rewrote my REALbasic XML parser. The demo, the validation and the parsing are now separated. Then I'll do the same for HTML. Then I'll write the C++ version.

I need the C++ version of the HTML parser to check my documentation for unused style or undefined style.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #16 on: October 11, 2019, 08:35:40 AM »
I found a memory leak in "Lexer generator". Now all memory leaks are gone.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #17 on: October 11, 2019, 08:36:39 AM »
I found a bug in "Basic filter" and I improved it with drag and drop.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #18 on: October 11, 2019, 08:37:05 AM »
I finished the XML and HTML parsers in REALbasic.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #19 on: October 21, 2019, 08:46:17 AM »
I finished the XML and HTML parsers in C++.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #20 on: October 21, 2019, 08:46:55 AM »
This is the current progress. Some programs are unfinished. Do not use these programs.

https://tinyurl.com/20191021os93

This link will work 14 days. You need 2.59 GB disk space.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #21 on: October 23, 2019, 06:59:49 AM »
I improved the headers of the libraries and the use of profiler.
I included the HTML and XML parsers.
It parses HTML at 32.6 MB/s.
It parses XML at 29.2 MB/s.

https://tinyurl.com/20191023sdk

This link will work 14 days.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #22 on: November 06, 2019, 09:20:40 AM »
I used the HTML parser to detect unused and undefined style in my documentation.

Offline Jubadub

  • Veteran Member (100+ Posts)
  • ****
  • Posts: 103
  • New Member
Re: 9.3
« Reply #23 on: January 15, 2020, 10:27:07 AM »
Does the Finder in either OS923 or OS93 handle HFS+ (Mac OS Extended) longer file names that surpass the HFS (Mac OS Standard) 31-character limit for HFS+ partitions? I remember it was one of the goals, but is that part done?

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #24 on: January 16, 2020, 07:37:26 AM »
I'm not sure what you mean with "handle".

Some of my new programs which look like console applications support HFS+ to access files of more than 2 GB. This is part of my own framework (the BigFileLib library).

The PowerPlant framework didn't support HFS+. The OS 9.2.3 programs were written with PowerPlant, but I added some HFS+ support to some programs like "Scan long names" to enable them to see filenames that are longer than 31 characters.

When we look at Finder, it is probably similar: the HFS+ functions are probably only used when there's no other option, for example when files have to be copied. When Finder deletes files, I see that they are caught by my "Pseudo delete" extension, which shows that Finder uses HFS instructions to delete files. Internally Finder works with FSSpecs. You can see that when you handle Apple events.

So the best filosophy seems to be to use the HFS+ functions only when there's no other option. This functionality is finished and part of my own framework. Even more, before I draw Unicode, I always check whether it can be done using Quickdraw and this is faster.

The old OS 9.2.3 programs have already been thrown away and I won't keep the source code. These programs get a new version with my own framework. I will post these programs here one by one when one is finished. I have no PowerPlant projects anymore besides a few small demo projects in the OS 9.3 SDK.

The OS 9.3 programs will be drastically different and more functional. It won't be for the faint of heart.
« Last Edit: January 17, 2020, 06:41:50 AM by OS923 »

Offline Jubadub

  • Veteran Member (100+ Posts)
  • ****
  • Posts: 103
  • New Member
Re: 9.3
« Reply #25 on: January 16, 2020, 07:46:17 AM »
By "handle", what I meant, for example, is this:

Can we create a new folder in the Finder and name it "Folder name with more than 31 characters"?

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #26 on: January 17, 2020, 06:41:09 AM »
No, but if that's what you want, I can do that in a few lines of code and pack it as a contextual menu extension.

The largest part of my work is the framework. If this is finished, then programs like "Change label" can be written in a few hundred lines of code.

Concerning the new Finder, I would lie if I say that it's an existing program, but it would also be incorrect to say that I have to start from zero. Most of the work that is necessary is done and works without error. What you see on screen is a drawing and this is a few hundred lines of code. Most work is behind the screen, what you don't see.

So to answer your question: I can create a new folder and name it "Folder name with more than 31 characters" in a few instructions using my framework, but this solution is not called "Finder".

I see that of all my work people are most interested in a new Finder. Perhaps I should finish this first?

The name for a new Finder that I was thinking of was "Friend".

Offline Jubadub

  • Veteran Member (100+ Posts)
  • ****
  • Posts: 103
  • New Member
Re: 9.3
« Reply #27 on: January 17, 2020, 02:58:56 PM »
Thanks for the reply!

A new Finder is always an attractive idea, but please, since it's your project, feel free to program the parts that you personally want first. :)

Good luck! I'll be looking forward to bits and pieces of this project.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #28 on: January 18, 2020, 01:38:12 AM »
I linked MiniScheme and TinyScheme for OS 9 and I updated PLT Scheme and Gambit-C Scheme to CW Pro 6.3.

At this moment I'm trying to embed Scheme in my programs. (The problem is that the Scheme interpreters are written in C, and they use setjmp as an alternative for C++ exceptions, and this causes that the Scheme exceptions are not properly caught in a C/C++ program, so I have to catch them in Scheme.)

Then you can select files using S-expressions like the one you see in the attachment. The new Finder will use this to change the selection in a container window, the other programs will use this to select the files that they want to process.
« Last Edit: January 19, 2020, 01:44:13 AM by OS923 »

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #29 on: January 18, 2020, 01:46:14 AM »
Next problem is a custom Unicode editor that doesn't crash when you stop the program in the debugger. Apple's Unicode editor has to be terminated at the end of the program, otherwise you get an ugly crash. That makes it difficult to write a program for OS 9 which edits Unicode.

Next problem is drawing the desktop. A new Finder needs to draw the desktop, it needs to become front application when you click in the desktop and preferably this would be done without quitting the old Finder. I'll try this in the weekend, then you know that I'm serious.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #30 on: January 18, 2020, 01:59:20 AM »
This is new since the last OS 9.3 SDK preview:

October 23, 2019

The C++ version of the HTML parser and the XML parser are tested in TextTest.

October 30, 2019

I improved Backup & synchronization with a progress bar.

November 3, 2019

I improved AutoFlush. I wrote New subfolder CM. I wrote the PPC version of Pseudo delete. I wrote the 68K version of AutoFlush and Macros.

November 8, 2019

I wrote NewFolderWIconCM.

November 9, 2019

I wrote ObjectSpecifierTest.

November 10, 2019

I linked and beautified AEGizmos.

November 12, 2019

All projects have now 68K struct alignment.

November 13, 2019

I can convert CodeWarrior project files to a binary file and a text file with a Scheme expression.

November 29, 2019

My automatic parameter list indentation now recognizes C and C++ comments.

December 1, 2019

I wrote ReindentParametersCM.

December 11, 2019

I wrote the TimSort version for OS 9.

December 18, 2019

I wrote ProjectLib and ProjectTest.

December 20, 2019

I found a bug in NewFolderWIconCM. I split ObjectSpecifierTest into ObjectSpecifierTest and FinderObjectTest. I improved the precompiled headers of my libraries.

December 24, 2019

I improved the headers of my private projects:
I removed ErrorLib's dependency on MSL.
I changed the way in which I sorted the projects in categories.
I improved the headers.
I use the source code instead of the static libraries.

December 27, 2019

I found a bug in SchemeInterpreter. It doesn't catch exceptions. I'm reordering the SDK stuff.

December 28, 2019

I'm relinking PLT Scheme.

December 29, 2019

I tried to link GambitScheme 3.0. Total fail.

December 30, 2019

I linked MiniScheme 0.85 and TinyScheme 1.41.

December 31, 2019

I updated PLT Scheme 1.0.3p1 and GambitScheme 3.0 to CW Pro 6.3. I discontinued SchemeEmbedTest, SchemeInterpreterLib and SchemeInterpreterTest.

January 3, 2020

I rewrote FinderObjectLib. It recognizes now 5 types of Finder objects.

January 4, 2020

I rewrote some demo programs with AppDiedSupport, OpenAppSupport, OpenDocSupport, PrintDocSupport and QuitSupport. I found a bug in SaveAVolumeAsAFile. You could run it only once, the second time it would have insufficient memory. I made it open source.

January 5, 2020

I made Dictionary open source. I removed the startup thread. I improved the startup and the sort order.

January 12, 2020

I tried to link MzScheme with 68K struct alignment. I made a special version of FinderObjectLib that can be used in any piece of PowerPC software. Then I made the NewTextFileCM demo project.

January 13, 2020

I found a way to catch exceptions when embedding PLT Scheme. I linked the release version of Dictionary as a monolithic program. I found a way to link Scheme programs with GambitScheme.

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #31 on: January 18, 2020, 04:21:50 AM »
Next problem is drawing the desktop. A new Finder needs to draw the desktop, it needs to become front application when you click in the desktop and preferably this would be done without quitting the old Finder.

i think this would be okay if regular behavior of everything desktop will be available to only one of them.

one could even implement a function in the new finder which closes the old finder when you launch it - and relauch the old finder when you close it.

"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #32 on: January 19, 2020, 01:48:59 AM »
Relaunching the old Finder requires that you quit all applications. That's why it's more practical to allow Finder to run in the background. I may even leave certain tasks up to the old Finder, like formatting disks.

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #33 on: January 19, 2020, 05:01:53 PM »
i forgot about that.

...could this be changed? could one add doubleclick-to-launch to old finder?

i mean adding a "quit" function to old finder also works. so why not one for starting it.
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #34 on: January 20, 2020, 09:09:02 AM »
could one add doubleclick-to-launch to old finder?
No.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #35 on: January 20, 2020, 09:11:15 AM »
Every attempt to make Finder obsolete failed. SystemClick patch was ignored. PicHandle in desktop window was ignored. The rest made Finder crash.

Now I'll try a solution that has a very small chance to crash: one program covers the desktop with a window and another program does the rest.

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #36 on: January 20, 2020, 02:36:55 PM »
what about this:

 - trigger the function of appearance -> show desktop in background - no
 - start new finder
 - close old finder

or will the desktop come back? (i am not on my mac right now.)
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #37 on: January 20, 2020, 02:39:31 PM »
could one add doubleclick-to-launch to old finder?
No.

but wait, i dont understand one thing:

when you remove old finder from the system folder, it wont even launch when you quit new finder, isnt it?

also, would the scenario of a replacment finder include that it will appear as finder to the system while you at the same time change the type of the old finder to APPL? :)
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #38 on: January 20, 2020, 04:30:35 PM »
okay, if you change old finder to APPL it chrashes with an error 411.

probably because some of the stuff which it requires from extensions or the suitcase is single-client.

it would have been too nice if a solution would have been that easy.

...

SIZE resource settings wont help much either i guess.
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #39 on: January 21, 2020, 06:51:41 AM »
show desktop in background - no
I'll try this one first.

Offline Protools5LEGuy

  • Global Moderator
  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2336
Re: 9.3
« Reply #40 on: January 21, 2020, 08:35:26 AM »
No, but if that's what you want, I can do that in a few lines of code and pack it as a contextual menu extension.

The largest part of my work is the framework. If this is finished, then programs like "Change label" can be written in a few hundred lines of code.

Concerning the new Finder, I would lie if I say that it's an existing program, but it would also be incorrect to say that I have to start from zero. Most of the work that is necessary is done and works without error. What you see on screen is a drawing and this is a few hundred lines of code. Most work is behind the screen, what you don't see.

So to answer your question: I can create a new folder and name it "Folder name with more than 31 characters" in a few instructions using my framework, but this solution is not called "Finder".

I see that of all my work people are most interested in a new Finder. Perhaps I should finish this first?

The name for a new Finder that I was thinking of was "Friend".
I propose to keep using Finder and "Friend" side by side.

Just keeping in mind 2020 9.3 things-stuff will be done by "Friend"

I guess is the simplest approach
Looking for MacOS 9.2.4

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #41 on: January 21, 2020, 08:14:13 PM »
I'll try this one first.

just drawing another window on top of it sounds like a solution with built-in time bomb.

ive never really known what these SIZE settings in finder do, and didnt had the balls to try. but some of them sound promising, isnt it.
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #42 on: January 22, 2020, 07:08:06 AM »
just drawing another window on top of it sounds like a solution with built-in time bomb.
It sounds like just another regular program. It could be better than Finder, because Finder isn't a regular program.

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #43 on: January 22, 2020, 08:30:12 PM »
what about moving the complete desktop outside the visible range? (-25,000 -25,000)
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #44 on: January 23, 2020, 06:10:01 AM »
That would be the same as making the desktop window invisible.

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #45 on: January 26, 2020, 11:31:03 AM »
if anyone knows that then it is you, so allow me to ask a question: how would i open an alias?

they are said to contain the path info in the resource fork of the alias file.

but of course i cant open an alias file, as it will always open the original. and if you delete the original, it wont open at all.

if you try to change the filetype, it changes the filetype of the original.

...

« Last Edit: January 26, 2020, 11:17:23 PM by IIO »
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline cc333

  • Valued Member (10+ Posts)
  • **
  • Posts: 21
Re: 9.3
« Reply #46 on: January 26, 2020, 07:40:24 PM »
Hi,

Just checking in from a long hiatus...

This is a neat idea!

However, it would seem to me that the ideal solution for actually making it work would be to somehow reverse engineer and create a working clone of the old Finder, with documented code (is it possible to disassemble and analyze the existing binary?) and then extend it with features from your new Finder.

This would be very nontrivial, I would think.

If only Apple had open sourced it.... *sigh*

c

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #47 on: January 27, 2020, 08:49:10 AM »
Covering the desktop with a window doesn't work, because if you click in the window then the program is moved to the front (and there's no way to stop this) and the window covers everything.

If you keep the window in the background, for example by creating it in an extension or application extension, then it doesn't get updated and it doesn't respond to clicks. You can create it in an extension if you go to the system zone. You can create it in an application extension when you use InitGraf and InitWindows, but no other inits.

There are 3 ways in which the desktop is drawn:
  • Draw the desktop picture or pattern.
  • Update the desktop window between BeginUpdate and EndUpdate.
  • When you click in the desktop then it draws directly in the screen port.

I wrote a little extension to find out who creates the desktop window and which parameters are used. The desktop window is created by Finder with proc ID 2048 = WDEF 128. WDEF 128 is a pointer to a function in Finder. If I can guess how this WDEF works, then I can replace Finder. Deselecting the option "Show desktop when in background" = making the desktop window invisible = moving it to {-x,-x}. This would be the simplest solution that has no particular reason to crash, compared to an exotic extension.

I'm now looking into Finder for instructions that you don't find in a normal application, like CalcVis. Then I may guess how they do it.

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #48 on: January 27, 2020, 08:56:07 AM »
if anyone knows that then it is you, so allow me to ask a question: how would i open an alias?
Start ResEdit. In the open dialog there's an option to open "Use alias instead of original".

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #49 on: January 27, 2020, 09:32:04 AM »
aha, great, thanks - i knew it must be somewhere.


finder window: that WDEF 128 will receive the current monitor size at some point. after creation, from what i know.

if you know your current monitor size (and you do) you at least know what integer number(s) you have to search for when debugging.
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 568
Re: 9.3
« Reply #50 on: January 28, 2020, 07:48:47 AM »
There are 2 things particular about the desktop window:
  • It doesn't erase the contents with white color. That's easy.
  • Its structure changes when other windows are created, closed, moved, resized or collapsed. The structure is gray region minus the union of the structure of the other windows. How do you calculate this quickly and when do you recalculate it? That's the big question.

Offline IIO

  • Platinum Member (500+ Posts)
  • *****
  • Posts: 2507
  • new to the forums
Re: 9.3
« Reply #51 on: January 28, 2020, 11:59:49 AM »
  • It doesn't erase the contents with white color. That's easy.

figures, since it is always being filled with the default pattern or a pattern or picture from the appearance.

it is amazing how different is it from other windows.

it is the only window i know which can not be dragged with drag any window.

i can only guess how that stuff is calculated. it might absolutely be that it is not at all near the WDEF resource but somewhere much, much deeper. it should be inside the finder app though.
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com