feat: initial commit

This commit is contained in:
2026-05-02 20:38:51 +01:00
commit 6bea18e295
14 changed files with 979 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>Photon Uploader</string>
<key>CFBundleDisplayName</key>
<string>Photon Uploader</string>
<key>CFBundleIdentifier</key>
<string>dev.jrdn.PhotonUploaderHelper</string>
<key>CFBundleExecutable</key>
<string>PhotonNotify</string>
<key>CFBundleIconFile</key>
<string>AppIcon</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>LSUIElement</key>
<true/>
<key>LSBackgroundOnly</key>
<true/>
<key>NSUserNotificationAlertStyle</key>
<string>banner</string>
</dict>
</plist>
+43
View File
@@ -0,0 +1,43 @@
import AppKit
import UserNotifications
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ aNotification: Notification) {
let args = ProcessInfo.processInfo.arguments
let subtitle = args.count > 1 ? args[1] : ""
let body = args.count > 2 ? args[2] : ""
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .sound]) { granted, _ in
guard granted else {
DispatchQueue.main.async { NSApp.terminate(nil) }
return
}
let content = UNMutableNotificationContent()
content.title = "Photon Uploader"
content.subtitle = subtitle
content.body = body
content.sound = .default
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.1, repeats: false)
let request = UNNotificationRequest(
identifier: UUID().uuidString,
content: content,
trigger: trigger
)
center.add(request) { _ in
DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) {
NSApp.terminate(nil)
}
}
}
}
}
let app = NSApplication.shared
app.setActivationPolicy(.prohibited)
let delegate = AppDelegate()
app.delegate = delegate
app.run()