-
Notifications
You must be signed in to change notification settings - Fork 2
files core monitor nowplayingtouchbarview swift 36cf82a2
ventaphobia edited this page Apr 23, 2026
·
1 revision
- Area: Touch Bar and Pock widget runtime.
- This page records the file's current repository role, source metadata, and recent commit history.
- Review nearby tests and commit pages before changing this file.
| Field | Value |
|---|---|
| Source path | Core-Monitor/NowPlayingTouchBarView.swift |
| Wiki area | Touch Bar and Pock widget runtime |
| Exists in current checkout | True |
| Size | 5491 bytes |
| Binary | False |
| Line count | 169 |
| Extension | .swift |
AppKit, MediaPlayer
| Kind | Name | Line |
|---|---|---|
| class | NowPlayingTouchBarView |
3 |
| func | setup |
29 |
| func | updateFromNowPlaying |
58 |
| func | currentNowPlayingInfo |
77 |
| func | musicAppNowPlayingInfo |
86 |
| func | clean |
120 |
| func | placeholderArtwork |
126 |
| func | applyTheme |
164 |
| Commit | Date | Subject |
|---|---|---|
4db7203 |
2026-04-16 | Reduce redundant Touch Bar and menu refresh work |
2664fd1 |
2026-04-11 | Update Core Monitor |
- Prefer focused changes that respect the ownership described above.
- If this file touches helper trust, SMC writes, startup, or permissions, update the relevant support docs and tests.
- If this file is generated or an asset manifest, verify the producing workflow instead of hand-editing generated payloads.
import AppKit
import MediaPlayer
final class NowPlayingTouchBarView: NSView, TouchBarThemable {
var theme: TouchBarTheme = .dark {
didSet { applyTheme() }
}
private let artworkView = NSImageView(frame: .zero)
private let titleLabel = NSTextField(labelWithString: "Now Playing")
private var refreshTimer: Timer?
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
setup()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setup()
}
deinit {
NotificationCenter.default.removeObserver(self)
refreshTimer?.invalidate()
refreshTimer = nil
}
private func setup() {
wantsLayer = false
artworkView.wantsLayer = true
artworkView.layer?.cornerRadius = 6
artworkView.layer?.masksToBounds = true
artworkView.imageScaling = .scaleProportionallyUpOrDown
artworkView.image = placeholderArtwork()
titleLabel.font = NSFont.systemFont(ofSize: 12, weight: .semibold)
titleLabel.lineBreakMode = .byTruncatingTail
- Home
- Start Here
- Product Overview
- Runtime Architecture
- Monitoring Pipeline
- Fan Control
- Privileged Helper
- Touch Bar
- Release Automation
- Security Model
- File Index (279)
- Every Commit (401)
- Chronological Change Log
- Removed Parts
- All Deleted Paths
- Branches And Tags
- Wiki Manifest
- Start Here
- Product Overview
- Source Map
- Runtime Architecture
- App Startup And Lifecycle
- Dashboard Architecture
- Menu Bar Architecture
- Monitoring Pipeline
- Snapshot Trends And Freshness
- CPU GPU Memory Disk Network
- Battery Power And Thermals
- SMC And Apple Silicon
- Fan Control
- Custom Fan Curves
- Privileged Helper
- XPC Trust Boundary
- Helper Diagnostics
- Touch Bar Architecture
- Touch Bar Customization
- Weather And Location
- Privacy And Permissions
- Onboarding And Help
- Legacy Alerts
- Kernel Panic Weird Mode