32 lines
614 B
Swift
32 lines
614 B
Swift
|
//
|
||
|
// DockBadge.swift
|
||
|
// Evergreen
|
||
|
//
|
||
|
// Created by Brent Simmons on 10/5/17.
|
||
|
// Copyright © 2017 Ranchero Software. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import Foundation
|
||
|
import RSCore
|
||
|
|
||
|
@objc final class DockBadge: NSObject {
|
||
|
|
||
|
weak var appDelegate: AppDelegate?
|
||
|
|
||
|
func update() {
|
||
|
|
||
|
rs_performSelectorCoalesced(#selector(updateBadge), with: nil, afterDelay: 0.01)
|
||
|
}
|
||
|
|
||
|
@objc dynamic func updateBadge() {
|
||
|
|
||
|
guard let appDelegate = appDelegate else {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
let unreadCount = appDelegate.unreadCount
|
||
|
let label = unreadCount > 0 ? "\(unreadCount)" : ""
|
||
|
NSApplication.shared.dockTile.badgeLabel = label
|
||
|
}
|
||
|
}
|