diff --git a/phpmon/AppDelegate.swift b/phpmon/AppDelegate.swift
index 841325b..fe89504 100644
--- a/phpmon/AppDelegate.swift
+++ b/phpmon/AppDelegate.swift
@@ -24,20 +24,21 @@ class AppDelegate: NSObject, NSApplicationDelegate {
// Start with the ducky
self.setStatusBar(image: NSImage(named: NSImage.Name("StatusBarIcon"))!)
// Perform environment boot checks
- DispatchQueue.global(qos: .userInitiated).async {
+ DispatchQueue.global(qos: .userInitiated).async { [unowned self] in
Environment.performBootChecks()
+ self.availablePhpVersions = Services.detectPhpVersions()
+ print("The following PHP versions were detected:")
+ print(self.availablePhpVersions)
+ self.updatePhpVersionInStatusBar()
+ // Schedule a request to fetch the PHP version every 15 seconds
+ Timer.scheduledTimer(
+ timeInterval: 15,
+ target: self,
+ selector: #selector(self.updatePhpVersionInStatusBar),
+ userInfo: nil,
+ repeats: true
+ )
}
- // Check if the correct stuff is installed
- self.availablePhpVersions = Services.detectPhpVersions()
- self.updatePhpVersionInStatusBar()
- // Schedule a request to fetch the PHP version every 15 seconds
- Timer.scheduledTimer(
- timeInterval: 15,
- target: self,
- selector: #selector(updatePhpVersionInStatusBar),
- userInfo: nil,
- repeats: true
- )
}
func setStatusBarImage(version: String) {
@@ -58,11 +59,14 @@ class AppDelegate: NSObject, NSApplicationDelegate {
@objc func updatePhpVersionInStatusBar() {
self.version = PHPVersion()
if (self.busy) {
- self.setStatusBar(image: NSImage(named: NSImage.Name("StatusBarIcon"))!)
+ DispatchQueue.main.async {
+ self.setStatusBar(image: NSImage(named: NSImage.Name("StatusBarIcon"))!)
+ }
} else {
- self.setStatusBarImage(version: self.version!.short)
+ DispatchQueue.main.async {
+ self.setStatusBarImage(version: self.version!.short)
+ }
}
-
self.updateMenu()
}
@@ -89,10 +93,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
menu.addItem(NSMenuItem(title: "Switching PHP versions...", action: nil, keyEquivalent: ""))
menu.addItem(NSMenuItem.separator())
}
- menu.addItem(NSMenuItem(title: Services.mysqlIsRunning() ? "You are running MySQL" : "MySQL is not active", action: nil, keyEquivalent: ""))
- menu.addItem(NSMenuItem(title: Services.nginxIsRunning() ? "You are running nginx" : "nginx is not active", action: nil, keyEquivalent: ""))
- menu.addItem(NSMenuItem.separator())
- // menu.addItem(NSMenuItem(title: "About phpmon", action: #selector(NSApplication.terminate(_:)), keyEquivalent: ""))
+ menu.addItem(NSMenuItem(title: "About phpmon", action: #selector(self.openAbout), keyEquivalent: ""))
menu.addItem(NSMenuItem(title: "Quit phpmon", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))
DispatchQueue.main.async {
self.statusItem.menu = menu
@@ -100,13 +101,20 @@ class AppDelegate: NSObject, NSApplicationDelegate {
}
}
+ @objc public func openAbout() {
+ NSApplication.shared.orderFrontStandardAboutPanel()
+ }
+
@objc public func switchToPhpVersion(sender: AnyObject) {
+ self.setStatusBar(image: NSImage(named: NSImage.Name("StatusBarIcon"))!)
let index = sender.tag!
let version = self.availablePhpVersions[index]
self.busy = true
- self.updatePhpVersionInStatusBar()
- self.updateMenu()
DispatchQueue.global(qos: .userInitiated).async { [unowned self] in
+ // Update the PHP version in the status bar
+ self.updatePhpVersionInStatusBar()
+ // Update the menu
+ self.updateMenu()
// Switch the PHP version
Services.switchToPhpVersion(version: version, availableVersions: self.availablePhpVersions)
// Mark as no longer busy
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/Contents.json b/phpmon/Assets.xcassets/AppIcon.appiconset/Contents.json
index 2db2b1c..7cd4f8e 100644
--- a/phpmon/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/phpmon/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,53 +1,63 @@
{
"images" : [
{
- "idiom" : "mac",
"size" : "16x16",
+ "idiom" : "mac",
+ "filename" : "icon_16x16.png",
"scale" : "1x"
},
{
- "idiom" : "mac",
"size" : "16x16",
+ "idiom" : "mac",
+ "filename" : "icon_16x16@2x.png",
"scale" : "2x"
},
{
- "idiom" : "mac",
"size" : "32x32",
+ "idiom" : "mac",
+ "filename" : "icon_32x32.png",
"scale" : "1x"
},
{
- "idiom" : "mac",
"size" : "32x32",
+ "idiom" : "mac",
+ "filename" : "icon_32x32@2x.png",
"scale" : "2x"
},
{
- "idiom" : "mac",
"size" : "128x128",
+ "idiom" : "mac",
+ "filename" : "icon_128x128.png",
"scale" : "1x"
},
{
- "idiom" : "mac",
"size" : "128x128",
+ "idiom" : "mac",
+ "filename" : "icon_128x128@2x.png",
"scale" : "2x"
},
{
- "idiom" : "mac",
"size" : "256x256",
+ "idiom" : "mac",
+ "filename" : "icon_256x256.png",
"scale" : "1x"
},
{
- "idiom" : "mac",
"size" : "256x256",
+ "idiom" : "mac",
+ "filename" : "icon_256x256@2x.png",
"scale" : "2x"
},
{
- "idiom" : "mac",
"size" : "512x512",
+ "idiom" : "mac",
+ "filename" : "icon_512x512.png",
"scale" : "1x"
},
{
- "idiom" : "mac",
"size" : "512x512",
+ "idiom" : "mac",
+ "filename" : "icon_512x512@2x.png",
"scale" : "2x"
}
],
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
new file mode 100644
index 0000000..092e0a5
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_128x128.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
new file mode 100644
index 0000000..ebd51b5
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
new file mode 100644
index 0000000..402d687
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_16x16.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
new file mode 100644
index 0000000..2cc5091
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
new file mode 100644
index 0000000..ebd51b5
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_256x256.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
new file mode 100644
index 0000000..06503d5
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
new file mode 100644
index 0000000..2cc5091
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_32x32.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
new file mode 100644
index 0000000..5564b58
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
new file mode 100644
index 0000000..06503d5
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_512x512.png differ
diff --git a/phpmon/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
new file mode 100644
index 0000000..0266f75
Binary files /dev/null and b/phpmon/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png differ
diff --git a/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon.png b/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon.png
index 0efe350..f3b5d88 100644
Binary files a/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon.png and b/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon.png differ
diff --git a/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon@2x.png b/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon@2x.png
index fe7a8a3..eee13d7 100644
Binary files a/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon@2x.png and b/phpmon/Assets.xcassets/StatusBarIcon.imageset/phpmon@2x.png differ
diff --git a/phpmon/Info.plist b/phpmon/Info.plist
index dc6fbab..ceb8071 100644
--- a/phpmon/Info.plist
+++ b/phpmon/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
1.0
CFBundleVersion
- 2
+ 3
LSMinimumSystemVersion
$(MACOSX_DEPLOYMENT_TARGET)
LSUIElement