         c.dataSource = self
         c.delegate = self
         c.backgroundColors = [.clear]
-        c.selectionType = .none
+        c.selectionType = .one
+        
+        c.registerForDraggedTypes([.png, .string, .filePromise])
+        c.setDraggingSourceOperationMask([.copy], forLocal: true)
+        c.setDraggingSourceOperationMask([.copy], forLocal: false)
         
         let l = NSCollectionViewFlowLayout()//NSCollectionViewListLayout()
         //l.globalSections = (32, 0)

                let idxs = (0..<(self.dataSource.count - count)).map {
                    IndexPath(item: $0, section: 0)
                }
                self.collectionView.insertItems(at: Set(idxs))
                self.updateToken = false
            }
        }

    
    public func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, referenceSizeForFooterInSection section: Int) -> NSSize {
        return .zero
    }
    
    public func collectionView(_ collectionView: NSCollectionView, canDragItemsAt indexPaths: Set<IndexPath>, with event: NSEvent) -> Bool {
        return true
    }
    
    public func collectionView(_ collectionView: NSCollectionView, pasteboardWriterForItemAt indexPath: IndexPath) -> NSPasteboardWriting? {
        switch self.dataSource[indexPath.item].content {
        case .image(let data, _):
            return NSImage(data: data)
        case .text(let text):
            return text as NSString
        default:
            return nil
        }
    }
    
    //
