             self,
             selector: #selector(WebViewController.snapshot(_:)),
             name: NSNotification.Name(rawValue: "HeliumSnapshotAll"),
-            object: nil)/*
+            object: nil)
+        
+        //  Watch command key changes
+        NotificationCenter.default.addObserver(
+            self,
+            selector: #selector(WebViewController.commandKeyDown(_:)),
+            name: NSNotification.Name(rawValue: "commandKeyDown"),
+            object: nil)
+
+        //  Watch option + command key changes
+        NotificationCenter.default.addObserver(
+            self,
+            selector: #selector(WebViewController.optionAndCommandKeysDown(_:)),
+            name: NSNotification.Name(rawValue: "optionAndCommandKeysDown"),
+            object: nil)
+        /*
         NotificationCenter.default.addObserver(
             self,
             selector: #selector(avPlayerView(_:)),

                                     title: "Web Search",
                                     acceptHandler: { (newWindow: Bool, searchURL: URL) in
                                        if viewOptions.contains(.t_view) {
                                            _ = self.appDelegate.openURLInNewWindow(searchURL, attachTo: window)
                                        }
                                        else
                                        if viewOptions.contains(.w_view) {
                                            _ = self.appDelegate.openURLInNewWindow(searchURL)
                                        }
                                        else
                                        {

            {
                _ = loadURL(url: newUrl)
            }
        }
        
        Swift.print("navType: \(navigationAction.navigationType.name)")
        
        decisionHandler(WKNavigationActionPolicy.allow)
    }
    /*  OPTIONAL @available(OSX 10.15, *)
     /** @abstract Decides whether to allow or cancel a navigation after its
     response is known.
     @param webView The web view invoking the delegate method.
     @param navigationResponse Descriptive information about the navigation
     response.
     @param decisionHandler The decision handler to call to allow or cancel the
     navigation. The argument is one of the constants of the enumerated type WKNavigationResponsePolicy.
     @discussion If you do not implement this method, the web view will allow the response, if the web view can show it.
     */
    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, preferences: WKWebpagePreferences, decisionHandler: @escaping (WKNavigationActionPolicy, WKWebpagePreferences) -> Void) {
    }
    */
    var quickLookURL : URL?
    var quickLookFilename: String?
    func numberOfPreviewItems(in panel: QLPreviewPanel!) -> Int { return 1 }
    func previewPanel(_ panel: QLPreviewPanel!, previewItemAt index: Int) -> QLPreviewItem! {
        let url = quickLookURL ?? FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent(quickLookFilename!)
        return url as QLPreviewItem
    }

    func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
        guard let response = navigationResponse.response as? HTTPURLResponse,
            let url = navigationResponse.response.url else {
                decisionHandler(.allow)
                return
        }
        
        Swift.print(String(format: "1DP navigationResponse: %p <= %@", webView, url.absoluteString))
        
        //  load cookies
        if #available(OSX 10.13, *) {
            if let headerFields = response.allHeaderFields as? [String:String] {
