diff --git a/MTMR/Info.plist b/MTMR/Info.plist
index 71da62c..86379f7 100644
--- a/MTMR/Info.plist
+++ b/MTMR/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
0.20.3
CFBundleVersion
- 220
+ 223
LSApplicationCategoryType
public.app-category.utilities
LSMinimumSystemVersion
diff --git a/MTMR/Widgets/AppScrubberTouchBarItem.swift b/MTMR/Widgets/AppScrubberTouchBarItem.swift
index e9fb8ac..7b28da4 100644
--- a/MTMR/Widgets/AppScrubberTouchBarItem.swift
+++ b/MTMR/Widgets/AppScrubberTouchBarItem.swift
@@ -32,6 +32,9 @@ class AppScrubberTouchBarItem: NSCustomTouchBarItem, NSScrubberDelegate, NSScrub
convenience override init(identifier: NSTouchBarItem.Identifier) {
self.init(identifier: identifier, autoResize: false)
}
+
+ static var iconWidth = 36
+ static var spacingWidth = 2
init(identifier: NSTouchBarItem.Identifier, autoResize: Bool) {
super.init(identifier: identifier)
@@ -42,8 +45,8 @@ class AppScrubberTouchBarItem: NSCustomTouchBarItem, NSScrubberDelegate, NSScrub
scrubber.dataSource = self
scrubber.mode = .free // .fixed
let layout = NSScrubberFlowLayout()
- layout.itemSize = NSSize(width: 36, height: 32)
- layout.itemSpacing = 2
+ layout.itemSize = NSSize(width: AppScrubberTouchBarItem.iconWidth, height: 32)
+ layout.itemSpacing = CGFloat(AppScrubberTouchBarItem.spacingWidth)
scrubber.scrubberLayout = layout
scrubber.selectionBackgroundStyle = .roundedBackground
scrubber.showsAdditionalContentIndicators = true
@@ -84,10 +87,18 @@ class AppScrubberTouchBarItem: NSCustomTouchBarItem, NSScrubberDelegate, NSScrub
applications = newApplications
applications += getDockPersistentAppsList()
+ updateSize()
scrubber.reloadData()
scrubber.selectedIndex = index ?? 0
}
+
+ func updateSize() {
+ if self.autoResize {
+ let width = (AppScrubberTouchBarItem.iconWidth + AppScrubberTouchBarItem.spacingWidth) * self.applications.count - AppScrubberTouchBarItem.spacingWidth
+ self.setWidth(value: CGFloat(width))
+ }
+ }
public func numberOfItems(for _: NSScrubber) -> Int {
return applications.count