|
|
@@ -63,7 +63,8 @@ final class StatusBarController: NSObject {
|
|
63
|
63
|
menu.addItem(empty)
|
|
64
|
64
|
} else {
|
|
65
|
65
|
for meeting in topMeetings {
|
|
66
|
|
- let title = "\(meeting.timeText) \(meeting.title)"
|
|
|
66
|
+ let titleText = truncatedMeetingTitle(meeting.title)
|
|
|
67
|
+ let title = "\(meeting.timeText) \(titleText)"
|
|
67
|
68
|
let item = NSMenuItem(title: title, action: #selector(meetingClicked(_:)), keyEquivalent: "")
|
|
68
|
69
|
item.target = self
|
|
69
|
70
|
item.representedObject = meeting.joinLink
|
|
|
@@ -140,6 +141,12 @@ final class StatusBarController: NSObject {
|
|
140
|
141
|
}
|
|
141
|
142
|
}
|
|
142
|
143
|
|
|
|
144
|
+ private func truncatedMeetingTitle(_ title: String) -> String {
|
|
|
145
|
+ let trimmed = title.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
|
146
|
+ guard trimmed.count > 10 else { return trimmed }
|
|
|
147
|
+ return "\(trimmed.prefix(10))..."
|
|
|
148
|
+ }
|
|
|
149
|
+
|
|
143
|
150
|
private func addOpenSidebarItem(title: String, pageRaw: Int, to menu: NSMenu) {
|
|
144
|
151
|
let item = NSMenuItem(title: title, action: #selector(openSidebarPageClicked(_:)), keyEquivalent: "")
|
|
145
|
152
|
item.target = self
|