Increase PuTTY's default partition size to 2 MB. 1 MB just isn't enough.
[u/mdw/putty] / mac / mac_res.r
index b16eeb4..0aef8b2 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: mac_res.r,v 1.16 2003/01/18 12:18:04 ben Exp $ */
+/* $Id: mac_res.r,v 1.31 2003/03/11 22:35:07 ben Exp $ */
 /*
 /*
- * Copyright (c) 1999, 2002 Ben Harris
+ * Copyright (c) 1999, 2002, 2003 Ben Harris
  * All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person
  * All rights reserved.
  *
  * Permission is hereby granted, free of charge, to any person
 /* Get resource IDs we share with C code */
 #include "macresid.h"
 
 /* Get resource IDs we share with C code */
 #include "macresid.h"
 
-/*
- * Current PuTTY version number.  Minor is in BCD
- */
-#define VERSION_MAJOR 0x00
-#define VERSION_MINOR 0x53
+#include "version.r"
 
 /*
  * Finder-related resources
 
 /*
  * Finder-related resources
@@ -61,74 +57,152 @@ resource 'pTTY' (0, purgeable) {
 
 resource 'SIZE' (-1) {
     reserved,
 
 resource 'SIZE' (-1) {
     reserved,
-    ignoreSuspendResumeEvents,
+    acceptSuspendResumeEvents,
     reserved,
     canBackground,
     reserved,
     canBackground,
-    needsActivateOnFGSwitch,
+    doesActivateOnFGSwitch,
     backgroundAndForeground,
     dontGetFrontClicks,
     ignoreAppDiedEvents,
     is32BitCompatible,
     backgroundAndForeground,
     dontGetFrontClicks,
     ignoreAppDiedEvents,
     is32BitCompatible,
-    notHighLevelEventAware,
-    onlyLocalHLEvents,
-    notStationeryAware,
+    isHighLevelEventAware,
+    localandRemoteHLEvents,
+    isStationeryAware,
     dontUseTextEditServices,
     reserved,
     reserved,
     reserved,
     1024 * 1024,       /* Minimum size */
     dontUseTextEditServices,
     reserved,
     reserved,
     reserved,
     1024 * 1024,       /* Minimum size */
-    1024 * 1024,       /* Preferred size */
+    2048 * 1024,       /* Preferred size */
 };
 
 };
 
-resource 'FREF' (128, purgeable) {
+#define FREF_APPL 128
+#define FREF_Sess 129
+#define FREF_Sesss 130
+#define FREF_HKey 131
+#define FREF_Seed 132
+
+resource 'FREF' (FREF_APPL, purgeable) {
     /* The application itself */
     /* The application itself */
-    'APPL', 128, ""
+    'APPL', FREF_APPL, ""
 };
 
 };
 
-resource 'FREF' (129, purgeable) {
+resource 'FREF' (FREF_Sess, purgeable) {
     /* Saved session */
     /* Saved session */
-    'Sess', 129, ""
-    };
+    'Sess', FREF_Sess, ""
+};
+
+resource 'FREF' (FREF_Sesss, purgeable) {
+    /* Saved session stationery pad*/
+    'sess', FREF_Sesss, ""
+};
 
 
-resource 'FREF' (130, purgeable) {
+resource 'FREF' (FREF_HKey, purgeable) {
     /* SSH host keys database */
     /* SSH host keys database */
-    'HKey', 130, ""
+    'HKey', FREF_HKey, ""
 };
 
 };
 
-resource 'FREF' (131, purgeable) {
+resource 'FREF' (FREF_Seed, purgeable) {
     /* Random seed */
     /* Random seed */
-    'Seed', 131, ""
+    'Seed', FREF_Seed, ""
 };
 
 resource 'BNDL' (128, purgeable) {
     'pTTY', 0,
     {
        'ICN#', {
 };
 
 resource 'BNDL' (128, purgeable) {
     'pTTY', 0,
     {
        'ICN#', {
-           128, 128,
-           129, 129,
-           130, 130,
-           131, 131
+           FREF_APPL, FREF_APPL,
+           FREF_Sess, FREF_Sess,
+           FREF_Sesss, FREF_Sesss
+       },
+       'FREF', {
+           FREF_APPL, FREF_APPL,
+           FREF_Sess, FREF_Sess,
+           FREF_Sesss, FREF_Sesss,
+       };
+    };
+};
+
+/* "Internal" file types, which can't be opened */
+resource 'BNDL' (129, purgeable) {
+    'pTTI', 0,
+    {
+       'ICN#', {
+           FREF_HKey, FREF_HKey,
+           FREF_Seed, FREF_Seed,
        },
        'FREF', {
        },
        'FREF', {
-           128, 128,
-           129, 129,
-           130, 130,
-           131, 131
+           FREF_HKey, FREF_HKey,
+           FREF_Seed, FREF_Seed,
        };
     };
 };
 
        };
     };
 };
 
+/* Open resource, for the Translation Manager and Navigation Services */
+resource 'open' (open_pTTY) {
+    'pTTY',
+    { 'Sess' }
+};
+
+/* Kind resources, for Navigation services etc. */
+resource 'kind' (128) {
+    'pTTY',
+    verBritain,
+    {
+       'Sess', "PuTTY saved session",
+    }
+};
+
+resource 'kind' (129) {
+    'pTTI',
+    verBritain,
+    {
+       'HKey', "PuTTY host key database",
+       'Seed', "PuTTY random number seed",
+    }
+};
+
+#if TARGET_API_MAC_CARBON
+/*
+ * Mac OS X Info.plist.
+ * See Tech Note TN2013 for details.
+ * We don't bother with things that Mac OS X seems to be able to get from
+ * other resources.
+ */
+type 'plst' as 'TEXT';
+
+resource 'plst' (0) {
+    "<?xml version='1.0' encoding='UTF-8'?>\n"
+    "<!DOCTYPE plist PUBLIC '-//Apple Computer//DTD PLIST 1.0//EN'\n"
+    " 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'>\n"
+    "<plist version='1.0'>\n"
+    "  <dict>\n"
+    "    <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>\n"
+    "    <key>CFBundleIdentifier</key>\n"
+    "      <string>org.tartarus.projects.putty.putty</string>\n"
+    "    <key>CFBundleName</key>                  <string>PuTTY</string>\n"
+    "    <key>CFBundlePackageType</key>           <string>APPL</string>\n"
+    "    <key>CFBundleSignature</key>             <string>pTTY</string>\n"
+    "  </dict>\n"
+    "</plist>\n"
+};
+
+/* Mac OS X doesn't use this, but Mac OS 9 does. */
+type 'carb' as 'TEXT';
+resource 'carb' (0) { "" };
+#endif
+
 /* Icons, courtesy of DeRez */
 
 /* Application icon */
 /* Icons, courtesy of DeRez */
 
 /* Application icon */
-resource 'ICN#' (128, purgeable) {
+resource 'ICN#' (FREF_APPL, purgeable) {
        {       /* array: 2 elements */
                /* [1] */
                $"00003FFE 00004001 00004FF9 00005005"
                $"00005355 00004505 00005A05 00002405"
                $"00004A85 00019005 000223F9 00047C01"
                $"00180201 7FA00C7D 801F1001 9FE22001"
        {       /* array: 2 elements */
                /* [1] */
                $"00003FFE 00004001 00004FF9 00005005"
                $"00005355 00004505 00005A05 00002405"
                $"00004A85 00019005 000223F9 00047C01"
                $"00180201 7FA00C7D 801F1001 9FE22001"
-               $"A00CDFFE AA892002 A0123FFE A82C0000"
+               $"A004DFFE AA892002 A0123FFE A82C0000"
                $"A0520000 AA6A0000 A00A0000 9FF20000"
                $"80020000 80020000 90FA0000 80020000"
                $"80020000 7FFC0000 40040000 7FFC",
                $"A0520000 AA6A0000 A00A0000 9FF20000"
                $"80020000 80020000 90FA0000 80020000"
                $"80020000 7FFC0000 40040000 7FFC",
@@ -143,8 +217,7 @@ resource 'ICN#' (128, purgeable) {
                $"FFFE0000 7FFC0000 7FFC0000 7FFC"
        }
 };
                $"FFFE0000 7FFC0000 7FFC0000 7FFC"
        }
 };
-
-resource 'icl4' (128, purgeable) {
+resource 'icl4' (FREF_APPL, purgeable) {
        $"000000000000000000FFFFFFFFFFFFF0"
        $"00000000000000000FCCCCCCCCCCCCCF"
        $"00000000000000000FCEEEEEEEEEEECF"
        $"000000000000000000FFFFFFFFFFFFF0"
        $"00000000000000000FCCCCCCCCCCCCCF"
        $"00000000000000000FCEEEEEEEEEEECF"
@@ -161,7 +234,7 @@ resource 'icl4' (128, purgeable) {
        $"0FFFFFFFFFF111111111FFCCCFFFFFCF"
        $"FCCCCCCCCCCFFFFF111F3CCCCCCCCCCF"
        $"FCEEEEEEEEEEECF111FCCCCCCCCCCCCF"
        $"0FFFFFFFFFF111111111FFCCCFFFFFCF"
        $"FCCCCCCCCCCFFFFF111F3CCCCCCCCCCF"
        $"FCEEEEEEEEEEECF111FCCCCCCCCCCCCF"
-       $"FCE0D0D0D0D0FF11FFFFFFFFFFFFFFF0"
+       $"FCE0D0D0D0D0CF11FFFFFFFFFFFFFFF0"
        $"FCED0D0D0D0DF11F00FCCCDDDEEEEAF0"
        $"FCE0D0D0D0DF11F000FFFFFFFFFFFFF0"
        $"FCED0D0D0DF1FFF00000000000000000"
        $"FCED0D0D0D0DF11F00FCCCDDDEEEEAF0"
        $"FCE0D0D0D0DF11F000FFFFFFFFFFFFF0"
        $"FCED0D0D0DF1FFF00000000000000000"
@@ -178,8 +251,7 @@ resource 'icl4' (128, purgeable) {
        $"0FCCCDDDEEEEAF000000000000000000"
        $"0FFFFFFFFFFFFF"
 };
        $"0FCCCDDDEEEEAF000000000000000000"
        $"0FFFFFFFFFFFFF"
 };
-
-resource 'icl8' (128, purgeable) {
+resource 'icl8' (FREF_APPL, purgeable) {
        $"000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF00"
        $"0000000000000000000000000000000000FF2B2B2B2B2B2B2B2B2B2B2B2B2BFF"
        $"0000000000000000000000000000000000FF2BFCFCFCFCFCFCFCFCFCFCFC2BFF"
        $"000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF00"
        $"0000000000000000000000000000000000FF2B2B2B2B2B2B2B2B2B2B2B2B2BFF"
        $"0000000000000000000000000000000000FF2BFCFCFCFCFCFCFCFCFCFCFC2BFF"
@@ -196,7 +268,7 @@ resource 'icl8' (128, purgeable) {
        $"00FFFFFFFFFFFFFFFFFFFF050505050505050505FFFF2B2B2BFFFFFFFFFF2BFF"
        $"FF2B2B2B2B2B2B2B2B2B2BFFFFFFFFFF050505FFD82B2B2B2B2B2B2B2B2B2BFF"
        $"FF2BFCFCFCFCFCFCFCFCFCFCFC2BFF050505FF2B2B2B2B2B2B2B2B2B2B2B2BFF"
        $"00FFFFFFFFFFFFFFFFFFFF050505050505050505FFFF2B2B2BFFFFFFFFFF2BFF"
        $"FF2B2B2B2B2B2B2B2B2B2BFFFFFFFFFF050505FFD82B2B2B2B2B2B2B2B2B2BFF"
        $"FF2BFCFCFCFCFCFCFCFCFCFCFC2BFF050505FF2B2B2B2B2B2B2B2B2B2B2B2BFF"
-       $"FF2BFC2A2A2A2A2A2A2A2A2AFFFF0505FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00"
+       $"FF2BFC2A2A2A2A2A2A2A2A2A00FF0505FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00"
        $"FF2BFC2A2A2A2A2A2A2A2A2AFF0505FF0000FF2BF7F8F9FAFAFBFBFCFCFDFF00"
        $"FF2BFC2A2A2A2A2A2A2A2AFF0505FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00"
        $"FF2BFC2A2A2A2A2A2A2AFF05FFFFFF0000000000000000000000000000000000"
        $"FF2BFC2A2A2A2A2A2A2A2A2AFF0505FF0000FF2BF7F8F9FAFAFBFBFCFCFDFF00"
        $"FF2BFC2A2A2A2A2A2A2A2AFF0505FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00"
        $"FF2BFC2A2A2A2A2A2A2AFF05FFFFFF0000000000000000000000000000000000"
@@ -213,8 +285,7 @@ resource 'icl8' (128, purgeable) {
        $"00FF2BF7F8F9FAFAFBFBFCFCFDFF000000000000000000000000000000000000"
        $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
        $"00FF2BF7F8F9FAFAFBFBFCFCFDFF000000000000000000000000000000000000"
        $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
-
-resource 'ics#' (128, purgeable) {
+resource 'ics#' (FREF_APPL, purgeable) {
        {       /* array: 2 elements */
                /* [1] */
                $"00FF 0081 008D 0035 00D5 0325 F441 822D"
        {       /* array: 2 elements */
                /* [1] */
                $"00FF 0081 008D 0035 00D5 0325 F441 822D"
@@ -224,8 +295,7 @@ resource 'ics#' (128, purgeable) {
                $"FFFF FF7E FF00 FF00 FF00 FF00 FF00 7E"
        }
 };
                $"FFFF FF7E FF00 FF00 FF00 FF00 FF00 7E"
        }
 };
-
-resource 'ics4' (128) {
+resource 'ics4' (FREF_APPL) {
        $"00000000FFFFFFFF"
        $"00000000FCCCCCCF"
        $"00000000FCEEEECF"
        $"00000000FFFFFFFF"
        $"00000000FCCCCCCF"
        $"00000000FCEEEECF"
@@ -243,8 +313,7 @@ resource 'ics4' (128) {
        $"FCCCCCCF00000000"
        $"0FFFFFF0"
 };
        $"FCCCCCCF00000000"
        $"0FFFFFF0"
 };
-
-resource 'ics8' (128) {
+resource 'ics8' (FREF_APPL) {
        $"0000000000000000FFFFFFFFFFFFFFFF"
        $"0000000000000000FF2B2B2B2B2B2BFF"
        $"0000000000000000FF2BFCFCFCFC2BFF"
        $"0000000000000000FFFFFFFFFFFFFFFF"
        $"0000000000000000FF2B2B2B2B2B2BFF"
        $"0000000000000000FF2BFCFCFCFC2BFF"
@@ -265,7 +334,7 @@ resource 'ics8' (128) {
 
 /* Saved-session icon */
 
 
 /* Saved-session icon */
 
-resource 'ICN#' (129) {
+resource 'ICN#' (FREF_Sess) {
        {       /* array: 2 elements */
                /* [1] */
                $"1FFFFC00 10000600 10200500 103FFC80"
        {       /* array: 2 elements */
                /* [1] */
                $"1FFFFC00 10000600 10200500 103FFC80"
@@ -287,7 +356,7 @@ resource 'ICN#' (129) {
                $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
        }
 };
                $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
        }
 };
-resource 'icl4' (129) {
+resource 'icl4' (FREF_Sess) {
        $"000FFFFFFFFFFFFFFFFFFF0000000000"
        $"000F0C0C0C0C0C0C0C0C0FF000000000"
        $"000FC0C0C0F0C0C0C0C0CFCF00000000"
        $"000FFFFFFFFFFFFFFFFFFF0000000000"
        $"000F0C0C0C0C0C0C0C0C0FF000000000"
        $"000FC0C0C0F0C0C0C0C0CFCF00000000"
@@ -321,7 +390,7 @@ resource 'icl4' (129) {
        $"000FC0C0C0C0C0C0C0C0C0C0C0CF0000"
        $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
 };
        $"000FC0C0C0C0C0C0C0C0C0C0C0CF0000"
        $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
 };
-resource 'icl8' (129, purgeable) {
+resource 'icl8' (FREF_Sess, purgeable) {
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
        $"000000FFF5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5FFFF000000000000000000"
        $"000000FFF5F5F5F5F5F5FFF5F5F5F5F5F5F5F5F5F5FF2BFF0000000000000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
        $"000000FFF5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5FFFF000000000000000000"
        $"000000FFF5F5F5F5F5F5FFF5F5F5F5F5F5F5F5F5F5FF2BFF0000000000000000"
@@ -355,7 +424,7 @@ resource 'icl8' (129, purgeable) {
        $"000000FFF5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5FF00000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
        $"000000FFF5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5FF00000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
-resource 'ics#' (129, purgeable) {
+resource 'ics#' (FREF_Sess, purgeable) {
        {       /* array: 2 elements */
                /* [1] */
                $"7FE0 4030 4028 403C 5AB4 50D4 5334 5444"
        {       /* array: 2 elements */
                /* [1] */
                $"7FE0 4030 4028 403C 5AB4 50D4 5334 5444"
@@ -365,7 +434,7 @@ resource 'ics#' (129, purgeable) {
                $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
        }
 };
                $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
        }
 };
-resource 'ics4' (129) {
+resource 'ics4' (FREF_Sess) {
        $"0FFFFFFFFFF00000"
        $"0F0C0C0C0CFF0000"
        $"0FC0C0C0C0FCF000"
        $"0FFFFFFFFFF00000"
        $"0F0C0C0C0CFF0000"
        $"0FC0C0C0C0FCF000"
@@ -383,7 +452,7 @@ resource 'ics4' (129) {
        $"0FC0C0C0C0C0CF00"
        $"0FFFFFFFFFFFFF"
 };
        $"0FC0C0C0C0C0CF00"
        $"0FFFFFFFFFFFFF"
 };
-resource 'ics8' (129) {
+resource 'ics8' (FREF_Sess) {
        $"00FFFFFFFFFFFFFFFFFFFF0000000000"
        $"00FFF5F5F5F5F5F5F5F5FFFF00000000"
        $"00FFF5F5F5F5F5F5F5F5FF2BFF000000"
        $"00FFFFFFFFFFFFFFFFFFFF0000000000"
        $"00FFF5F5F5F5F5F5F5F5FFFF00000000"
        $"00FFF5F5F5F5F5F5F5F5FF2BFF000000"
@@ -402,8 +471,146 @@ resource 'ics8' (129) {
        $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
 
        $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
 
+/* Saved session stationery pad icon */
+resource 'ICN#' (FREF_Sesss, purgeable) {
+       {       /* array: 2 elements */
+               /* [1] */
+               $"3FFFFFE0 20000020 20400238 207FFE28"
+               $"20400228 20000028 2F555628 24000A28"
+               $"24403428 24004A28 24409028 24032A28"
+               $"24444428 2408FFA8 24700528 24401B28"
+               $"247E2128 24044328 24498128 24120328"
+               $"24250128 24588328 24A08128 2EEAAFE8"
+               $"20000848 20800888 20FFF908 20800A08"
+               $"20000C08 3FFFF808 08000008 0FFFFFF8",
+               /* [2] */
+               $"3FFFFFE0 3FFFFFE0 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 3FFFFFF8 3FFFFFF8"
+               $"3FFFFFF8 3FFFFFF8 0FFFFFF8 0FFFFFF8"
+       }
+};
+resource 'icl4' (FREF_Sesss, purgeable) {
+       $"00FFFFFFFFFFFFFFFFFFFFFFFFF00000"
+       $"00FC0C0C0C0C0C0C0C0C0C0C0CF00000"
+       $"00F0C0C0CFC0C0C0C0C0C0F0C0FFF000"
+       $"00FC0C0C0FFFFFFFFFFFFFFC0CFDF000"
+       $"00F0C0C0CFC0C0C0C0C0C0F0C0FDF000"
+       $"00FC0C0C0D0C0C0C0C0C0CDC0CFDF000"
+       $"00F0FFFDDDDDDDDDDDDDDFF0C0FDF000"
+       $"00FC0F0C0D0C0C0C0C0CF1FC0CFDF000"
+       $"00F0CFC0CDC0C0C0C0FF1FD0C0FDF000"
+       $"00FC0F0C0D0C0C0C0F11FCDC0CFDF000"
+       $"00F0CFC0CDC0C0C0F11FC0D0C0FDF000"
+       $"00FC0F0C0D0C0CFF11FCFCDC0CFDF000"
+       $"00F0CFC0CDC0CF111FC0CFD0C0FDF000"
+       $"00FC0F0C0D0CF111FFFFFFFFFCFDF000"
+       $"00F0CFC0CDFF111111111FDFC0FDF000"
+       $"00FC0F0C0F111111111FFCDF0CFDF000"
+       $"00F0CFC0CDFFFFF111F0C0DFC0FDF000"
+       $"00FC0F0C0D0C0F111F0C0CDF0CFDF000"
+       $"00F0CFC0C0C0F11FF0C0C0DFC0FDF000"
+       $"00FC0F0C0C0F11FC0C0C0CDF0CFDF000"
+       $"00F0CFC0C0F11FCFC0C0C0DFC0FDF000"
+       $"00FC0F0C0F1FFC0CFC0C0CDF0CFDF000"
+       $"00F0CFC0F1F0C0C0E0C0C0DFC0FDF000"
+       $"00FCFFFDFFDDDDDDEDDDFFFFFFFDF000"
+       $"00F0C0C0D0C0C0C0C0C0FCCCCFDDF000"
+       $"00FC0C0CFC0C0C0C0C0CFCCCFDDCF000"
+       $"00F0C0C0FFFFFFFFFFFFFCCFDDCCF000"
+       $"00FC0C0CFC0C0C0C0C0CFCFDDCCCF000"
+       $"00F0C0C0C0C0C0C0C0C0FFDDCCCCF000"
+       $"00FFFFFFFFFFFFFFFFFFFDDCCCCCF000"
+       $"0000FDDDDDDDDDDDDDDDDDCCCCCCF000"
+       $"0000FFFFFFFFFFFFFFFFFFFFFFFFF0"
+};
+resource 'icl8' (FREF_Sesss, purgeable) {
+       $"0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000"
+       $"0000FFF5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5FF0000000000"
+       $"0000FFF5F5F5F5F5F5FFF5F5F5F5F5F5F5F5F5F5F5F5FFF5F5F5FFFFFF000000"
+       $"0000FFF5F5F5F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F5F5FFF9FF000000"
+       $"0000FFF5F5F5F5F5F5FFF5F5F5F5F5F5F5F5F5F5F5F5FFF5F5F5FFF9FF000000"
+       $"0000FFF5F5F5F5F5F5F9F5F5F5F5F5F5F5F5F5F5F5F5F9F5F5F5FFF9FF000000"
+       $"0000FFF5FFFFFFF9F9F9F9F9F9F9F9F9F9F9F9F9F9FFFFF5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5F5F5F5F5F5F5F5FF05FFF5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5F5F5F5F5F5FFFF05FFF9F5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5F5F5F5F5FF0505FFF5F9F5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5F5F5F5FF0505FFF5F5F9F5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5F5FFFF0505FFF5FFF5F9F5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5FF050505FFF5F5F5FFF9F5F5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5FF050505FFFFFFFFFFFFFFFFFFF5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9FFFF050505050505050505FFF9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5FF050505050505050505FFFFF5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9FFFFFFFFFF050505FFF5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F9F5F5F5FF050505FFF5F5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F5F5F5FF0505FFFFF5F5F5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F5F5FF0505FFF5F5F5F5F5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5F5FF0505FFF5FFF5F5F5F5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5F5FF05FFFFF5F5F5FCF5F5F5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5F5FFF5F5FF05FFF5F5F5F5F5FCF5F5F5F5F5F9FFF5F5FFF9FF000000"
+       $"0000FFF5FFFFFFF9FFFFF9F9F9F9F9F9FCF9F9F9FFFFFFFFFFFFFFF9FF000000"
+       $"0000FFF5F5F5F5F5F9F5F5F5F5F5F5F5F5F5F5F5FF2B2B2BF7FFF9F7FF000000"
+       $"0000FFF5F5F5F5F5FFF5F5F5F5F5F5F5F5F5F5F5FF2B2BF7FFF9F72BFF000000"
+       $"0000FFF5F5F5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFF2BF7FFF9F72BF6FF000000"
+       $"0000FFF5F5F5F5F5FFF5F5F5F5F5F5F5F5F5F5F5FFF7FFF9F72BF6F6FF000000"
+       $"0000FFF5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5FFFFF9F72BF6F6F6FF000000"
+       $"0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F72BF6F6F6F6FF000000"
+       $"00000000FFF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F72BF6F6F6F6F6FF000000"
+       $"00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+};
+resource 'ics#' (FREF_Sesss, purgeable) {
+       {       /* array: 2 elements */
+               /* [1] */
+               $"7FF8 4008 756E 61AA 666A 688A 646A 698A"
+               $"762A 6A8A 507A 5FD2 4062 7FC2 1002 1FFE",
+               /* [2] */
+               $"7FF8 7FF8 7FFE 7FFE 7FFE 7FFE 7FFE 7FFE"
+               $"7FFE 7FFE 7FFE 7FFE 7FFE 7FFE 1FFE 1FFE"
+       }
+};
+resource 'ics4' (FREF_Sesss, purgeable) {
+       $"0FFFFFFFFFFFF000"
+       $"0FC0C0C0C0C0F000"
+       $"0FFDDDDDDFFCFFF0"
+       $"0FF0C0CFF1F0FDF0"
+       $"0FFC0FF11FDCFDF0"
+       $"0FF0F111F0D0FDF0"
+       $"0FFC0F111FDCFDF0"
+       $"0FF0F11FF0D0FDF0"
+       $"0FFF1FFC0CDCFDF0"
+       $"0FFCFDDDDDD0FDF0"
+       $"0F0F0C0C0FFFFDF0"
+       $"0FCFFFFFFFCFDDF0"
+       $"0F0C0C0C0FFDDCF0"
+       $"0FFFFFFFFFDDC0F0"
+       $"000FDDDDDDDC0CF0"
+       $"000FFFFFFFFFFFF0"
+};
+resource 'ics8' (FREF_Sesss, purgeable) {
+       $"00FFFFFFFFFFFFFFFFFFFFFFFF000000"
+       $"00FFF5F5F5F5F5F5F5F5F5F5FF000000"
+       $"00FFFFF9F9F9F9F9F9FFFFF5FFFFFF00"
+       $"00FFFFF5F5F5F5FFFF05FFF5FFF9FF00"
+       $"00FFFFF5F5FFFF0505FFF9F5FFF9FF00"
+       $"00FFFFF5FF050505FFF5F9F5FFF9FF00"
+       $"00FFFFF5F5FF050505FFF9F5FFF9FF00"
+       $"00FFFFF5FF0505FFFFF5F9F5FFF9FF00"
+       $"00FFFFFF05FFFFF5F5F5F9F5FFF9FF00"
+       $"00FFFFF8FFF9F9F9F9F9F9F5FFF9FF00"
+       $"00FFF5FFF5F5F5F5F5FFFFFFFFF9FF00"
+       $"00FFF5FFFFFFFFFFFFFF2BFFF9F9FF00"
+       $"00FFF5F5F5F5F5F5F5FFFFF9F9F5FF00"
+       $"00FFFFFFFFFFFFFFFFFFF9F9F5F5FF00"
+       $"000000FFF9F9F9F9F9F9F9F5F5F5FF00"
+       $"000000FFFFFFFFFFFFFFFFFFFFFFFF"
+};
+
 /* Known hosts icon */
 /* Known hosts icon */
-resource 'ICN#' (130, purgeable) {
+resource 'ICN#' (FREF_HKey, purgeable) {
        {       /* array: 2 elements */
                /* [1] */
                $"1FFFFC00 10000600 10000500 1FFFFC80"
        {       /* array: 2 elements */
                /* [1] */
                $"1FFFFC00 10000600 10000500 1FFFFC80"
@@ -425,7 +632,7 @@ resource 'ICN#' (130, purgeable) {
                $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
        }
 };
                $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
        }
 };
-resource 'icl4' (130, purgeable) {
+resource 'icl4' (FREF_HKey, purgeable) {
        $"000FFFFFFFFFFFFFFFFFFF0000000000"
        $"000F00000000000000000FF000000000"
        $"000F00000000000000000FCF00000000"
        $"000FFFFFFFFFFFFFFFFFFF0000000000"
        $"000F00000000000000000FF000000000"
        $"000F00000000000000000FCF00000000"
@@ -459,7 +666,7 @@ resource 'icl4' (130, purgeable) {
        $"000FC0C0C0C0C0C0C0C0C0C0C0CF0000"
        $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
 };
        $"000FC0C0C0C0C0C0C0C0C0C0C0CF0000"
        $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
 };
-resource 'icl8' (130, purgeable) {
+resource 'icl8' (FREF_HKey, purgeable) {
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
        $"000000FF0000000000000000000000000000000000FFFF000000000000000000"
        $"000000FF0000000000000000000000000000000000FFF6FF0000000000000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
        $"000000FF0000000000000000000000000000000000FFFF000000000000000000"
        $"000000FF0000000000000000000000000000000000FFF6FF0000000000000000"
@@ -496,7 +703,7 @@ resource 'icl8' (130, purgeable) {
 
 /* Random seed icon */
 
 
 /* Random seed icon */
 
-resource 'ICN#' (131, purgeable) {
+resource 'ICN#' (FREF_Seed, purgeable) {
        {       /* array: 2 elements */
                /* [1] */
                $"1FFFFC00 18F36600 161EF500 1CC92C80"
        {       /* array: 2 elements */
                /* [1] */
                $"1FFFFC00 18F36600 161EF500 1CC92C80"
@@ -518,7 +725,7 @@ resource 'ICN#' (131, purgeable) {
                $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
        }
 };
                $"1FFFFFF0 1FFFFFF0 1FFFFFF0 1FFFFFF0"
        }
 };
-resource 'icl4' (131) {
+resource 'icl4' (FREF_Seed) {
        $"000FFFFFFFFFFFFFFFFFFF0000000000"
        $"000FFC0CFFFF0CFF1FFC0FF000000000"
        $"000F0FF0C0CFFFF1FFFFCFCF00000000"
        $"000FFFFFFFFFFFFFFFFFFF0000000000"
        $"000FFC0CFFFF0CFF1FFC0FF000000000"
        $"000F0FF0C0CFFFF1FFFFCFCF00000000"
@@ -552,7 +759,7 @@ resource 'icl4' (131) {
        $"000FCFCFFFC0FFF0CFC0CFC0C0FF0000"
        $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
 };
        $"000FCFCFFFC0FFF0CFC0CFC0C0FF0000"
        $"000FFFFFFFFFFFFFFFFFFFFFFFFF"
 };
-resource 'icl8' (131) {
+resource 'icl8' (FREF_Seed) {
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
        $"000000FFFFF5F5F5FFFFFFFFF5F5FFFF05FFFFF5F5FFFF000000000000000000"
        $"000000FFF5FFFFF5F5F5F5FFFFFFFF05FFFFFFFFF5FF2BFF0000000000000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000"
        $"000000FFFFF5F5F5FFFFFFFFF5F5FFFF05FFFFF5F5FFFF000000000000000000"
        $"000000FFF5FFFFF5F5F5F5FFFFFFFF05FFFFFFFFF5FF2BFF0000000000000000"
@@ -586,7 +793,7 @@ resource 'icl8' (131) {
        $"000000FFF5FFF5FFFFFFF5F5FFFFFFF5F5FFF5F5F5FFF5F5F5F5FFFF00000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
        $"000000FFF5FFF5FFFFFFF5F5FFFFFFF5F5FFF5F5F5FFF5F5F5F5FFFF00000000"
        $"000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
-resource 'ics#' (131) {
+resource 'ics#' (FREF_Seed) {
        {       /* array: 2 elements */
                /* [1] */
                $"7FE0 56B0 59A8 637C 51DC 6794 59AC 76EC"
        {       /* array: 2 elements */
                /* [1] */
                $"7FE0 56B0 59A8 637C 51DC 6794 59AC 76EC"
@@ -596,7 +803,7 @@ resource 'ics#' (131) {
                $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
        }
 };
                $"7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC 7FFC"
        }
 };
-resource 'ics4' (131) {
+resource 'ics4' (FREF_Seed) {
        $"0FFFFFFFFFF00000"
        $"0F0F0FF1FCFF0000"
        $"0FCFF11FF0FCF000"
        $"0FFFFFFFFFF00000"
        $"0F0F0FF1FCFF0000"
        $"0FCFF11FF0FCF000"
@@ -614,7 +821,7 @@ resource 'ics4' (131) {
        $"0FC0CFC0C0F0CF00"
        $"0FFFFFFFFFFFFF"
 };
        $"0FC0CFC0C0F0CF00"
        $"0FFFFFFFFFFFFF"
 };
-resource 'ics8' (131) {
+resource 'ics8' (FREF_Seed) {
        $"00FFFFFFFFFFFFFFFFFFFF0000000000"
        $"00FFF5FFF5FFFF05FFF5FFFF00000000"
        $"00FFF5FFFF0505FFFFF5FF2BFF000000"
        $"00FFFFFFFFFFFFFFFFFFFF0000000000"
        $"00FFF5FFF5FFFF05FFF5FFFF00000000"
        $"00FFF5FFFF0505FFFFF5FF2BFF000000"
@@ -633,52 +840,34 @@ resource 'ics8' (131) {
        $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
 
        $"00FFFFFFFFFFFFFFFFFFFFFFFFFF"
 };
 
-resource 'vers' (1, purgeable) {
-    /* XXX This needs to be updated for each new version */
-    VERSION_MAJOR, VERSION_MINOR,
-#ifdef RELEASE
-    beta,
-#else
-    development,
-#endif
-    0, /* No prerelease version */
-    verBritain,
-#ifdef RELEASESTR
-    RELEASESTR,
-    "Release " RELEASESTR,
-#else
-#ifdef SNAPSHOTSTR
-    SNAPSHOTSTR,
-    "Development snapshot " SNAPSHOTSTR,
-#else
-    "unknown",
-    "Unidentified build, " $$Date " " $$Time,
-#endif
-#endif
+/*
+ * Resources to copy into created files
+ */
+
+/*
+ * Application-missing message string, for random seed and host key database
+ * files.
+ */
+resource 'STR ' (-16397, purgeable) {
+    "This file is used internally by PuTTY.  It cannot be opened."
 };
 
 };
 
-resource 'vers' (2, purgeable) {
-    /* XXX This needs to be updated for each new version */
-    VERSION_MAJOR, VERSION_MINOR,
-#ifdef RELEASE
-    beta,
-#else
-    development,
-#endif
-    0, /* No prerelease version */
-    verBritain,
-#ifdef RELEASESTR
-    RELEASESTR,
-    "PuTTY " RELEASESTR,
-#else
-#ifdef SNAPSHOTSTR
-    SNAPSHOTSTR,
-    "PuTTY snapshot " SNAPSHOTSTR,
-#else
-    "unknown",
-    "PuTTY",
-#endif
-#endif
+/* Missing-application name string, for saved sessions. */
+resource 'STR ' (-16396, purgeable) {
+    "PuTTY"
+};
+
+/* ResEdit template resource for saved sessions. */
+
+type 'TMPL' {
+    array {
+       pstring;
+       literal longint;
+    };
+};
+
+resource 'TMPL' (TMPL_Int, "Int ", purgeable) {
+    { "Value", 'DLNG' }
 };
 
 /*
 };
 
 /*
@@ -688,7 +877,7 @@ resource 'vers' (2, purgeable) {
 /* Menu bar */
 
 resource 'MBAR' (MBAR_Main, preload) {
 /* Menu bar */
 
 resource 'MBAR' (MBAR_Main, preload) {
-    { mApple, mFile, mEdit }
+    { mApple, mFile, mEdit, mWindow }
 };
 
 resource 'MENU' (mApple, preload) {
 };
 
 resource 'MENU' (mApple, preload) {
@@ -706,13 +895,17 @@ resource 'MENU' (mApple, preload) {
 resource 'MENU' (mFile, preload) {
     mFile,
     textMenuProc,
 resource 'MENU' (mFile, preload) {
     mFile,
     textMenuProc,
-    0b11111111111111111111111111110111,
+    0b11111111111111111111111101111011,
     enabled,
     "Session",
     {
        "New",                  noicon, "N",   nomark, plain,
        "Open\0xc9",            noicon, "O",   nomark, plain,
     enabled,
     "Session",
     {
        "New",                  noicon, "N",   nomark, plain,
        "Open\0xc9",            noicon, "O",   nomark, plain,
+       "-",                    noicon, nokey, nomark, plain,
        "Close",                noicon, "W",   nomark, plain,
        "Close",                noicon, "W",   nomark, plain,
+       "Save",                 noicon, "S",   nomark, plain,
+       "Save As\0xc9",         noicon, nokey, nomark, plain,
+       "Duplicate",            noicon, "D",   nomark, plain,
        "-",                    noicon, nokey, nomark, plain,
        "Quit",                 noicon, "Q",   nomark, plain,
     }
        "-",                    noicon, nokey, nomark, plain,
        "Quit",                 noicon, "Q",   nomark, plain,
     }
@@ -735,6 +928,17 @@ resource 'MENU' (mEdit, preload) {
     }
 };
 
     }
 };
 
+resource 'MENU' (mWindow, preload) {
+    mWindow,
+    textMenuProc,
+    0b11111111111111111111111111111111,
+    enabled,
+    "Window",
+    {
+       "Show Event Log",       noicon, nokey, nomark, plain,
+    }
+};
+
 /* Fatal error box.  Stolen from the Finder. */
 
 resource 'ALRT' (wFatal, "fatalbox", purgeable) {
 /* Fatal error box.  Stolen from the Finder. */
 
 resource 'ALRT' (wFatal, "fatalbox", purgeable) {
@@ -767,6 +971,38 @@ resource 'DITL' (wFatal, "fatalbox", purgeable) {
        }
 };
 
        }
 };
 
+/* Caution box.  Stolen from the Finder. */
+
+resource 'ALRT' (wQuestion, "questionbox", purgeable) {
+       {54, 67, 152, 435},
+       wQuestion,
+       beepStages,
+       alertPositionMainScreen
+};
+
+resource 'DITL' (wQuestion, "fatalbox", purgeable) {
+       {       /* array DITLarray: 3 elements */
+               /* [1] */
+               {68, 299, 88, 358},
+               Button {
+                       enabled,
+                       "OK"
+               },
+               /* [2] */
+               {68, 227, 88, 286},
+               Button {
+                       enabled,
+                       "Cancel"
+               },
+               /* [3] */
+               {7, 74, 55, 358},
+               StaticText {
+                       disabled,
+                       "^0"
+               }
+       }
+};
+
 /* Terminal window */
 
 resource 'WIND' (wTerminal, "terminal", purgeable) {
 /* Terminal window */
 
 resource 'WIND' (wTerminal, "terminal", purgeable) {
@@ -811,6 +1047,17 @@ resource 'DITL' (wSettings, "settings", purgeable) {
     }
 };        
 
     }
 };        
 
+/* Event log */
+resource 'WIND' (wEventLog, "event log", purgeable) {
+    { 0, 0, 200, 200 },
+    zoomDocProc,
+    invisible,
+    goAway,
+    0x0,
+    "PuTTY Event Log",
+    staggerParentWindowScreen
+};
+
 /* "About" box */
 
 resource 'DLOG' (wAbout, "about", purgeable) {
 /* "About" box */
 
 resource 'DLOG' (wAbout, "about", purgeable) {
@@ -863,7 +1110,7 @@ resource 'TEXT' (wLicence, "licence", purgeable) {
     "\n"
     "Portions copyright Robert de Bath, Joris van Rantwijk, Delian"
     "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry,"
     "\n"
     "Portions copyright Robert de Bath, Joris van Rantwijk, Delian"
     "Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry,"
-    "Justin Bradford, and CORE SDI S.A.\n"
+    "Justin Bradford, Ben Harris, and CORE SDI S.A.\n"
     "\n"    
     "Permission is hereby granted, free of charge, to any person "
     "obtaining a copy of this software and associated documentation "
     "\n"    
     "Permission is hereby granted, free of charge, to any person "
     "obtaining a copy of this software and associated documentation "