Double-clicking on the Pageant systray icon now brings up the key list
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 25 Sep 2000 10:50:54 +0000 (10:50 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 25 Sep 2000 10:50:54 +0000 (10:50 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@622 cda61777-01e9-0310-a592-d414129be87e

pageant.c

index 978751a..09ef17e 100644 (file)
--- a/pageant.c
+++ b/pageant.c
@@ -421,6 +421,9 @@ static LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
             POINT cursorpos;
             GetCursorPos(&cursorpos);
             PostMessage(hwnd, WM_SYSTRAY2, cursorpos.x, cursorpos.y);
+        } else if (lParam == WM_LBUTTONDBLCLK) {
+            /* Equivalent to IDM_VIEWKEYS. */
+            PostMessage(hwnd, WM_COMMAND, IDM_VIEWKEYS, 0);
         }
         break;
       case WM_SYSTRAY2:
@@ -445,6 +448,13 @@ static LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
                 keylist = CreateDialog (instance, MAKEINTRESOURCE(211),
                                         NULL, KeyListProc);
                 ShowWindow (keylist, SW_SHOWNORMAL);
+                /* 
+                 * Sometimes the window comes up minimised / hidden
+                 * for no obvious reason. Prevent this.
+                 */
+                SetForegroundWindow(keylist);
+                SetWindowPos (keylist, HWND_TOP, 0, 0, 0, 0,
+                              SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
             }
             break;
         }