From c1d6cfc2b59b2ce4f1ebf235397cdf43a4292996 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 24 Jun 2026 20:41:45 +0800
Subject: [PATCH] Release 8.0.1 dark glass themes

---
 src/Apptag/TagNavigationView.swift |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/Apptag/TagNavigationView.swift b/src/Apptag/TagNavigationView.swift
index 449895d..9086a96 100644
--- a/src/Apptag/TagNavigationView.swift
+++ b/src/Apptag/TagNavigationView.swift
@@ -21,6 +21,7 @@
     let appDragModeActive: Bool
     let appDropTargetID: String?
     let onActivate: (String) -> Void
+    let onDoubleActivate: (String) -> Void
     let onHoverChange: (String, Bool) -> Void
     let canReorder: (String) -> Bool
     let canAcceptAppDrop: (String) -> Bool
@@ -41,6 +42,7 @@
             appDragModeActive: appDragModeActive,
             appDropTargetID: appDropTargetID,
             onActivate: onActivate,
+            onDoubleActivate: onDoubleActivate,
             onHoverChange: onHoverChange,
             canReorder: canReorder,
             canAcceptAppDrop: canAcceptAppDrop,
@@ -63,6 +65,7 @@
             appDragModeActive: appDragModeActive,
             appDropTargetID: appDropTargetID,
             onActivate: onActivate,
+            onDoubleActivate: onDoubleActivate,
             onHoverChange: onHoverChange,
             canReorder: canReorder,
             canAcceptAppDrop: canAcceptAppDrop,
@@ -100,6 +103,7 @@
         appDragModeActive: Bool,
         appDropTargetID: String?,
         onActivate: @escaping (String) -> Void,
+        onDoubleActivate: @escaping (String) -> Void,
         onHoverChange: @escaping (String, Bool) -> Void,
         canReorder: @escaping (String) -> Bool,
         canAcceptAppDrop: @escaping (String) -> Bool,
@@ -118,6 +122,7 @@
             appDragModeActive: appDragModeActive,
             appDropTargetID: appDropTargetID,
             onActivate: onActivate,
+            onDoubleActivate: onDoubleActivate,
             onHoverChange: onHoverChange,
             canReorder: canReorder,
             canAcceptAppDrop: canAcceptAppDrop,
@@ -170,6 +175,7 @@
     private var appDragModeActive = false
     private var appDropTargetID: String?
     private var onActivate: (String) -> Void = { _ in }
+    private var onDoubleActivate: (String) -> Void = { _ in }
     private var onHoverChange: (String, Bool) -> Void = { _, _ in }
     private var canReorder: (String) -> Bool = { _ in false }
     private var canAcceptAppDrop: (String) -> Bool = { _ in false }
@@ -190,6 +196,7 @@
         appDragModeActive: Bool,
         appDropTargetID: String?,
         onActivate: @escaping (String) -> Void,
+        onDoubleActivate: @escaping (String) -> Void,
         onHoverChange: @escaping (String, Bool) -> Void,
         canReorder: @escaping (String) -> Bool,
         canAcceptAppDrop: @escaping (String) -> Bool,
@@ -210,6 +217,7 @@
         self.appDragModeActive = appDragModeActive
         self.appDropTargetID = appDropTargetID
         self.onActivate = onActivate
+        self.onDoubleActivate = onDoubleActivate
         self.onHoverChange = onHoverChange
         self.canReorder = canReorder
         self.canAcceptAppDrop = canAcceptAppDrop
@@ -261,6 +269,7 @@
         buttons = items.map { item in
             let button = TagNavigationButton(item: item, orientation: orientation)
             button.onActivate = { [weak self] tagID in self?.onActivate(tagID) }
+            button.onDoubleActivate = { [weak self] tagID in self?.onDoubleActivate(tagID) }
             button.onHoverChange = { [weak self] tagID, active in self?.onHoverChange(tagID, active) }
             button.canReorder = { [weak self] tagID in self?.canReorder(tagID) ?? false }
             button.onReorderBegan = { [weak self] tagID in self?.onReorderBegan(tagID) }
@@ -348,6 +357,7 @@
 
 final class TagNavigationButton: NSButton, AppDropTargetReceivingView {
     var onActivate: (String) -> Void = { _ in }
+    var onDoubleActivate: (String) -> Void = { _ in }
     var onHoverChange: (String, Bool) -> Void = { _, _ in }
     var canReorder: (String) -> Bool = { _ in false }
     var onReorderBegan: (String) -> Void = { _ in }
@@ -475,6 +485,11 @@
     }
 
     override func mouseDown(with event: NSEvent) {
+        if event.clickCount >= 2 {
+            onDoubleActivate(item.id)
+            return
+        }
+
         guard canReorder(item.id) else {
             onActivate(item.id)
             return

--
Gitblit v1.9.3