| !Boot for !Links 0.62

| Load some sprites

IconSprites <Obey$Dir>.!Sprites

| Pull in magic key variables and other bits

RMEnsure bits 1.03 /<Obey$Dir>.bits

| Set up so SoftLinks can run

Set File$Type_FDC SoftLink
Set Alias$@RunType_FDC SoftRun %%0
Set Alias$SoftRun Set LinkFile %%0|M Set LinkJunk X%%*1|M /<Obey$Dir>.getlink -link |<LinkFile>
|  DirName |<LinkFile>|M SoftRelative|M Do SoftLink|<Key$Shift>|<Key$Alt>|<Key$Ctrl>

Set Alias$SoftRelative IF SoftLink LEFT 2 = ".^" THEN SoftRelUp ELSE IF SoftLink LEFT 1 = "." THEN SetEval SoftLink DirName + SoftLink
Set Alias$SoftRelUp DirName |<DirName>|M SetEval SoftLink SoftLink RIGHT ( LEN SoftLink - 2 )|M SoftRelative

|Comment out this next line of you don't need 0.50 compatibility
|Set Alias$SoftRun Set LinkFile %%0|M IF LinkFile = "SoftLink" THEN Set LinkFile %%1|M Set LinkJunk %%*1|M input { |> null: |< |<LinkFile> } SoftLink|MSoftRelative|M Do SoftLink|<Key$Shift>|<Key$Alt>|<Key$Ctrl>

Set Alias$SoftLink101 ||
Set Alias$SoftLink111 ||
Set Alias$SoftLink011 ||
Set Alias$SoftLink110 Filer_RunAs |<LinkFile> FFF
Set Alias$SoftLink100 Do IfDir |<SoftLink> Filer_OpenDir |<SoftLink>|MDo IfFile |<SoftLink> Filer_RunAs |<SoftLink> FFF
Set Alias$SoftLink010 Do IfDir |<SoftLink> Filer_OpenDir |<SoftLink>|MDo IfFile |<SoftLink> Filer_RunAs |<SoftLink> FFF
Set Alias$SoftLink001 Do Filer_See |<SoftLink>
Set Alias$SoftLink000 Do Filer_Run |<SoftLink>

Set Alias$Filer_See dirname %%0|M Do Filer_OpenDir |<dirname>

| Set up for ctrl-dragging to create one

IF "<Alias$Copy>"="" THEN Set Alias$Copy %Copy %%*0
IF "<Alias$LinksCopy1>"="" THEN SetEval Alias$LinksCopy0 Alias$Copy
IF "<Alias$LinksCopy1>"="" THEN Set Alias$Copy Do LinksCopy|<Key$Ctrl> %%*0
IF "<Alias$LinksCopy1>"="" THEN Set Alias$LinksCopy1 MkLink %%*0

| Actual code to create one

Set Alias$MkLink Set LinkTo %%0|M Set LinkIn %%1|M Set LinkJunk %%*2|M Set LinkUp ""|M DirName |<LinkIn>|M MkLink3
Set Alias$MkLink3 IF DirName = "" THEN MkLink11 ELSE IF DirName + "." = LinkTo LEFT (LEN DirName + 1) THEN MkLink10 ELSE MkLink5
Set Alias$MkLink5 DirName |<DirName>|M SetEval LinkUp LinkUp + ".^"|M MkLink3
Set Alias$MkLink10 SetEval LinkTo LinkUp + (LinkTo RIGHT ( LEN LinkTo - LEN DirName))|M MkLink11
Set Alias$MkLink11 "do echo { > |<LinkIn> } |<LinkTo>|||<0>|M SetType |<LinkIn> SoftLink"

| Make sure RO3 Filer_Action is disabled for ctrl-drags.

Set Alias$Filer_Action IF |<Key$Ctrl>=0 THEN %Filer_Action %%*0
