-
Notifications
You must be signed in to change notification settings - Fork 2
files core monitor weathertouchbaritem swift 83049a5c
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/WeatherTouchBarItem.swift |
| Wiki area | Touch Bar and Pock widget runtime |
| Exists in current checkout | True |
| Size | 1543 bytes |
| Binary | False |
| Line count | 62 |
| Extension | .swift |
AppKit, Combine
| Kind | Name | Line |
|---|---|---|
| extension | NSTouchBarItem.Identifier |
8 |
| extension | Notification.Name |
14 |
| class | WeatherTouchBarItem |
20 |
| func | bindViewModel |
43 |
| func | handleTap |
56 |
| Commit | Date | Subject |
|---|---|---|
011232b |
2026-04-11 | Update website install video |
- 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.
// WeatherTouchBarItem.swift
// Core-Monitor
import AppKit
import Combine
// MARK: - Identifier
extension NSTouchBarItem.Identifier {
static let weather = NSTouchBarItem.Identifier("com.coremon.touchbar.weather")
}
// MARK: - Notification
extension Notification.Name {
static let weatherTouchBarTapped = Notification.Name("com.coremon.weatherTouchBarTapped")
}
// MARK: - Item
final class WeatherTouchBarItem: NSCustomTouchBarItem {
private let weatherView = WeatherTouchBarView(frame: .zero)
private var viewModel: WeatherViewModel
private var cancellables = Set<AnyCancellable>()
// MARK: Init
init(viewModel: WeatherViewModel) {
self.viewModel = viewModel
super.init(identifier: .weather)
// Touch Bar height is always 30pt
weatherView.frame = NSRect(x: 0, y: 0, width: 140, height: 30)
view = weatherView
bindViewModel()
}
required init?(coder: NSCoder) { fatalError("init(coder:) not implemented") }
- 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