         didSet {
             let hideTitle = autoHideTitlePreference != .never
 
+            //  treat webURL titles specially
             if let url = panel.representedURL, !url.isFileURL, url.absoluteString != UserSettings.HomePageURL.value {
-                panel.titleVisibility = .hidden
-                titleDragButton?.isBordered = false
-                titleDragButton?.needsDisplay = true
+                NSAnimationContext.runAnimationGroup({ (context) in
+                    context.duration = 0.1
+                    panel.animator().titleVisibility = mouseOver ? .visible : .hidden
+                    titleDragButton?.animator().isBordered = mouseOver
+                    titleDragButton?.animator().layer?.backgroundColor = mouseOver ? NSColor(hex: 0x3399FF).cgColor : NSColor.clear.cgColor
+                    titleDragButton?.animator().isTransparent = mouseOver
+                })
                 return
             }
             
             if let window = self.webView?.window {
-                if autoHideTitlePreference == .outside {
-                    window.titleVisibility =
-                        (autoHideTitlePreference != .never)
-                            ? mouseOver ? .visible : .hidden
-                            : .visible
-                    titleDragButton?.isHidden = !mouseOver
-                    titleDragButton?.isBordered = mouseOver
-                    titleDragButton?.needsDisplay = true
-                }
-                else
-                {
-                    window.titleVisibility = .visible
-                    titleDragButton?.isHidden = false
-                    titleDragButton?.isBordered = true
-                    titleDragButton?.needsDisplay = true
-                }
+                NSAnimationContext.runAnimationGroup({ (context) in
+                    context.duration = 0.1
+
+                    if autoHideTitlePreference == .outside {
+                        window.animator().titleVisibility =
+                            (autoHideTitlePreference != .never)
+                                ? mouseOver ? .visible : .hidden : .visible
+                        titleDragButton?.animator().isHidden = !mouseOver
+                        titleDragButton?.animator().isBordered = mouseOver
+                    }
+                    else
+                    {
+                        window.animator().titleVisibility = .visible
+                        titleDragButton?.animator().isHidden = false
+                        titleDragButton?.animator().isBordered = true
+                    }
+
+                })
             }
             updateTranslucency()
             

        let newTitlePref = HeliumPanelController.AutoHideTitlePreference(rawValue: sender.tag)!

        //  Make sure queue affects are immediately effective
        if autoHideTitlePreference == .outside {
            titleDragButton?.isTransparent = false
            titleDragButton?.isBordered = true
            titleDragButton?.needsDisplay = true
        }
        else
        {
            titleDragButton?.isTransparent = true
            titleDragButton?.isBordered = false
            titleDragButton?.needsDisplay = true
        }
        
        //  Presume false so our action result is immediate
        autoHideTitlePreference = newTitlePref

        updateTitleBar(didChange: true)
        cacheSettings()
    }
    

    @objc func updateTitleBar(didChange: Bool) {
        
        if let url = window?.representedURL, !url.isFileURL, url.absoluteString != UserSettings.HomePageURL.value {
            
            NSAnimationContext.runAnimationGroup({ (context) in
                context.duration = 0.1

                panel.animator().titleVisibility = .hidden
                titleDragButton?.animator().isTransparent = true
                titleDragButton?.animator().isBordered = false
                if let docIconButton = panel.standardWindowButton(.documentIconButton) {
                    docIconButton.animator().isHidden = true
                }
            })
            return
        }
        
        if didChange {
            NSAnimationContext.runAnimationGroup({ (context) in
                context.duration = 0.1

                if autoHideTitlePreference != .never && !mouseOver {
                    panel.animator().titleVisibility = .hidden
                    titleView?.animator().isHidden = true
                    titleDragButton?.animator().isTransparent = true
                    titleDragButton?.animator().isBordered = false
                } else {
                    panel.animator().titleVisibility = .visible
                    titleView?.animator().isHidden = false
                    titleDragButton?.animator().isTransparent = false
                    titleDragButton?.animator().isBordered = true
                }
            })
        }
        docIconVisibility(autoHideTitlePreference == .never || translucencyPreference == .never)
    }
