-
Notifications
You must be signed in to change notification settings - Fork 1
/
DevelNotes.txt
66 lines (50 loc) · 2.71 KB
/
DevelNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Notes:
Prefpane documentation:
http://developer.apple.com/documentation/UserExperience/Conceptual/PreferencePanes/index.html
On debugging the preference pane:
The output from FMN.app will go to console.log (use Console.app to monitor it.)
Handy page on loading code in bundles:
http://developer.apple.com/documentation/Cocoa/Conceptual/LoadingCode/Tasks/LoadingBundles.html
Preference panes are exactly 595 pixels wide, with varying height.
The image on the cinema display in the prefs pane is 139x87 pixels and the
macbook pro's image is 90x57 pixels.
To create the miniFlower.tiff file, I changed the stroke width of all the outer
(petal) lines to 3px and exported the page to a 32x32 bitmap. That makes the
lines darker in the 32x32 icon, which is a good thing. For the 128x128 size, I
left the width unchanged.
References for adding/removing login items:
http://www.cocoadev.com/index.pl?StartingMyAppOnStartup
http://developer.apple.com/samplecode/LoginItemsAE/index.html
To hunt for memory leaks, use Debug > Launch Using Performance Tool > ObjectAlloc.
Cycle back and forth between two display configurations (e.g. two resolutions) a
few times and then click the "mark" button. Also select the "Show since mark"
box, the "auto-sort" box, and sort by "Current". Now keep cycling between those
same configurations. If anything shows up non-zero in current it's a leak,
since cycling between two seen configs without opening or closing new windows
shouldn't cause any extra net allocations. You can use the Instance Browser to
find out where the allocation occurred, which is a great help for finding the
leak.
Things that still bug n8:
* Need to track which disp is main -- coordinate system origin is at top-left of
of main display.
* The "launch at login" preference doesn't require FMN to be running, so we
shouldn't disable it when FMN isn't running.
* We may want to let the user decide how display configurations are matched.
For example, one strategy is to only use display size. In this case, moving
displays wouldn't change the match. On the other end of the spectrum, another
strategy is to only match if the monitors are identical in make, model, size,
and position. The default strategy, IMHO, should be "only use size".
* There should be a version negotiation during the launch of the pref. pane, to
ensure that you're not seeing an old version of the app.
For release 1.00rc1:
* License in source files
* MacUpdate
* VersionTracker?
Release checklist:
* Update version numbers in version.h
* Darcs tag Release-Maj.Minor.Micro
* Darcs push
* Make a new dir. and darcs get from the website into it:
darcs get http://www.n8gray.org/darcs/fmn
* Set build configuration to Release
* Build, make tarball, upload.