Classic Mac OS Software (Discussions on Applications) > Hacking the System, Mac OS 9.3, and Beyond !
Designing a new Finder
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