← back to Ticket System
Track ticket tile mouse drags
ae36a776b012fc428af7c4528e255b31cf7a4b21 · 2026-09-02 14:49:01 -0700 · Steve Abrams
Files touched
M desktop-bar/TicketBar.swift
Diff
commit ae36a776b012fc428af7c4528e255b31cf7a4b21
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Sep 2 14:49:01 2026 -0700
Track ticket tile mouse drags
---
desktop-bar/TicketBar.swift | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/desktop-bar/TicketBar.swift b/desktop-bar/TicketBar.swift
index 5c7cceed..9e425a3d 100644
--- a/desktop-bar/TicketBar.swift
+++ b/desktop-bar/TicketBar.swift
@@ -44,10 +44,17 @@ private final class BarTile: NSButton {
}
required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") }
- override func mouseDown(with event: NSEvent) { dragged = false; super.mouseDown(with: event) }
- override func mouseDragged(with event: NSEvent) {
- dragged = true
- dragHandler?(key, event.locationInWindow.x)
+ override func mouseDown(with event: NSEvent) {
+ dragged = false
+ let start = event.locationInWindow
+ while let next = window?.nextEvent(matching: [.leftMouseDragged, .leftMouseUp]) {
+ if next.type == .leftMouseUp { break }
+ if abs(next.locationInWindow.x - start.x) > 3 {
+ dragged = true
+ dragHandler?(key, next.locationInWindow.x)
+ }
+ }
+ if !dragged { showDropdown() }
}
@objc private func showDropdown() {
guard !dragged, let menu = menuProvider?() else { return }
← dc0248ea Use accessible buttons for ticket tiles
·
back to Ticket System
·
Accept direct ticket tile gestures 617aefbc →