Turn #ifdef LOG into a command-line option for debugging use
[u/mdw/putty] / window.c
index c7c652b..703dec3 100644 (file)
--- a/window.c
+++ b/window.c
@@ -129,6 +129,11 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) {
                tolower(p[2]) == 'h') {
                default_protocol = cfg.protocol = PROT_SSH;
                default_port = cfg.port = 22;
+           } else if (q == p + 3 &&
+               tolower(p[0]) == 'l' &&
+               tolower(p[1]) == 'o' &&
+               tolower(p[2]) == 'g') {
+                logfile = "putty.log";
            }
            p = q + strspn(q, " \t");
        }
@@ -310,6 +315,11 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) {
     inbuf_reap = inbuf_head = 0;
     outbuf_reap = outbuf_head = 0;
 
+    /* 
+     * Choose unscroll method
+     */
+    unscroll_event = US_DISP;
+
     /*
      * Prepare the mouse handler.
      */
@@ -1225,6 +1235,14 @@ static int TranslateKey(WPARAM wParam, LPARAM lParam, unsigned char *output) {
     ret = GetKeyboardState(keystate);
 
     /* 
+     * Record that we pressed key so the scroll window can be reset, but
+     * be careful to avoid Shift-UP/Down
+     */
+    if( wParam != VK_SHIFT && wParam != VK_PRIOR && wParam != VK_NEXT ) {
+        seen_key_event = 1; 
+    }
+
+    /* 
      * Windows does not always want to distinguish left and right
      * Alt or Control keys. Thus we keep track of them ourselves.
      * See also the WM_KEYUP handler.