diff --git a/Mac/scripts/EditPythonPrefs.py b/Mac/scripts/EditPythonPrefs.py
index f070d82..0fd6bed 100644
--- a/Mac/scripts/EditPythonPrefs.py
+++ b/Mac/scripts/EditPythonPrefs.py
@@ -18,13 +18,20 @@
 TEXT_ITEM = 1
 OK_ITEM = 2
 CANCEL_ITEM = 3
-REVERT_ITEM = 4
-DIR_ITEM = 5
+DIR_ITEM = 4
+TITLE_ITEM = 5
 
 # Resource IDs in the preferences file
 PATH_STRINGS_ID = 128
 DIRECTORY_ID = 128
+OPTIONS_ID = 128
 
+# Override IDs (in the applet)
+OVERRIDE_PATH_STRINGS_ID = 129
+OVERRIDE_DIRECTORY_ID = 129
+OVERRIDE_OPTIONS_ID = 129
+
+READ = 1
 WRITE = 2
 smAllScripts = -3
 kOnSystemDisk = 0x8000
@@ -61,7 +68,7 @@
 		n = ModalDialog(None)
 		if n == 1: break
 		
-def interact(list, pythondir):
+def interact(list, pythondir, title):
 	"""Let the user interact with the dialog"""
 	opythondir = pythondir
 	try:
@@ -70,16 +77,20 @@
 	except os.error:
 		pass
 	d = GetNewDialog(DIALOG_ID, -1)
-	tp, h, rect = d.GetDialogItem(1)
+	tp, h, rect = d.GetDialogItem(TITLE_ITEM)
+	SetDialogItemText(h, title)
+	tp, h, rect = d.GetDialogItem(TEXT_ITEM)
 	SetDialogItemText(h, string.joinfields(list, '\r'))
+##	d.SetDialogDefaultItem(OK_ITEM)
+	d.SetDialogCancelItem(CANCEL_ITEM)
 	while 1:
 		n = ModalDialog(None)
 		if n == OK_ITEM:
 			break
 		if n == CANCEL_ITEM:
 			return None
-		if n == REVERT_ITEM:
-			return [], pythondir
+##		if n == REVERT_ITEM:
+##			return [], pythondir
 		if n == DIR_ITEM:
 			fss, ok = macfs.GetDirectory('Select python home folder:')
 			if ok:
@@ -91,42 +102,62 @@
 			rv.append(i)
 	return rv, pythondir
 	
-def main():
+def getprefpath(id):
+	# Load the path and directory resources
 	try:
-		h = OpenResFile('EditPythonPrefs.rsrc')
-	except Res.Error:
-		pass	# Assume we already have acces to our own resource
+		sr = GetResource('STR#', id)
+	except (MacOS.Error, Res.Error):
+		return None, None
+	d = sr.data
+	l = restolist(d)
+	return l, sr
+
+def getprefdir(id):
+	try:
+		dr = GetResource('alis', id)
+		fss, fss_changed = macfs.RawAlias(dr.data).Resolve()
+	except (MacOS.Error, Res.Error):
+		return None, None, 1
+	return fss, dr, fss_changed
 	
+def openpreffile(rw):
 	# Find the preferences folder and our prefs file, create if needed.	
 	vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0)
 	preff_fss = macfs.FSSpec((vrefnum, dirid, 'Python Preferences'))
 	try:
-		preff_handle = FSpOpenResFile(preff_fss, WRITE)
+		preff_handle = FSpOpenResFile(preff_fss, rw)
 	except Res.Error:
 		# Create it
 		message('No preferences file, creating one...')
 		FSpCreateResFile(preff_fss, 'Pyth', 'pref', smAllScripts)
-		preff_handle = FSpOpenResFile(preff_fss, WRITE)
-		
-	# Load the path and directory resources
+		preff_handle = FSpOpenResFile(preff_fss, rw)
+	return preff_handle
+	
+def openapplet(name):
+	fss = macfs.FSSpec(name)
 	try:
-		sr = GetResource('STR#', PATH_STRINGS_ID)
-	except (MacOS.Error, Res.Error):
+		app_handle = FSpOpenResFile(fss, WRITE)
+	except Res.Error:
+		message('File does not have a resource fork.')
+		sys.exit(0)
+	return app_handle
+		
+	
+def edit_preferences():
+	preff_handle = openpreffile(WRITE)
+	
+	l, sr = getprefpath(PATH_STRINGS_ID)
+	if l == None:	
 		message('Cannot find any sys.path resource! (Old python?)')
 		sys.exit(0)
-	d = sr.data
-	l = restolist(d)
-	
-	try:
-		dr = GetResource('alis', DIRECTORY_ID)
-		fss, fss_changed = macfs.RawAlias(dr.data).Resolve()
-	except (MacOS.Error, Res.Error):
-		dr = None
+		
+	fss, dr, fss_changed = getprefdir(DIRECTORY_ID)
+	if fss == None:
 		fss = macfs.FSSpec(os.getcwd())
 		fss_changed = 1
 	
 	# Let the user play away
-	result = interact(l, fss)
+	result = interact(l, fss, 'System-wide preferences')
 	
 	# See what we have to update, and how
 	if result == None:
@@ -158,6 +189,82 @@
 				sr.AddResource('STR#', PATH_STRINGS_ID, '')
 				
 	CloseResFile(preff_handle)
+	
+def edit_applet(name):
+	pref_handle = openpreffile(READ)
+	app_handle = openapplet(name)
+	
+	notfound = ''
+	l, sr = getprefpath(OVERRIDE_PATH_STRINGS_ID)
+	if l == None:
+		notfound = 'path'
+		
+		l, dummy = getprefpath(PATH_STRINGS_ID)
+		if l == None:	
+			message('Cannot find any sys.path resource! (Old python?)')
+			sys.exit(0)
+		
+	fss, dr, fss_changed = getprefdir(OVERRIDE_DIRECTORY_ID)
+	if fss == None:
+		if notfound:
+			notfound = notfound + ' and ' + 'directory'
+		else:
+			notfound = 'directory'
+		fss, dummy, dummy2 = getprefdir(DIRECTORY_ID)
+		if fss == None:
+			fss = macfs.FSSpec(os.getcwd())
+			fss_changed = 1
+	
+	dummy = dummy2 = None # Discard them.
+	
+	if notfound:
+		message('Warning: initial %s taken from system-wide defaults'%notfound)
+	# Let the user play away
+	result = interact(l, fss, name)
+	
+	# See what we have to update, and how
+	if result == None:
+		sys.exit(0)
+		
+	pathlist, nfss = result
+	if nfss != fss:
+		fss_changed = 1
+		
+	if fss_changed or pathlist != l:
+		if fss_changed:
+			alias = nfss.NewAlias()
+			if dr:
+				dr.data = alias.data
+				dr.ChangedResource()
+			else:
+				dr = Resource(alias.data)
+				dr.AddResource('alis', OVERRIDE_DIRECTORY_ID, '')
+				
+		if pathlist != l:
+			if pathlist == []:
+				if sr.HomeResFile() == app_handle:
+					sr.RemoveResource()
+			elif sr and sr.HomeResFile() == app_handle:
+				sr.data = listtores(pathlist)
+				sr.ChangedResource()
+			else:
+				sr = Resource(listtores(pathlist))
+				sr.AddResource('STR#', OVERRIDE_PATH_STRINGS_ID, '')
+				
+	CloseResFile(app_handle)
+
+def main():
+	try:
+		h = OpenResFile('EditPythonPrefs.rsrc')
+	except Res.Error:
+		pass	# Assume we already have acces to our own resource
+	
+	if len(sys.argv) <= 1:
+		edit_preferences()
+	else:
+		for appl in sys.argv[1:]:
+			edit_applet(appl)
+		
 
 if __name__ == '__main__':
 	print # Stupid, to init toolboxes...
diff --git a/Mac/scripts/EditPythonPrefs.rsrc.hqx b/Mac/scripts/EditPythonPrefs.rsrc.hqx
index f714373..bfdab11 100644
--- a/Mac/scripts/EditPythonPrefs.rsrc.hqx
+++ b/Mac/scripts/EditPythonPrefs.rsrc.hqx
@@ -1,51 +1,51 @@
 (This file must be converted with BinHex 4.0)
 
-:&%9NDA43HA4SEfj3FQ9QFbjbFh*M!(*cFQ058d9%!3#3"`a'KE-!N!3"!!!!#bN
-!!!ST!!!"(6B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%9NDA43HA4
-SEfj3FQ9QFbjbFh*MF`)!!!!rN!B!!$q3#!#3'+eNVN-!N!B-4[m4`+KT!4e!%Ir
-c%h!!%#lrmlh5%@B386Dq9@X"!8*%[D'q9@X"!6"4-J&R(N39$!!!('85F!!3,N-
-9$!!!(f)'F!&J!!%"!LaD9#dZ4,d"!"Xm!@B`*e8q'NU!)&-#+!#r!#iL!1d*!J%
-!3)-Sfc36UGF[$%kk!3P+CfX"!+CA3cS!!!%!!!%!!!!#J!!!"%!!!!JJ!!!3%!!
-!)BJ!!%'%!!#$`J!"!m%!!JIiJ!3(K%!)"!)J%!MK%#!6))K!(L"mJ!2J1N!-!$N
-J%`!k%"$J2!J-(MJ%!!(i!J`!1!%5!%!!N[L!!%`"!!!J!J!!%!3!!!J)!!!%%!!
-!!L!!!!&!!!!!J!!!!3!!!!1!!!!(`!!!$q!!!"r`!!!rq!!!Ir`!!2rq!!(rr`!
-$rrq!"rrr`!rrrq!Irrr`2rrrq(rrrrcrrrrqIrrrrcrrrriIrrrm$rrrq!IrrrJ
-$rrri!Irr`!$rri!!Irm!!$rq!!!Ir!!!$rJ!!!I`!!!$i!!!!F!!!!#!!*!%#P$
-J!"k%J!!(S5!!!!!(39"36!#3"Ka3HA3`!!!!!8C548B!N!@!5801)`#3"!%X!!!
-!3!%!!S!%3!YJ%j!!)JK&*),M33-J`a-r#`X%%!)J!8!!J!%!!i!(`!rJ(r!rq(r
-mrrprrcrr(rm2q`I`!q!"`!#!!!!%!*!3r`#3([m!r`#3(2m!!!$r!*!Dr`!!pI8
-!r`#3'2m!!2@3"!$r!*!@r`!!pI@`X2Ae!2m!N"6r!!$epI@`X2Aep3$r!*!5r`!
-!pIAeX*!%pIAe!2m!N"$r!!$eN!5`N!6eN!3!r`#3$[m!!2@3",#3"2q3"2Ae!2m
-!N!cr!!$eN!@`rrrr#*!%rrAe!2m!N!Vr!!$eN!Er-`L3"rrep3$r!*!)r`!!pC!
-'r`J)-rrrr`L3"2rep3$r!*!'r`!!pC!'r`Jcrrrhprm)N!ArpI8!r`#3"2m!!2@
-3"rq3"2IepImc#*!&rj!&!!$r!!$eN![rN!8"#*!&-rrrrrIr!!$rpr@3#Irr-`L
-3#M2rrrrhprm!!2rhpC!(r`Ahrrmc-c-)N!Bcrrrrprm!N!6rpr@3"[m&"IIhrrr
-r-j!%#!Jcrj!%!*!'rrIeN!ErrrAeprIhrj!%-c-crrrr!*!)rrIeN!chN!6rN!B
-!N!Rrpr@3"2rrpC!)pj!%rrrr!*!+rrIepIrepIreN!Mhprm!N!lrprArpIArpIq
-3"IAhprm!N"$rprArrr@3"rIhr`#3%[rhpC!)prIr!*!8rrIeN!Ehprm!N"Erpr@
-3"2Ihr`#3'2rhpIAhprm!N"VrprIhr`#3(2rhr`#3([m!N"%"!*!)r`#3$[rer`#
-3$2repIAr!*!+rr@`X2Arr`#3#2repE$rr`J)r`#3"[repIAr#*!&r`#3"2repIA
-r#2m)#2m)#2m!!2reN!Arprrrr`J)-rrr!2reN!Er-c-)-c2rr`!!rr@3"Irr-j!
-%rrm!!!$rpIArrrAerj!'!*!%rrArrrAepIIr!2rr!*!&rr@3"2Ir!*!+rrAeprm
-!N!crprm!N!lr!*!+J!!!!!m!N!I`m!#3"3m!$`#3"I"9$r!!!!!2!&r`$`!!!2!
-!m!!!m!!2!!r2!2!2!2!!!2crm!hr$`!!!2h3hIm!m!!!rphGr`!2!2m!rrrr!!$
-`r`!-m2m!!!m!!-m!N!A`$2!!N!82c`#3"r!!N!8#!*!)$`#3$r$`!*!0$`!2!*!
-0m!!!m!#3#`m!!!!2!*!,m!!&8!$`!*!*$`!!"9!!$`#3#I!!!&99!!$`!*!($`!
-!!&99!!!2!*!(m!!!"99Irr!!m!#3"3m!!!!&rr!!$`!2!*!&m!!!!!r3!!!!m!$
-`!!!!$`#3"2c0rr!!$`!2!!!!m!!!!!r0rmc`!!$`!2!!$`#3"!rrr!$`!!!2rrm
-!m!#3"[rrm!!!$Irmm!r!!*!%rp!!N!30rrc2!2`!!!!2(2rGd!!!$Irmm!!2`!!
-!$a(-rrhGd!hrr`!!!2`!!!$r!-c2rrhGrr!!!!!2`!#3"3c-crrrm!#3"2`!!2m
-!N!6-c2r`!*!%$m!2!2!!!!!-c`#3"r`2!2$rrr$-m!#3"`r!r`!!!!c2!*!*r!#
-3"-c`!*!*$m!!!!c2!*!,r!!!c2!!N!X2`!c2!*!0r-c`!*!0$mm!N!r`!*!+&3!
-L!'J"@J'I!!%"!!%!N!8#!*!&pJ!&!*!&-J!8!0-"*K!*4@4TG#"8CAKdK`#3"!%
-B!2!",!%X"!*25`#3"!%B!"3",!"1"!C$B@jMC@`!N!AF!"3!m!%U""e5C@e[GQ8
-JFhPc,R"KG'JJF(*PCL"KEQ3JCAKTG!#3"[S!&!%-!5X%(e0PE'9MG#!N+&"C9%K
-26LNJD'pYC5"QEfaNCA)Z,LjQ!*!&#J!8!#i"*SK24@jdCA)JFhPc,R"KG'JJBfp
-YF'pZC@jdFb`JEfjP)("PFL"XD@jP$5K9Ff8J*#K3@94)6diT)'C[FL"`HA4SEfi
-JD'pYC5"QEfaNCA)T1J#3"!%!!!!"!!!!#bN!!!ST!!!"(3("fQ`6eJ!!!"`"$J!
-,3Nj%6!!!!'**3diM!!!!EP0*@N8!!!"k4P*&4J!!!)CTBh-M!!!!NQPME$J!!!#
-HD@0c1!!!!+TTBh-d!!!!YQPME$3!!!$#4%a24`!!!-j%594-!!!!fP"jG$!!!!$
-Q!)$rr`!!!4d"`Hj8!5crr`#3"!("lcMrN!3!!!%%!*!&J2rr!!!"%J("ld!",2r
-r!!!"23("lkJ",2rr!!!"J3("lk`",2rr!!!&K3("m$`",2rr!!!'L3("lk3",2r
-r!!!($3("ll!#!2rr!!!*%3#3"!)!rrm!!!NU!*!+#L3"`Hrd$NphEQ9b)(*PFfp
-eFQ0P50X:
+:&%9NDA43HA4SEfj3FQ9QFbjbFh*M!(*cFQ058d9%!3#3"`a4jf8!N!3"!!!!#bJ
+!!!SS!!!"+6B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%9NDA43HA4
+SEfj3FQ9QFbjbFh*MF`)!!!"bFh*M8P-!!(*cFQ058d9%!3!!!!%!N"1YC+j$!*!
+'$&(r%F#SD3%G3"(rma0`!"!Zrr1pdK&Q%&%f[P9V!3&#4,fK[P9V!3%`86)"Caj
+%&3`!!"aP%R!!%#j$&3`!!"pL"R!"B!!"!3)X@P3Y,N5p!3!E2!&Q-#G92KT+J#"
+6!LJ![`!Z)J$Y#3)"!%#$+0Xd%kRA,`a1ZJ%*5QGV!3#Q9d-k!!!"!!!"!!!!!S!
+!!!4!!!!))!!!%"!!!#')!!""K!!!Jm)!!32"!!)(q)!%"i4!#!3#)"!)i4!J%b#
+)3"iJI)!$i$T!$!!j)"-!1K!3i$`)$"ii"!!"q!)-!$J"%J"!!*,iJ!"-!3!!)!)
+!!"!%!!!)#!!!""!!!!)J!!!"3!!!!)!!!!%!!!!$J!!!"m!!!!rJ!!!Im!!!2rJ
+!!(rm!!$rrJ!"rrm!!rrrJ!Irrm!2rrrJ(rrrm$rrrrKrrrrmrrrrrRrrrrmrrrr
+q(rrrr!rrrrJ(rrri!rrrq!(rrm!!rrq!!(rr!!!rrJ!!(r`!!!ri!!!(m!!!!q!
+!!!(!!!!!J!#3"!T3i!!HK)!!"k%J!!!!"d&38%`!N!C!!3!#J!4!#f!6N!!L#%8
+NJZ0"!b$$%cm,#`33!L!"3!#!!3!$J!I!$q!Im$riIrcrrhrr2rmIr`rl"r!$i!(
+!!)!!!!3!N"$r!*!Hr`$r!*!Fr`!!!2m!N"Vr!!$ep3$r!*!Br`!!pC!%!2m!N"E
+r!!$epE#`pI8!r`#3&2m!!2AepE#`pIAe!2m!N",r!!$epI@`N!6epI8!r`#3%2m
+!!2@3",#3"2@3"!$r!*!1r`!!pC!%X*!%rj!%pI8!r`#3$2m!!2@3"E$rrrm)N!6
+rpI8!r`#3#[m!!2@3"[mc#*!(rrAe!2m!N!Mr!!$eN!Er#!Jcrrrr#*!%rrAe!2m
+!N!Er!!$eN!Er#$2rrrIhr`L3"Irep3$r!*!%r`!!pC!(rj!%prAerc-)N!ArN!8
+!!2m!!2@3#rq3"3%)N!8crrrrprm!!2rhpC!*rrmc#*!+-rrrrrIhr`!!rrIeN!I
+r"IIrrc-c-`L3"M2rrrrhr`#3"2rhpC!'r`8&prIrrrmcN!3)#$2rN!3!N!Erpr@
+3"[rrpIAhprIrN!3c-c2rrrm!N!Mrpr@3$2H3"2q3"J#3#IrhpC!%rrreN!MhN!6
+rrrm!N!VrprAerrAerr@3#2Ihr`#3$[rhpIrepIrerj!&pIIhr`#3%2rhpIrrpC!
+(prIr!*!5rrIeN!Mhprm!N"6rpr@3"[Ihr`#3&[rhpC!%prIr!*!BrrIepIIhr`#
+3'[rhprIr!*!FrrIr!*!Hr`#3%3%!N!Mr!*!1rrAr!*!-rrAepIm!N!VrpE#`pIr
+r!*!)rrAeX2rr#!Mr!*!'rrAepIm)N!Ar!*!%rrAepIm)r`J)r`J)r`!!rr@3"Ir
+hrrrr#!Jcrrm!rr@3"[mc-`Jc-rrr!!$rpC!&rrmcN!6rr`!!!2repIrrpIArN!B
+!N!6rpIrrpIAeprm!rrm!N!ArpC!%prm!N!VrpIAhr`#3$2rhr`#3$[m!N!U!!!!
+!$`#3"r$`!*!&$`!2!*!&m&82m!!!!!m!Ar!2!!!!m!$`!!$`!!m!$mm!m!m!m!!
+!r2r`$Im2!!!!rG$Gr`$`!!$rhGhr!!m!r`$rrrm!!2$r!!c`r`!!$`!!c`#3"I!
+-m!#3"3r2!*!(m!#3"3)!N!J2!*!2m2!!N!d2!!m!N!h`!!$`!*!,$`!!!!m!N![
+`!!93!2!!N!N2!!!&8!!2!*!*m!!!998!!2!!N!F2!!!!998!!!m!N!I`!!!&99r
+rm!$`!*!&$`!!!!Arm!!2!!m!N!A`!!!!$p!!!!$`!2!!!!!2!*!%r-hrm!!2!!m
+!!!$`!!!!$mhrc2!!!2!!m!!2!*!%$rrm!2!!!!rrr`$`!*!'rrr`!!!0rrc`$m!
+!N!6rd!#3"!hrr-m!r!!!!!mFrph3!!!0rrc`!!r!!!!2%FcrrGh3$Irr!!!!r!!
+!!2m!c-rrrGhrm!!!!!r!!*!&$-c2rrr`!*!%r!!!r`#3"-c-rr!!N!32`!m!m!!
+!!!c2!*!(r!m!m2rrm-c`!*!($m$r!!!!$-m!N!Rm!*!%c2!!N!N2`!!!$-m!N![
+m!!$-m!#3#`r!$-m!N!hmc2!!N!d2c`#3$r!!N!S9!#)!D!&D!Cm!!3%!!3#3"3)
+!N!AL!!8!N!95!"8!m`%R%!P&C'Pd)&4PH(5(!*!%!4J!m!%X!5`%!Np,!*!%!4J
+!&!%X!%i%"N0KEQ0PE!#3"IS!&!%-!5X%(e0PE'9MG#!N+&"C9%K26LNJD'pYC5"
+QEfaNCA)Z,LjQ!*!&$3!A!"i"*JJ*4@4TG#"8CAKd,J#3"5S!&3"1!5H)6d9ZG'9
+b)(0jFbj`BA4S)'0[EA"[EQ9ZG(-X)'pZC5"`CA)JE'PZC3dS9A0P)#3S8&P85%p
+1+5"QEh)JF(PdD'pZ)'K[E@8JCQpXC'9b+6S!N!3"!*!%"bU3"!!"!*!%*&"jG$!
+!!!!"4P*&4J!"!!!!J!!"!)&*3diM!!%!!!%X!!%!N!3"!!!!#bJ!!!SS!!!"+3'
+3!-'8'$i!!!!F!4S!#d*14%`!!!"L5801)`!!!'j659T&!!!!HNC548B!!3#'D@0
+c)`!!!*jTBf`i!!!!UQPMFcJ!!!#fD@0c0!!!!-*TBf`d!!!!cN4-6dF!!!$D4%P
+86!!!!1C3HA3`!!!!mJ#!rrm!!!S!N!8",2rr!*!)rj!%!!!""!#3"B$rr`!!!4)
+!N!@"rrm!!!Re!*!%!5crr`!!!4d!N!3",2rr!!!"B3#3"!%Xrrm!!!9P!*!%!5c
+rr`!!"QN!N!3",2rr!!!'l3#3"!)!rrm!!!Ma!*!%!J$rr`!!#3S"N!#q&!#3"JR
+`!*!%$NphEQ9b)(*PFfpeFQ0PDV%:
