Classic Mac OS Software (Discussions on Applications) > Hacking the System, Mac OS 9.3, and Beyond !

Designing a new Finder

<< < (29/30) > >>

IIO:
it somehow feels "wrong", indeed. but it is great to follow what is possible and why, we can only learn from it.

OS923:
I found it. The color was stored in an unlocked handle.

nilobject:
i'd like a contextual menu item called "Show Resource Contents", ala "Show Package Contents". Selecting the item would show a Finder style view of the files resource fork.
how is the Finder replacement being developed? prototyped?
thanks

OS923:
I should write a library for this, then everyone can use this in his own software:


--- Code: ---Part 1: catalog info.

Button view:

frView 8 = 1
frOpenChain = 11000001000000000000000000000000

large icons =       (frView 3-0 = 0111) and (frFlags 9-5 = 11111) and (frScript 6-3 = 0100)
small icons =       (frView 3-0 = 0111) and (frFlags 9-5 = 11111) and (frScript 6-3 = 1111)

arranged by crDat = (frView 3-0 = 1010) and (frFlags 9-5 = 01010) and (frScript 6-3 = 1100)
arranged by kind =  (frView 3-0 = 1100) and (frFlags 9-5 = 01100) and (frScript 6-3 = 1100)
arranged by label = (frView 3-0 = 1101) and (frFlags 9-5 = 01101) and (frScript 6-3 = 1100)
arranged by mdDat = (frView 3-0 = 1001) and (frFlags 9-5 = 01001) and (frScript 6-3 = 1100)
arranged by name =  (frView 3-0 = 1000) and (frFlags 9-5 = 01000) and (frScript 6-3 = 1100)
arranged by size =  (frView 3-0 = 1011) and (frFlags 9-5 = 01011) and (frScript 6-3 = 1100)
snap to grid =      (frView 3-0 = 1110) and (frFlags 9-5 = 01110) and (frScript 6-3 = 1100)
========================================
Icon view:

frView 8 = 1
frFlags = 0000001111100000
frOpenChain = 11000001000000000000000000000000

large icons =       (frView 3-0 = 0111) and (frScript 6-4 = 000)
small icons =       (frView 3-0 = 0111) and (frScript 6-4 = 101) and (frView 6 = 1)

arranged by crDat = (frView 3-0 = 1010) and (frScript 6-4 = 100)
arranged by kind =  (frView 3-0 = 1100) and (frScript 6-4 = 100)
arranged by label = (frView 3-0 = 1101) and (frScript 6-4 = 100)
arranged by mdDat = (frView 3-0 = 1001) and (frScript 6-4 = 100)
arranged by name =  (frView 3-0 = 1000) and (frScript 6-4 = 100)
arranged by size =  (frView 3-0 = 1011) and (frScript 6-4 = 100)
snap to grid =      (frView 3-0 = 1110) and (frScript 6-4 = 100)
========================================
List view:

frView 2-0 = 111
frFlags 9-5 = 10001
frOpenChain 31-30 = 11
frScript 6 = 1

no relative dates = (frFlags 4 = 1)
not collapsed =     (frFlags 5 = 1)
calc sizes =        (frFlags 8-6 = 111) and (frOpenChain 29 = 1) and (frScript 3 = 0)

normal icons =      (frScript 2-1 = 00)
large icons =       (frScript 2-1 = 10)
small icons =       (frScript 2-1 = 01)

has comments =      (frOpenChain 28 = 1)
has crDat =         (frOpenChain 23 = 1)
has kind =          (frOpenChain 25 = 1)
has label =         (frOpenChain 26 = 1)
has mdDat =         (frOpenChain 22 = 1)
has size =          (frOpenChain 24 = 1)
has version =       (frOpenChain 27 = 1)

select comments =   (frView 11-8 = 0110) and (frOpenChain 21-18 = 0110)
select crDat =      (frView 11-8 = 0010) and (frOpenChain 21-18 = 1001)
select kind =       (frView 11-8 = 0101) and (frOpenChain 21-18 = 0011)
select label =      (frView 11-8 = 0111)
select mdDat =      (frView 11-8 = 0011) and (frOpenChain 21-18 = 0001)
select name =       (frView 11-8 = 0010)
select size =       (frView 11-8 = 0100) and (frOpenChain 21-18 = 0010)
select version =    (frView 11-8 = 1000) and (frOpenChain 21-18 = 0101)
========================================

Part 2: 'colm' resource.

First:
'colm' 0x000A00010000000000000000

Then for every column:
- 4 character code:
    'pnam' = name,
    'asmo' = modification date,
    'ascd' = creation date,
    'phys' = size,
    'asty' = type,
    'fcrt' = creator,
    'kind' = kind,
    'labi' = label,
    'comt' = comment,
    'ver2' = version.
- 6 shorts:
    1. W6 (width - 6),
    2. 0,
    3. 0,
    4. 0 = standard, 1 = custom,
    5. 0,
    6. 0.

The column data is saved in the same order as the columns.
Name is always the first column.
If you move a column, then it's saved after the previous column.

Type and creator can be displayed by setting short nr 4 to 1.

Standard W6:
    name =              0xD0 =  208
    modification date = 0xA8 =  168
    creation date =     0xA8 =  168
    size =              0x3C =   60
    type =              0x36 =   54
    creator =           0x36 =   54
    kind =              0xA0 =  160
    label =             0x36 =   54
    comment =           0x118 = 280
    version =           0x3C =   60

Preferred window zoom height = 42 + 19 * item count.

Add 24 * (depth - 1) to the name column width.
Depth = depth of the tree of this folder if you remove the folders with no visible items.
Preferred window zoom width should be = total column width + 17.
but Finder adds 24 * (depth - 1) here too.
In other words: there's a bug in Finder.
--- End code ---

Then I have to find how popup-windows and open window list are stored.

IIO:

--- Quote from: OS923 on May 03, 2017, 05:17:42 AM ---I won't do the full path. A path in a menu is better.
--- End quote ---

a path in a menu is what already exists in OS9 finder. (?)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version