         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
-        }
-        
+        NSAnimationContext.runAnimationGroup({ (context) in
+            let outside = autoHideTitlePreference == .outside
+            context.duration = 0.1
+
+            titleDragButton?.animator().isTransparent = !outside
+            titleDragButton?.animator().isBordered = outside
+        })
+
         //  Presume false so our action result is immediate
         autoHideTitlePreference = newTitlePref
 
-        updateTitleBar(didChange: true)
         cacheSettings()
     }
     

        didSet {
            let hideTitle = autoHideTitlePreference != .never

            if let url = panel.representedURL, !url.isFileURL, url.absoluteString != UserSettings.HomePageURL.value {
                panel.titleVisibility = .hidden
                titleDragButton?.isBordered = false
                titleDragButton?.needsDisplay = true
                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
                }
            }
            updateTranslucency()
            

    @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)
    }
