Mac OS 9 Lives

Classic Mac OS Software => System Utilities & File Management => Topic started by: OS923 on November 25, 2019, 06:26:41 AM

Title: A handy new way to make folders
Post by: OS923 on November 25, 2019, 06:26:41 AM
I wrote 2 contextual menu extensions to make new folders.

Title: Re: A handy new way to make folders
Post by: mrhappy on November 25, 2019, 07:05:45 AM
Sounds handy... I'll have to check that out. Thanks! ;D
Title: Re: A handy new way to make folders
Post by: OS923 on December 20, 2019, 08:57:02 AM
There's a bug in "New folder without icon CM".
It doesn't work with the startup volume.
I didn't notice that you can get 2 types of internal Finder object specifiers in a contextual menu extension.

Type 1:
Code: [Select]
obj8={want:type(cdis), from:null, form:name, seld:"Project"}
obj7={want:type(cfol), from:obj8, form:name, seld:"OS 9.3"}
obj6={want:type(cfol), from:obj7, form:name, seld:"SDK"}
obj5={want:type(cfol), from:obj6, form:name, seld:"PPC"}
obj4={want:type(cfol), from:obj5, form:name, seld:"PPC CFM"}
obj3={want:type(cfol), from:obj4, form:name, seld:"CM"}
obj2={want:type(cfol), from:obj3, form:name, seld:"NewSubFolderCM"}
obj1={want:type(prop), from:obj2, form:prop, seld:type(cwnd)}

Type 2:
Code: [Select]
obj4={want:type(prop), from:null, form:prop, seld:type(sdsk)}
obj3={want:type(cfol), from:obj4, form:name, seld:"System Folder"}
obj2={want:type(cfol), from:obj3, form:name, seld:"Contextual Menu Items"}
obj1={want:type(prop), from:obj2, form:prop, seld:type(cwnd)}

This will soon be fixed.
Title: Re: A handy new way to make folders
Post by: IIO on December 20, 2019, 09:49:13 AM
folder without icon is handy, thanks mate.

i am a big fan of CMMs and currently i have 25 or so third party modules installed.
Title: Re: A handy new way to make folders
Post by: OS923 on December 23, 2019, 08:47:15 AM
Normally you select items in a container window and then your contextual menu extension receives an AEDesc which contains a list of FSSpecs. But if you click in the background of the window, then your contextual menu extension receives an internal Finder object specifier which is stuffed into an AEDesc, but most functions for AEDescs can't be used, because you will get the "this is not an AEDesc" error.

"New folder without icon file" makes use of my FinderObjectLib. This can partially resolve an internal Finder object specifier. Such a specifier specifies a container window, like
Code: [Select]
container window of folder "a" of folder "b" of volume "c"It has to be partially resolved, because I want the folder, not the container window. I found only one other programmer who could do this: the writer of NewCM. Thanks to my FinderObjectLib everyone will be able to write contextual menu extensions that are equivalent to a new Finder command for folders.
Title: Re: A handy new way to make folders
Post by: IIO on December 24, 2019, 02:01:39 AM
could you use such a function on folder icons? i.e. click on a folder in the dekstop and perform "create folder inside this folder"
Title: Re: A handy new way to make folders
Post by: OS923 on December 28, 2019, 01:09:25 AM
Not yet, for folders on the desktop there's a different specifier. The desktop and the trash have a different specifier too. I'll fix this, but I'm now working on something else.
Title: Re: A handy new way to make folders
Post by: IIO on December 28, 2019, 02:50:44 AM
ah, i see, dekstop is also special. i would have guessed for the trash :) but not for the desktop.
Title: Re: A handy new way to make folders
Post by: OS923 on January 04, 2020, 01:37:27 AM
It recognizes now 5 types of Finder objects.

Desk:
Code: [Select]
obj2={want:type(prop), from:null, form:prop, seld:type(desk)}
obj1={want:type(prop), from:obj2, form:prop, seld:type(dwnd)}

Trash:
Code: [Select]
obj2={want:type(prop), from:null, form:prop, seld:type(trsh)}
obj1={want:type(prop), from:obj2, form:prop, seld:type(cwnd)}

Folder on desktop:
Code: [Select]
obj4={want:type(cfol), from:null, form:name, seld:"Test1"}
obj3={want:type(cfol), from:obj4, form:name, seld:"Test2"}
obj2={want:type(cfol), from:obj3, form:name, seld:"Test3"}
obj1={want:type(prop), from:obj2, form:prop, seld:type(cwnd)}

Folder on startup disk:
Code: [Select]
obj5={want:type(prop), from:null, form:prop, seld:type(sdsk)}
obj4={want:type(cfol), from:obj5, form:name, seld:"Test1"}
obj3={want:type(cfol), from:obj4, form:name, seld:"Test2"}
obj2={want:type(cfol), from:obj3, form:name, seld:"Test3"}
obj1={want:type(prop), from:obj2, form:prop, seld:type(cwnd)}

Folder on other volume:
Code: [Select]
obj5={want:type(cdis), from:null, form:name, seld:"RAM Disk"}
obj4={want:type(cfol), from:obj5, form:name, seld:"Test1"}
obj3={want:type(cfol), from:obj4, form:name, seld:"Test2"}
obj2={want:type(cfol), from:obj3, form:name, seld:"Test3"}
obj1={want:type(prop), from:obj2, form:prop, seld:type(cwnd)}
Title: Re: A handy new way to make folders
Post by: OS923 on January 06, 2020, 09:35:20 AM
i am a big fan of CMMs and currently i have 25 or so third party modules installed.
I installed:
Title: Re: A handy new way to make folders
Post by: IIO on January 06, 2020, 11:28:26 AM
[CMM] ABF Rename 440
[CMM] Align Icons
[CMM] BrowseByCoela
[CMM] Calculate Size
[CMM] Change Creator
[CMM] Clip Changer
[CMM] Convert Text
[CMM] ConvertToMovie 140
[CMM] Cut / Copy / Paste File
[CMM] DropIcon
[CMM] File Buddy
[CMM] File Buddy - Open in FB
[CMM] Find CM Items 302
[CMM] Gather Items 310
[CMM] Hide / Undo Hide / Show
[CMM] Icon Tools 160
[CMM] iGetter 180
[CMM] ImageConverter 110
[CMM] Instant Package
[CMM] Lift and Set File Info
[CMM] Lock / Unlock
[CMM] Long Info
[CMM] More File Info 230
[CMM] Move / Copy / Alias
[CMM] MovieConverter 140
[CMM] MovieMerger 140
[CMM] NewCM 110
[CMM] Norton
[CMM] Open With
[CMM] Ordneraktionen MenĂ¼
[CMM] Parent Folders
[CMM] QuickPlayer 140
[CMM] QuickViewer 110
[CMM] Remove Custom Icon
[CMM] Rename 100
[CMM] Restore Desktop 200
[CMM] Reveal Creator
[CMM] Set File Info
[CMM] Simple Strip HTML
[CMM] Stuff It
[CMM] SwitchRes
[CMM] Touch
[CMM] UDF/ISO/Joliet Switcher
[CMM] UDFBridgeCMPlugin
CMM Plug-In Settings
Find CM Items
Folder Actions Menus
Gather Items CM plugin scripts
iGetter 1.8 CMPlugin
NewCM Items
Rename CMM Suffixes
Send To CM 102
UDFBridgeCMPlugin
Title: Re: A handy new way to make folders
Post by: OS923 on January 10, 2020, 04:01:31 AM
And if you control-click on a file, then how long is the menu that appears?
Title: Re: A handy new way to make folders
Post by: IIO on January 10, 2020, 03:27:35 PM
varies from 1-3 seconds. not ideal, i know.

as i only use half of those regulary it might be questionable to have them all installed.

but i already have 200 others not installed. :)
Title: Re: A handy new way to make folders
Post by: OS923 on January 13, 2020, 06:21:22 AM
See in the attachment the FinderObjectLib and demo program.
Title: Re: A handy new way to make folders
Post by: Jubadub on January 15, 2020, 10:56:19 AM
@IIO, where may we get all those CMMs you mentioned? I was almost writing my own Cut+Copy+Paste.
Title: Re: A handy new way to make folders
Post by: IIO on January 17, 2020, 05:48:51 PM

they should all be in the compilation i once made for you.

https://www.macintoshrepository.org/8223-system-extending-macos9plus-v1-0-extensions-and-control-panels-compilation-

sorry for the custom icons and the already-extracted installers, but that is how things work in in IIO land.

if you have anything which is not included, forward it to me pls. :)
Title: Re: A handy new way to make folders
Post by: IIO on January 17, 2020, 05:51:14 PM
the "copy icon" stuff in my list above requires various "osaxen" applescript goodies. normally i avoid applescript dependencies but it is the only tool which does that (applying an icon to 100 files at once)
Title: Re: A handy new way to make folders
Post by: Jubadub on January 18, 2020, 07:59:54 AM
Compilation you once made for me? ??? I guess my memory must be failing me, but when/why/where was that?

Anyway, thanks! :) And sure, if I find anything extra, I'll write back here about it.
Title: Re: A handy new way to make folders
Post by: IIO on January 18, 2020, 01:45:32 PM
you is always plural here :)