     }
 
     var historyCache: PlayList = PlayList.init(name: UserSettings.HistoryName.value,
-                                               list: [PlayItem]())
+                                                 list: [PlayItem]())
+    
     override func viewWillAppear() {
-
         //  Leave non-global extractions contents intact
         if let url = self.view.window?.windowController?.document?.fileURL, url?.isFileURL ?? false, url?.pathExtension == k.h3w {
+            
+            //  update window close button with url as tooltip
+            if let titleView = self.view.window?.standardWindowButton(.closeButton)?.superview {
+                titleView.toolTip = url?.absoluteString.removingPercentEncoding
+            }
+        }
+        else
+        {
             //  For global playlists, load shared by all; app delegate keeps history
             self.restorePlaylists(nil)
             

            
            if let fileURL = NewFileURLForWriting(path: dropDestination.path, name: name, type: k.h3w) {
                var dict = Dictionary<String,[AnyObject]>()
                dict[k.playitems] = items
                dict[k.playlists] = [name as AnyObject]
                dict[name] = items
                (dict as NSDictionary).write(to: fileURL, atomically: true)
            }

    }

    func tableView(_ tableView: NSTableView, namesOfPromisedFilesDroppedAtDestination dropDestination: URL, forDraggedRowsWith indexSet: IndexSet) -> [String] {
        var dict = Dictionary<String,[Any]>()
        var names : [String] = [String]()
        let count = indexSet.count
        
        //	Always marshall an array regardless of count
        if tableView == playlistTableView {
            let objects: [PlayList] = playlistArrayController.arrangedObjects as! [PlayList]
            var promise : String!

            for (i,index) in indexSet.enumerated() {
                if i == 0 {
                    promise = String(format: "%@%@", objects[index].name,
                                     count > 2 ? String(format: "+%d", (count - 1)) : "")
                }
                let playlist = objects[index]
                var items: [Any] = [Any]()
                let name = playlist.name
