Update window border.
This commit is contained in:
@@ -86,14 +86,6 @@ func systemImage(_ name: String, _ size: NSFont.TextStyle, _ scale: NSImage.Symb
|
|||||||
.withSymbolConfiguration(NSImage.SymbolConfiguration(textStyle: size, scale: scale).applying(configuration))
|
.withSymbolConfiguration(NSImage.SymbolConfiguration(textStyle: size, scale: scale).applying(configuration))
|
||||||
}
|
}
|
||||||
|
|
||||||
func isDirectory(atPath path: String) -> Bool {
|
|
||||||
var isDir: ObjCBool = false
|
|
||||||
if FileManager.default.fileExists(atPath: path, isDirectory: &isDir) {
|
|
||||||
return isDir.boolValue
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
extension String {
|
extension String {
|
||||||
// This converts string to UInt as a fourCharCode
|
// This converts string to UInt as a fourCharCode
|
||||||
public var fourCharCodeValue: Int {
|
public var fourCharCodeValue: Int {
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ class SearchViewController: NSViewController, NSTextFieldDelegate, NSPopoverDele
|
|||||||
effect.wantsLayer = true
|
effect.wantsLayer = true
|
||||||
effect.layer?.masksToBounds = true
|
effect.layer?.masksToBounds = true
|
||||||
|
|
||||||
effect.layer?.borderColor = NSColor.labelColor.withAlphaComponent(0.2).cgColor
|
|
||||||
effect.layer?.borderWidth = 1
|
effect.layer?.borderWidth = 1
|
||||||
effect.layer?.cornerRadius = windowCornerRadius
|
effect.layer?.cornerRadius = windowCornerRadius
|
||||||
|
|
||||||
@@ -167,11 +166,16 @@ class SearchViewController: NSViewController, NSTextFieldDelegate, NSPopoverDele
|
|||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
// NOTE: This needs removeObserver on deinit?
|
||||||
|
DistributedNotificationCenter.default.addObserver(self, selector: #selector(osThemeChanged(sender:)), name: NSNotification.Name(rawValue: "AppleInterfaceThemeChangedNotification"), object: nil)
|
||||||
|
|
||||||
// Initialize an array of reusable cells.
|
// Initialize an array of reusable cells.
|
||||||
for _ in 0..<maxItems {
|
for _ in 0..<maxItems {
|
||||||
programsListCells.append(ProgramsTableViewCell())
|
programsListCells.append(ProgramsTableViewCell())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateViewsBasedOnTheme()
|
||||||
|
|
||||||
view.wantsLayer = true
|
view.wantsLayer = true
|
||||||
view.layer?.backgroundColor = NSColor.clear.cgColor
|
view.layer?.backgroundColor = NSColor.clear.cgColor
|
||||||
|
|
||||||
@@ -362,4 +366,16 @@ class SearchViewController: NSViewController, NSTextFieldDelegate, NSPopoverDele
|
|||||||
programsTableViewSelection = programsTableView.selectedRow
|
programsTableViewSelection = programsTableView.selectedRow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc func osThemeChanged(sender: NSNotification) {
|
||||||
|
updateViewsBasedOnTheme()
|
||||||
|
}
|
||||||
|
|
||||||
|
@objc func updateViewsBasedOnTheme() {
|
||||||
|
if NSApp.windows.first?.effectiveAppearance.bestMatch(from: [.darkAqua, .vibrantDark]) == .darkAqua { // dark
|
||||||
|
backgroundView.layer?.borderColor = NSColor.white.withAlphaComponent(0.2).cgColor
|
||||||
|
} else { // light
|
||||||
|
backgroundView.layer?.borderColor = NSColor.black.withAlphaComponent(0.2).cgColor
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user