├── .clang-format
├── .github
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE.md
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── build.yml
│ └── deploy.yml
├── .gitignore
├── .prettierignore
├── .prettierrc
├── .ruby-version
├── CHANGELOG.md
├── Gemfile
├── Gemfile.lock
├── LICENSE.md
├── Launcher
├── Info.plist
├── Launcher.entitlements
├── LauncherDebug.entitlements
├── PHLauncherAppDelegate.h
├── PHLauncherAppDelegate.m
└── main.m
├── LauncherTests
└── LauncherTests.m
├── Phoenix.xcodeproj
├── project.pbxproj
└── xcshareddata
│ └── xcschemes
│ └── Phoenix.xcscheme
├── Phoenix.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ └── IDEWorkspaceChecks.plist
├── Phoenix
├── Base.lproj
│ └── MainMenu.xib
├── Credits.rtf
├── Images.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── icon_128x128.png
│ │ ├── icon_128x128@2x.png
│ │ ├── icon_16x16.png
│ │ ├── icon_16x16@2x.png
│ │ ├── icon_256x256.png
│ │ ├── icon_256x256@2x.png
│ │ ├── icon_32x32.png
│ │ ├── icon_32x32@2x.png
│ │ ├── icon_512x512.png
│ │ └── icon_512x512@2x.png
│ └── StatusItemIcon.imageset
│ │ ├── Contents.json
│ │ ├── status-item.png
│ │ └── status-item@2x.png
├── Info.plist
├── ModalWindow.xib
├── NSArray+PHExtension.h
├── NSArray+PHExtension.m
├── NSImage+PHExtension.h
├── NSImage+PHExtension.m
├── NSProcessInfo+PHExtension.h
├── NSProcessInfo+PHExtension.m
├── NSScreen+PHExtension.h
├── NSScreen+PHExtension.m
├── NSTask+PHExtension.h
├── NSTask+PHExtension.m
├── PHAXObserver.h
├── PHAXObserver.m
├── PHAXUIElement.h
├── PHAXUIElement.m
├── PHAccessibilityObserver.h
├── PHAccessibilityObserver.m
├── PHApp.h
├── PHApp.m
├── PHAppDelegate.h
├── PHAppDelegate.m
├── PHContext.h
├── PHContext.m
├── PHEventConstants.h
├── PHEventHandler.h
├── PHEventHandler.m
├── PHEventTranslator.h
├── PHEventTranslator.m
├── PHGlobalEventMonitor.h
├── PHGlobalEventMonitor.m
├── PHHandler.h
├── PHHandler.m
├── PHIdentifiableJSExport.h
├── PHIterableJSExport.h
├── PHKeyHandler.h
├── PHKeyHandler.m
├── PHKeyTranslator.h
├── PHKeyTranslator.m
├── PHModalWindow.h
├── PHModalWindow.m
├── PHModalWindowController.h
├── PHModalWindowController.m
├── PHMouse.h
├── PHMouse.m
├── PHNotificationHelper.h
├── PHNotificationHelper.m
├── PHOpenAtLoginHelper.h
├── PHOpenAtLoginHelper.m
├── PHPathWatcher.h
├── PHPathWatcher.m
├── PHPhoenix.h
├── PHPhoenix.m
├── PHPreferences.h
├── PHPreferences.m
├── PHPreprocessor.h
├── PHShebangPreprocessor.h
├── PHShebangPreprocessor.m
├── PHSpace.h
├── PHSpace.m
├── PHStorage.h
├── PHStorage.m
├── PHTaskHandler.h
├── PHTaskHandler.m
├── PHTimerHandler.h
├── PHTimerHandler.m
├── PHUniversalAccessHelper.h
├── PHUniversalAccessHelper.m
├── PHWeakTimerTarget.h
├── PHWeakTimerTarget.m
├── PHWindow.h
├── PHWindow.m
├── Phoenix.entitlements
├── PhoenixDebug.entitlements
├── lodash.min.js
├── main.m
└── phoenix.min.js
├── PhoenixTests
├── Info.plist
└── PhoenixTests.m
├── Podfile
├── Podfile.lock
├── Pods
├── Manifest.lock
├── Pods.xcodeproj
│ └── project.pbxproj
├── Sparkle
│ ├── LICENSE
│ ├── Sparkle.framework
│ │ ├── Autoupdate
│ │ ├── Headers
│ │ ├── Modules
│ │ ├── PrivateHeaders
│ │ ├── Resources
│ │ ├── Sparkle
│ │ ├── Updater.app
│ │ ├── Versions
│ │ │ ├── B
│ │ │ │ ├── Autoupdate
│ │ │ │ ├── Headers
│ │ │ │ │ ├── SPUDownloadData.h
│ │ │ │ │ ├── SPUStandardUpdaterController.h
│ │ │ │ │ ├── SPUStandardUserDriver.h
│ │ │ │ │ ├── SPUStandardUserDriverDelegate.h
│ │ │ │ │ ├── SPUUpdateCheck.h
│ │ │ │ │ ├── SPUUpdatePermissionRequest.h
│ │ │ │ │ ├── SPUUpdater.h
│ │ │ │ │ ├── SPUUpdaterDelegate.h
│ │ │ │ │ ├── SPUUpdaterSettings.h
│ │ │ │ │ ├── SPUUserDriver.h
│ │ │ │ │ ├── SPUUserUpdateState.h
│ │ │ │ │ ├── SUAppcast.h
│ │ │ │ │ ├── SUAppcastItem.h
│ │ │ │ │ ├── SUErrors.h
│ │ │ │ │ ├── SUExport.h
│ │ │ │ │ ├── SUStandardVersionComparator.h
│ │ │ │ │ ├── SUUpdatePermissionResponse.h
│ │ │ │ │ ├── SUUpdater.h
│ │ │ │ │ ├── SUUpdaterDelegate.h
│ │ │ │ │ ├── SUVersionComparisonProtocol.h
│ │ │ │ │ ├── SUVersionDisplayProtocol.h
│ │ │ │ │ └── Sparkle.h
│ │ │ │ ├── Modules
│ │ │ │ │ └── module.modulemap
│ │ │ │ ├── PrivateHeaders
│ │ │ │ │ ├── SPUAppcastItemStateResolver.h
│ │ │ │ │ ├── SPUGentleUserDriverReminders.h
│ │ │ │ │ ├── SPUInstallationType.h
│ │ │ │ │ ├── SPUStandardUserDriver+Private.h
│ │ │ │ │ ├── SPUUserAgent+Private.h
│ │ │ │ │ ├── SUAppcastItem+Private.h
│ │ │ │ │ └── SUInstallerLauncher+Private.h
│ │ │ │ ├── Resources
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.nib
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.nib
│ │ │ │ │ │ │ ├── keyedobjects-101300.nib
│ │ │ │ │ │ │ └── keyedobjects-110000.nib
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── ReleaseNotesColorStyle.css
│ │ │ │ │ ├── SUStatus.nib
│ │ │ │ │ ├── ar.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── ca.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── cs.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── da.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── de.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── el.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── en.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ └── SUUpdatePermissionPrompt.strings
│ │ │ │ │ ├── es.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── fa.lproj
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── fi.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── fr.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── he.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── hr.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── hu.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── is.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── it.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── ja.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── ko.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── nb.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── nl.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── nn.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── pl.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── pt-BR.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── pt-PT.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── ro.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── ru.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── sk.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── sl.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── sv.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── th.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── tr.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── uk.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── zh_CN.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ ├── zh_HK.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ │ └── zh_TW.lproj
│ │ │ │ │ │ ├── SUUpdateAlert.strings
│ │ │ │ │ │ ├── SUUpdatePermissionPrompt.strings
│ │ │ │ │ │ └── Sparkle.strings
│ │ │ │ ├── Sparkle
│ │ │ │ ├── Updater.app
│ │ │ │ │ └── Contents
│ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ ├── MacOS
│ │ │ │ │ │ └── Updater
│ │ │ │ │ │ ├── PkgInfo
│ │ │ │ │ │ ├── Resources
│ │ │ │ │ │ └── SUStatus.nib
│ │ │ │ │ │ └── _CodeSignature
│ │ │ │ │ │ └── CodeResources
│ │ │ │ ├── XPCServices
│ │ │ │ │ ├── Downloader.xpc
│ │ │ │ │ │ └── Contents
│ │ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ │ ├── MacOS
│ │ │ │ │ │ │ └── Downloader
│ │ │ │ │ │ │ └── _CodeSignature
│ │ │ │ │ │ │ └── CodeResources
│ │ │ │ │ └── Installer.xpc
│ │ │ │ │ │ └── Contents
│ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ ├── MacOS
│ │ │ │ │ │ └── Installer
│ │ │ │ │ │ └── _CodeSignature
│ │ │ │ │ │ └── CodeResources
│ │ │ │ └── _CodeSignature
│ │ │ │ │ └── CodeResources
│ │ │ └── Current
│ │ └── XPCServices
│ ├── Symbols
│ │ ├── Autoupdate.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── Autoupdate
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── Autoupdate.yml
│ │ │ │ └── x86_64
│ │ │ │ └── Autoupdate.yml
│ │ ├── BinaryDelta.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── BinaryDelta
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── BinaryDelta.yml
│ │ │ │ └── x86_64
│ │ │ │ └── BinaryDelta.yml
│ │ ├── Downloader.xpc.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── Downloader
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── Downloader.yml
│ │ │ │ └── x86_64
│ │ │ │ └── Downloader.yml
│ │ ├── Installer.xpc.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── Installer
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── Installer.yml
│ │ │ │ └── x86_64
│ │ │ │ └── Installer.yml
│ │ ├── Sparkle Test App.app.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── Sparkle Test App
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── Sparkle Test App.yml
│ │ │ │ └── x86_64
│ │ │ │ └── Sparkle Test App.yml
│ │ ├── Sparkle.framework.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── Sparkle
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── Sparkle.yml
│ │ │ │ └── x86_64
│ │ │ │ └── Sparkle.yml
│ │ ├── Updater.app.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── Updater
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── Updater.yml
│ │ │ │ └── x86_64
│ │ │ │ └── Updater.yml
│ │ ├── generate_appcast.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── generate_appcast
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── generate_appcast.yml
│ │ │ │ └── x86_64
│ │ │ │ └── generate_appcast.yml
│ │ ├── generate_keys.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── generate_keys
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── generate_keys.yml
│ │ │ │ └── x86_64
│ │ │ │ └── generate_keys.yml
│ │ ├── sign_update.dSYM
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── DWARF
│ │ │ │ └── sign_update
│ │ │ │ └── Relocations
│ │ │ │ ├── aarch64
│ │ │ │ └── sign_update.yml
│ │ │ │ └── x86_64
│ │ │ │ └── sign_update.yml
│ │ └── sparkle.app.dSYM
│ │ │ └── Contents
│ │ │ ├── Info.plist
│ │ │ └── Resources
│ │ │ ├── DWARF
│ │ │ └── sparkle
│ │ │ └── Relocations
│ │ │ ├── aarch64
│ │ │ └── sparkle.yml
│ │ │ └── x86_64
│ │ │ └── sparkle.yml
│ └── bin
│ │ ├── BinaryDelta
│ │ ├── generate_appcast
│ │ ├── generate_keys
│ │ ├── old_dsa_scripts
│ │ └── sign_update
│ │ └── sign_update
└── Target Support Files
│ ├── Pods-Phoenix
│ ├── Pods-Phoenix-acknowledgements.markdown
│ ├── Pods-Phoenix-acknowledgements.plist
│ ├── Pods-Phoenix-dummy.m
│ ├── Pods-Phoenix-frameworks-Debug-input-files.xcfilelist
│ ├── Pods-Phoenix-frameworks-Debug-output-files.xcfilelist
│ ├── Pods-Phoenix-frameworks-Release-input-files.xcfilelist
│ ├── Pods-Phoenix-frameworks-Release-output-files.xcfilelist
│ ├── Pods-Phoenix-frameworks.sh
│ ├── Pods-Phoenix-resources.sh
│ ├── Pods-Phoenix.debug.xcconfig
│ └── Pods-Phoenix.release.xcconfig
│ └── Sparkle
│ ├── Sparkle-copy-dsyms-input-files.xcfilelist
│ ├── Sparkle-copy-dsyms-output-files.xcfilelist
│ ├── Sparkle-copy-dsyms.sh
│ ├── Sparkle.debug.xcconfig
│ ├── Sparkle.release.xcconfig
│ └── Sparkle.xcconfig
├── README.md
├── assets
├── safari-advanced-preferences.png
├── safari-develop-menu.png
├── screenshot.gif
├── screenshot.psd
├── status-item.psd
├── web-inspector-console.png
└── web-inspector-debugger.png
├── docs
├── .gitignore
├── API.md
├── babel.config.js
├── docs
│ ├── api
│ │ ├── _category_.json
│ │ ├── app.md
│ │ ├── event.md
│ │ ├── events.md
│ │ ├── identifiable.md
│ │ ├── image.md
│ │ ├── iterable.md
│ │ ├── key.md
│ │ ├── keys.md
│ │ ├── modal.md
│ │ ├── mouse.md
│ │ ├── phoenix.md
│ │ ├── point.md
│ │ ├── preferences.md
│ │ ├── rectangle.md
│ │ ├── require.md
│ │ ├── screen.md
│ │ ├── size.md
│ │ ├── space.md
│ │ ├── storage.md
│ │ ├── task.md
│ │ ├── timer.md
│ │ └── window.md
│ ├── getting-started
│ │ ├── 1-introduction.md
│ │ ├── 2-managing-handlers.md
│ │ ├── 3-loading.md
│ │ ├── 4-preprocessing.md
│ │ ├── 5-about-coordinates.md
│ │ ├── 6-logging-and-debugging.md
│ │ ├── 7-typescript.md
│ │ └── _category_.json
│ └── index.md
├── docusaurus.config.js
├── package-lock.json
├── package.json
├── sidebars.js
├── src
│ └── css
│ │ └── custom.css
└── static
│ ├── .nojekyll
│ └── img
│ ├── favicon.ico
│ ├── logo.png
│ └── modal
│ ├── icon-modal.png
│ ├── input-modal.png
│ └── text-modal.png
├── export.plist
├── format
├── library
└── src
│ ├── event.js
│ ├── key.js
│ ├── modal.js
│ ├── phoenix.js
│ ├── screen.js
│ ├── space.js
│ ├── task.js
│ ├── timer.js
│ └── window.js
├── package-lock.json
├── package.json
├── release
└── sparkle.xml
/.clang-format:
--------------------------------------------------------------------------------
1 | BasedOnStyle: Google
2 | BinPackArguments: false
3 | BinPackParameters: false
4 | ColumnLimit: 120
5 | IndentWidth: 4
6 | ObjCBlockIndentWidth: 4
7 | SpacesInContainerLiterals: false
8 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Contributing
2 | ============
3 |
4 | Feel free to contribute to this project by creating issues, pull requests and editing the Wiki. Please follow the following guidelines:
5 |
6 | 1. Provide sufficient information to reproduce issues
7 | 2. Use feature branches for pull requests and squash related commits
8 | 3. Follow the overall code style for this project in pull requests
9 | 4. Remember to update related documentations and if necessary add the change to the Changelog
10 | 5. Collaborators should use pull requests for major commits
11 | 6. Only the owner is allowed to build, sign and publish releases
12 | 7. Do not get discouraged by any changes requested to your pull requests!
13 |
14 | If you have any questions, do not hesitate to ask!
15 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | - Version: x.x.x
2 | - macOS: x.x.x
3 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | - [ ] Updated related documentations
2 | - [ ] Added the change to the Changelog
3 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build Phoenix
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | pull_request:
8 | branches:
9 | - master
10 | workflow_dispatch:
11 |
12 | jobs:
13 | build:
14 | runs-on: macos-14
15 | steps:
16 | - uses: actions/checkout@v4
17 | - uses: actions/setup-node@v4
18 | with:
19 | node-version: 22.2.0
20 | - name: Build docs
21 | working-directory: docs
22 | run: |
23 | npm ci
24 | npm run lint
25 | npm run build
26 | - name: Install ClangFormat
27 | run: brew install clang-format
28 | - name: Build Launcher
29 | uses: sersoft-gmbh/xcodebuild-action@v3
30 | with:
31 | workspace: Phoenix.xcworkspace
32 | scheme: Launcher
33 | action: test build
34 | - name: Build Phoenix
35 | uses: sersoft-gmbh/xcodebuild-action@v3
36 | with:
37 | workspace: Phoenix.xcworkspace
38 | scheme: Phoenix
39 | action: test build
40 |
--------------------------------------------------------------------------------
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: Deploy docs to GitHub Pages
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | paths:
8 | - docs/**
9 |
10 | jobs:
11 | deploy:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v4
15 | - uses: actions/setup-node@v4
16 | with:
17 | node-version: 22.2.0
18 | - name: Build docs
19 | working-directory: docs
20 | run: |
21 | npm ci
22 | npm run lint
23 | npm run build
24 | - name: Deploy docs
25 | uses: peaceiris/actions-gh-pages@v4
26 | with:
27 | github_token: ${{secrets.GITHUB_TOKEN}}
28 | publish_dir: ./docs/build
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # macOS
2 |
3 | .DS_Store
4 |
5 | # Project
6 |
7 | DerivedData/
8 | Phoenix/phoenix.js
9 | build/
10 | node_modules/
11 | project.xcworkspace/
12 | xcuserdata/
13 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | *.md
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": true,
3 | "singleQuote": true,
4 | "trailingComma": "all"
5 | }
6 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | 3.3.3
2 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 | ruby '3.3.3'
3 |
4 | gem 'cocoapods', '1.15.2'
5 |
--------------------------------------------------------------------------------
/Launcher/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LSApplicationCategoryType
6 | public.app-category.productivity
7 | LSBackgroundOnly
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Launcher/Launcher.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.user-selected.read-only
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Launcher/LauncherDebug.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.cs.disable-library-validation
8 |
9 | com.apple.security.files.user-selected.read-only
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Launcher/PHLauncherAppDelegate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | @interface PHLauncherAppDelegate : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Launcher/PHLauncherAppDelegate.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHLauncherAppDelegate.h"
6 |
7 | @interface PHLauncherAppDelegate ()
8 |
9 | @end
10 |
11 | @implementation PHLauncherAppDelegate
12 |
13 | #if DEBUG
14 | static NSString *const PHMainBundleIdentifier = @"org.khirviko.Phoenix.debug";
15 | #else
16 | static NSString *const PHMainBundleIdentifier = @"org.khirviko.Phoenix";
17 | #endif
18 |
19 | #pragma mark - NSApplicationDelegate
20 |
21 | - (void)applicationDidFinishLaunching:(NSNotification *)__unused notification {
22 | BOOL isRunning = NO;
23 | NSWorkspace *sharedWorkspace = [NSWorkspace sharedWorkspace];
24 |
25 | for (NSRunningApplication *runningApp in sharedWorkspace.runningApplications) {
26 | if ([runningApp.bundleIdentifier isEqualToString:PHMainBundleIdentifier]) {
27 | isRunning = YES;
28 | }
29 | }
30 |
31 | if (!isRunning) {
32 | NSLog(@"Info: Launching Phoenix...");
33 |
34 | NSError *error;
35 | [sharedWorkspace
36 | launchApplicationAtURL:[sharedWorkspace URLForApplicationWithBundleIdentifier:PHMainBundleIdentifier]
37 | options:NSWorkspaceLaunchWithoutActivation
38 | configuration:@{}
39 | error:&error];
40 | if (error) {
41 | NSLog(@"Error: Could not launch Phoenix. (%@)", error);
42 | }
43 | }
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Launcher/main.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | #import "PHLauncherAppDelegate.h"
8 |
9 | int main(int argc, const char *argv[]) {
10 | @autoreleasepool {
11 | PHLauncherAppDelegate *delegate = [[PHLauncherAppDelegate alloc] init];
12 | [NSApplication sharedApplication].delegate = delegate;
13 | return NSApplicationMain(argc, argv);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/LauncherTests/LauncherTests.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import XCTest;
6 |
7 | @interface LauncherTests : XCTestCase
8 |
9 | @end
10 |
11 | @implementation LauncherTests
12 |
13 | - (void)testPass {
14 | XCTAssert(YES, @"Pass");
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Phoenix.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Phoenix/Credits.rtf:
--------------------------------------------------------------------------------
1 | {\rtf1\ansi\ansicpg1252\cocoartf2761
2 | \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;}
3 | {\colortbl;\red255\green255\blue255;}
4 | {\*\expandedcolortbl;;}
5 | \paperw12240\paperh15840\vieww9600\viewh8400\viewkind0
6 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0
7 |
8 | \f0\b\fs24 \cf0 \
9 | Developer:
10 | \f1\b0 Kasper Hirvikoski\
11 |
12 | \f0\b \
13 |
14 | \f1\b0 With the generous help of contributions made by many individuals.\
15 | \
16 | {\field{\*\fldinst{HYPERLINK "https://kasper.github.io/phoenix/"}}{\fldrslt https://kasper.github.io/phoenix/}}\
17 | \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0
18 | {\field{\*\fldinst{HYPERLINK "https://github.com/kasper/phoenix/"}}{\fldrslt \cf0 https://github.com/kasper/phoenix/}}\
19 | }
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_128x128.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_16x16.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_16x16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_16x16@2x.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_256x256.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_256x256@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_256x256@2x.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_32x32.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_32x32@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_32x32@2x.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_512x512.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/AppIcon.appiconset/icon_512x512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/AppIcon.appiconset/icon_512x512@2x.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/StatusItemIcon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "mac",
5 | "scale" : "1x",
6 | "filename" : "status-item.png"
7 | },
8 | {
9 | "idiom" : "mac",
10 | "scale" : "2x",
11 | "filename" : "status-item@2x.png"
12 | }
13 | ],
14 | "info" : {
15 | "version" : 1,
16 | "author" : "xcode",
17 | "template-rendering-intent" : "template"
18 | }
19 | }
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/StatusItemIcon.imageset/status-item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/StatusItemIcon.imageset/status-item.png
--------------------------------------------------------------------------------
/Phoenix/Images.xcassets/StatusItemIcon.imageset/status-item@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Phoenix/Images.xcassets/StatusItemIcon.imageset/status-item@2x.png
--------------------------------------------------------------------------------
/Phoenix/NSArray+PHExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface NSArray (PHExtension)
8 |
9 | #pragma mark - Iterating
10 |
11 | - (ObjectType)nextFrom:(ObjectType)object;
12 | - (ObjectType)previousFrom:(ObjectType)object;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Phoenix/NSArray+PHExtension.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "NSArray+PHExtension.h"
6 |
7 | @implementation NSArray (PHExtension)
8 |
9 | #pragma mark - Iterating
10 |
11 | - (id)nextFrom:(id)object {
12 | NSArray *objects = [NSArray arrayWithArray:self];
13 | NSUInteger nextIndex = [objects indexOfObject:object] + 1;
14 |
15 | // Last object, return first
16 | if (nextIndex == objects.count) {
17 | return objects.firstObject;
18 | }
19 |
20 | return objects[nextIndex];
21 | }
22 |
23 | - (id)previousFrom:(id)object {
24 | NSArray *objects = [NSArray arrayWithArray:self];
25 | NSInteger previousIndex = [objects indexOfObject:object] - 1;
26 |
27 | // First object, return last
28 | if (previousIndex == -1) {
29 | return objects.lastObject;
30 | }
31 |
32 | return objects[previousIndex];
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Phoenix/NSImage+PHExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 | @import JavaScriptCore;
7 |
8 | #import "PHIdentifiableJSExport.h"
9 |
10 | @protocol NSImageJSExport
11 |
12 | #pragma mark - Constructing
13 |
14 | + (instancetype)fromFile:(NSString *)path;
15 |
16 | @end
17 |
18 | @interface NSImage (PHExtension)
19 |
20 | #pragma mark - Initialising
21 |
22 | + (instancetype)fromFile:(NSString *)path;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Phoenix/NSImage+PHExtension.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "NSImage+PHExtension.h"
6 |
7 | @implementation NSImage (PHExtension)
8 |
9 | #pragma mark - Initialising
10 |
11 | + (instancetype)fromFile:(NSString *)path {
12 | NSString *resolvedPath = path.stringByResolvingSymlinksInPath;
13 |
14 | if (![[NSFileManager defaultManager] fileExistsAtPath:resolvedPath]) {
15 | NSLog(@"Warning: Trying to initialise an image from a non-existent path “%@”.", resolvedPath);
16 | }
17 |
18 | return [[self alloc] initWithContentsOfFile:resolvedPath];
19 | }
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Phoenix/NSProcessInfo+PHExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface NSProcessInfo (PHExtension)
8 |
9 | #pragma mark - Operating System
10 |
11 | + (BOOL)isOperatingSystemAtLeastBigSur;
12 | + (BOOL)isOperatingSystemAtLeastMonterey;
13 | + (BOOL)isOperatingSystemAtLeastSonoma145;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Phoenix/NSProcessInfo+PHExtension.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "NSProcessInfo+PHExtension.h"
6 |
7 | @implementation NSProcessInfo (PHExtension)
8 |
9 | #pragma mark - Operating System
10 |
11 | + (BOOL)isOperatingSystemAtLeastBigSur {
12 | NSOperatingSystemVersion bigSur = {.majorVersion = 11, .minorVersion = 0, .patchVersion = 0};
13 | return [[self processInfo] isOperatingSystemAtLeastVersion:bigSur];
14 | }
15 |
16 | + (BOOL)isOperatingSystemAtLeastMonterey {
17 | NSOperatingSystemVersion monterey = {.majorVersion = 12, .minorVersion = 0, .patchVersion = 0};
18 | return [[self processInfo] isOperatingSystemAtLeastVersion:monterey];
19 | }
20 |
21 | + (BOOL)isOperatingSystemAtLeastSonoma145 {
22 | NSOperatingSystemVersion sonoma145 = {.majorVersion = 14, .minorVersion = 5, .patchVersion = 0};
23 | return [[self processInfo] isOperatingSystemAtLeastVersion:sonoma145];
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/Phoenix/NSScreen+PHExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 | @import JavaScriptCore;
7 |
8 | @class PHSpace;
9 | @class PHWindow;
10 |
11 | #import "PHIdentifiableJSExport.h"
12 | #import "PHIterableJSExport.h"
13 |
14 | @protocol NSScreenJSExport
15 |
16 | #pragma mark - Exported Screens
17 |
18 | + (instancetype)main;
19 | + (NSArray *)all;
20 |
21 | #pragma mark - Properties
22 |
23 | - (NSString *)identifier;
24 |
25 | #pragma mark - Frame
26 |
27 | - (NSRect)frame;
28 | - (NSRect)visibleFrame;
29 | - (CGRect)flippedFrame;
30 | - (CGRect)flippedVisibleFrame;
31 |
32 | #pragma mark - Spaces
33 |
34 | - (PHSpace *)currentSpace;
35 | - (NSArray *)spaces;
36 |
37 | #pragma mark - Windows
38 |
39 | - (NSArray *)windows:(NSDictionary *)optionals;
40 |
41 | @end
42 |
43 | @interface NSScreen (PHExtension)
44 |
45 | #pragma mark - Screens
46 |
47 | + (instancetype)screenForIdentifier:(NSString *)identifier;
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Phoenix/NSTask+PHExtension.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | static NSInteger const NSTaskErrorCode = -1;
8 | static NSString *const NSTaskErrorDomain = @"NSTaskErrorDomain";
9 |
10 | @interface NSTask (PHExtension)
11 |
12 | #pragma mark - Environment
13 |
14 | + (NSString *)searchPath;
15 |
16 | #pragma mark - Launching
17 |
18 | + (NSString *)outputFromLaunchedTaskWithEnvironment:(NSDictionary *)environment
19 | arguments:(NSArray *)arguments
20 | error:(NSError **)error;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Phoenix/PHAXObserver.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | #import "PHAXUIElement.h"
8 |
9 | static NSString *const PHAXObserverWindowKey = @"PHAXObserverWindow";
10 |
11 | @interface PHAXObserver : PHAXUIElement
12 |
13 | #pragma mark - Initialising
14 |
15 | - (instancetype)initWithApp:(NSRunningApplication *)app;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix/PHAXUIElement.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHAXUIElement : NSObject
8 |
9 | #pragma mark - Initialising
10 |
11 | + (instancetype)new NS_UNAVAILABLE;
12 | - (instancetype)init NS_UNAVAILABLE;
13 |
14 | - (instancetype)initWithElement:(id)element NS_DESIGNATED_INITIALIZER;
15 |
16 | #pragma mark - System Accessors
17 |
18 | + (instancetype)elementForSystemAttribute:(NSString *)attribute;
19 | + (instancetype)elementAtPosition:(CGPoint)position;
20 |
21 | #pragma mark - Element Accessors
22 |
23 | - (pid_t)processIdentifier;
24 | - (id)valueForAttribute:(NSString *)attribute;
25 | - (id)valueForAttribute:(NSString *)attribute withDefaultValue:(id)defaultValue;
26 | - (NSArray *)valuesForAttribute:(NSString *)attribute fromIndex:(NSUInteger)index count:(NSUInteger)count;
27 |
28 | #pragma mark - Setters
29 |
30 | - (BOOL)setAttribute:(NSString *)attribute withValue:(id)value;
31 |
32 | #pragma mark - Actions
33 |
34 | - (BOOL)performAction:(NSString *)action;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Phoenix/PHAccessibilityObserver.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHAccessibilityObserver : NSObject
8 |
9 | #pragma mark - Initialising
10 |
11 | + (instancetype)new NS_UNAVAILABLE;
12 | + (instancetype)observer;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Phoenix/PHApp.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 | @import JavaScriptCore;
7 |
8 | @class PHApp;
9 | @class PHWindow;
10 |
11 | #import "PHAXUIElement.h"
12 | #import "PHIdentifiableJSExport.h"
13 |
14 | static NSString *const PHAppFocusOptionKey = @"focus";
15 |
16 | @protocol PHAppJSExport
17 |
18 | #pragma mark - Apps
19 |
20 | + (instancetype)get:(NSString *)appName;
21 | JSExportAs(launch, +(instancetype)launch
22 | : (NSString *)appName withOptionals
23 | : (NSDictionary *)optionals);
24 | + (instancetype)focused;
25 | + (NSArray *)all;
26 |
27 | #pragma mark - Properties
28 |
29 | - (pid_t)processIdentifier;
30 | - (NSString *)bundleIdentifier;
31 | - (NSString *)name;
32 | - (NSImage *)icon;
33 | - (BOOL)isActive;
34 | - (BOOL)isHidden;
35 | - (BOOL)isTerminated;
36 |
37 | #pragma mark - Exported Windows
38 |
39 | - (PHWindow *)mainWindow;
40 | - (NSArray *)windows:(NSDictionary *)optionals;
41 |
42 | #pragma mark - Actions
43 |
44 | - (BOOL)activate;
45 | - (BOOL)focus;
46 | - (BOOL)show;
47 | - (BOOL)hide;
48 | - (BOOL)terminate:(NSDictionary *)optionals;
49 |
50 | @end
51 |
52 | @interface PHApp : PHAXUIElement
53 |
54 | #pragma mark - Initialising
55 |
56 | - (instancetype)initWithApp:(NSRunningApplication *)app;
57 |
58 | #pragma mark - Windows
59 |
60 | - (NSArray *)windows;
61 |
62 | @end
63 |
--------------------------------------------------------------------------------
/Phoenix/PHAppDelegate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | @interface PHAppDelegate : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 |
11 | #pragma mark - IBAction
12 |
13 | - (IBAction)reloadContext:(id)sender;
14 | - (IBAction)editConfiguration:(id)sender;
15 | - (IBAction)viewDocumentation:(id)sender;
16 | - (IBAction)showAboutPanel:(id)sender;
17 | - (IBAction)toggleOpenAtLogin:(NSMenuItem *)sender;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Phoenix/PHContext.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | static NSString *const PHContextWillLoadNotification = @"PHContextWillLoadNotification";
8 |
9 | @protocol PHContextDelegate
10 |
11 | #pragma mark - Loading
12 |
13 | - (void)load;
14 |
15 | #pragma mark - Terminating
16 |
17 | - (void)shouldTerminate:(void (^)(void))terminate;
18 |
19 | @end
20 |
21 | @interface PHContext : NSObject
22 |
23 | @property(readonly) NSString *primaryConfigurationPath;
24 |
25 | #pragma mark - Initialising
26 |
27 | + (instancetype)new NS_UNAVAILABLE;
28 | + (instancetype)context;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Phoenix/PHEventConstants.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | #pragma mark - Event Notifications
8 |
9 | static NSString* const PHEventDidLaunchNotification = @"PHEventDidLaunchNotification";
10 | static NSString* const PHEventWillTerminateNotification = @"PHEventWillTerminateNotification";
11 |
12 | #pragma mark - Mouse Notifications
13 |
14 | static NSString* const PHMouseDidMoveNotification = @"PHMouseDidMoveNotification";
15 | static NSString* const PHMouseDidLeftClickNotification = @"PHMouseDidLeftClickNotification";
16 | static NSString* const PHMouseDidRightClickNotification = @"PHMouseDidRightClickNotification";
17 | static NSString* const PHMouseDidOtherClickNotification = @"PHMouseDidOtherClickNotification";
18 | static NSString* const PHMouseDidLeftDragNotification = @"PHMouseDidLeftDragNotification";
19 | static NSString* const PHMouseDidRightDragNotification = @"PHMouseDidRightDragNotification";
20 | static NSString* const PHMouseDidOtherDragNotification = @"PHMouseDidOtherDragNotification";
21 |
--------------------------------------------------------------------------------
/Phoenix/PHEventHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | #import "PHHandler.h"
9 | #import "PHIdentifiableJSExport.h"
10 |
11 | @protocol PHEventHandlerJSExport
12 |
13 | @property(readonly) NSString *name;
14 |
15 | #pragma mark - Constructing
16 |
17 | - (instancetype)initWithEvent:(NSString *)event callback:(JSValue *)callback;
18 |
19 | #pragma mark - Binding
20 |
21 | - (void)disable;
22 |
23 | @end
24 |
25 | @interface PHEventHandler : PHHandler
26 |
27 | #pragma mark - Initialising
28 |
29 | - (instancetype)initWithEvent:(NSString *)event callback:(JSValue *)callback NS_DESIGNATED_INITIALIZER;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Phoenix/PHEventTranslator.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHEventTranslator : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 | - (instancetype)init NS_UNAVAILABLE;
11 |
12 | #pragma mark - Translating
13 |
14 | + (NSNotificationCenter *)notificationCenterForNotification:(NSString *)notification;
15 | + (NSString *)notificationForEvent:(NSString *)event;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix/PHGlobalEventMonitor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | static NSString* const PHGlobalEventMonitorMouseKey = @"PHGlobalEventMonitorMouse";
8 |
9 | @interface PHGlobalEventMonitor : NSObject
10 |
11 | #pragma mark - Initialising
12 |
13 | + (instancetype)new NS_UNAVAILABLE;
14 | + (instancetype)monitor;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Phoenix/PHHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | @interface PHHandler : NSObject
9 |
10 | #pragma mark - Initialising
11 |
12 | + (instancetype)new NS_UNAVAILABLE;
13 | - (instancetype)init NS_UNAVAILABLE;
14 |
15 | - (instancetype)initWithCallback:(JSValue *)callback;
16 |
17 | #pragma mark - Calling
18 |
19 | - (void)callWithArguments:(NSArray *)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Phoenix/PHHandler.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHHandler.h"
6 |
7 | @interface PHHandler ()
8 |
9 | @property JSManagedValue *callback;
10 |
11 | @end
12 |
13 | @implementation PHHandler
14 |
15 | #pragma mark - Initialising
16 |
17 | - (instancetype)initWithCallback:(JSValue *)callback {
18 | if (self = [super init]) {
19 | self.callback = [JSManagedValue managedValueWithValue:callback andOwner:self];
20 | }
21 |
22 | return self;
23 | }
24 |
25 | #pragma mark - Calling
26 |
27 | - (void)callWithArguments:(NSArray *)arguments {
28 | JSValue *function = self.callback.value;
29 |
30 | if (!function.isUndefined) {
31 | [function callWithArguments:arguments];
32 | }
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Phoenix/PHIdentifiableJSExport.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | @protocol PHIdentifiableJSExport
9 |
10 | #pragma mark - Identifying
11 |
12 | - (NSUInteger)hash;
13 | - (BOOL)isEqual:(id)object;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Phoenix/PHIterableJSExport.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | @protocol PHIterableJSExport
9 |
10 | #pragma mark - Iterating
11 |
12 | - (instancetype)next;
13 | - (instancetype)previous;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Phoenix/PHKeyHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | #import "PHHandler.h"
9 | #import "PHIdentifiableJSExport.h"
10 |
11 | @protocol PHKeyHandlerJSExport
12 |
13 | @property(readonly) NSString *key;
14 | @property(readonly) NSArray *modifiers;
15 |
16 | #pragma mark - Constructing
17 |
18 | - (instancetype)initWithKey:(NSString *)key modifiers:(NSArray *)modifiers callback:(JSValue *)callback;
19 |
20 | #pragma mark - Binding
21 |
22 | - (BOOL)isEnabled;
23 | - (BOOL)enable;
24 | - (BOOL)disable;
25 |
26 | @end
27 |
28 | @interface PHKeyHandler : PHHandler
29 |
30 | #pragma mark - Initialising
31 |
32 | - (instancetype)initWithKey:(NSString *)key
33 | modifiers:(NSArray *)modifiers
34 | callback:(JSValue *)callback NS_DESIGNATED_INITIALIZER;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Phoenix/PHKeyTranslator.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | @interface PHKeyTranslator : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 | - (instancetype)init NS_UNAVAILABLE;
11 |
12 | #pragma mark - Translating
13 |
14 | + (UInt32)modifierFlagsForModifiers:(NSArray *)modifiers;
15 | + (NSArray *)modifiersForModifierFlags:(NSEventModifierFlags)modifierFlags;
16 | + (UInt32)keyCodeForKey:(NSString *)key;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Phoenix/PHModalWindow.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | @interface PHModalWindow : NSWindow
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Phoenix/PHModalWindow.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHModalWindow.h"
6 |
7 | @implementation PHModalWindow
8 |
9 | #pragma mark - Initialising
10 |
11 | - (instancetype)initWithContentRect:(NSRect)contentRect
12 | styleMask:(NSWindowStyleMask)style
13 | backing:(NSBackingStoreType)backingStoreType
14 | defer:(BOOL)flag {
15 | if (self = [super initWithContentRect:contentRect styleMask:style backing:backingStoreType defer:flag]) {
16 | self.alphaValue = 0.0;
17 | self.animationBehavior = NSWindowAnimationBehaviorAlertPanel;
18 | self.backgroundColor = [NSColor clearColor];
19 | self.ignoresMouseEvents = YES;
20 | self.level = NSFloatingWindowLevel;
21 | self.opaque = NO;
22 | }
23 |
24 | return self;
25 | }
26 |
27 | #pragma mark - Key Status
28 |
29 | - (BOOL)canBecomeKeyWindow {
30 | return YES;
31 | }
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Phoenix/PHMouse.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | @protocol PHMouseJSExport
9 |
10 | #pragma mark - Position
11 |
12 | + (CGPoint)location;
13 | + (BOOL)move:(CGPoint)point;
14 |
15 | @end
16 |
17 | @interface PHMouse : NSObject
18 |
19 | + (instancetype)new NS_UNAVAILABLE;
20 | - (instancetype)init NS_UNAVAILABLE;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Phoenix/PHMouse.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | #import "PHMouse.h"
8 |
9 | @implementation PHMouse
10 |
11 | #pragma mark - Position
12 |
13 | + (CGPoint)location {
14 | id event = CFBridgingRelease(CGEventCreate(NULL));
15 | return CGEventGetLocation((__bridge CGEventRef)event);
16 | }
17 |
18 | + (BOOL)move:(CGPoint)point {
19 | CGError error = CGWarpMouseCursorPosition(point);
20 |
21 | if (error != kCGErrorSuccess) {
22 | NSLog(@"Error: Could not move cursor position to “%@”. (%d)", NSStringFromPoint(point), error);
23 | return NO;
24 | }
25 |
26 | return YES;
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Phoenix/PHNotificationHelper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHNotificationHelper : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 | - (instancetype)init NS_UNAVAILABLE;
11 |
12 | #pragma mark - Delivering
13 |
14 | + (void)deliver:(NSString *)message withDelegate:(id)delegate;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Phoenix/PHNotificationHelper.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHNotificationHelper.h"
6 |
7 | @implementation PHNotificationHelper
8 |
9 | #pragma mark - Delivering
10 |
11 | + (void)deliver:(NSString *)message withDelegate:(id)delegate {
12 | NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter];
13 | center.delegate = delegate;
14 |
15 | NSUserNotification *notification = [[NSUserNotification alloc] init];
16 | notification.informativeText = message;
17 | notification.hasActionButton = NO;
18 |
19 | if (delegate) {
20 | notification.hasActionButton = YES;
21 | }
22 |
23 | [center deliverNotification:notification];
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/Phoenix/PHOpenAtLoginHelper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHOpenAtLoginHelper : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 | - (instancetype)init NS_UNAVAILABLE;
11 |
12 | #pragma mark - Login Item
13 |
14 | + (BOOL)opensAtLogin;
15 | + (void)setOpensAtLogin:(BOOL)opensAtLogin;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix/PHOpenAtLoginHelper.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import ServiceManagement;
6 |
7 | #import "PHOpenAtLoginHelper.h"
8 |
9 | @implementation PHOpenAtLoginHelper
10 |
11 | static NSString* const PHUserDefaultsOpenAtLoginKey = @"PHOpenAtLogin";
12 |
13 | #if DEBUG
14 | static NSString* const PHLauncherBundleIdentifier = @"org.khirviko.Phoenix.Launcher.debug";
15 | #else
16 | static NSString* const PHLauncherBundleIdentifier = @"org.khirviko.Phoenix.Launcher";
17 | #endif
18 |
19 | #pragma mark - Login Item
20 |
21 | + (BOOL)opensAtLogin {
22 | return [[NSUserDefaults standardUserDefaults] boolForKey:PHUserDefaultsOpenAtLoginKey];
23 | }
24 |
25 | + (void)setOpensAtLogin:(BOOL)opensAtLogin {
26 | BOOL didSet = SMLoginItemSetEnabled((__bridge CFStringRef)PHLauncherBundleIdentifier, opensAtLogin);
27 |
28 | if (didSet) {
29 | [[NSUserDefaults standardUserDefaults] setBool:opensAtLogin forKey:PHUserDefaultsOpenAtLoginKey];
30 | }
31 | }
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Phoenix/PHPathWatcher.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHPathWatcher : NSObject
8 |
9 | #pragma mark - Initialising
10 |
11 | + (instancetype)new NS_UNAVAILABLE;
12 | - (instancetype)init NS_UNAVAILABLE;
13 |
14 | - (instancetype)initWithPaths:(NSArray *)paths handler:(void (^)(void))handler NS_DESIGNATED_INITIALIZER;
15 | + (instancetype)watcherFor:(NSArray *)paths handler:(void (^)(void))handler;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix/PHPhoenix.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | #import "PHContext.h"
9 |
10 | @protocol PHPhoenixJSExport
11 |
12 | #pragma mark - Actions
13 |
14 | - (void)reload;
15 | - (void)set:(NSDictionary *)preferences;
16 | - (void)log;
17 | - (void)notify:(NSString *)message;
18 |
19 | @end
20 |
21 | @interface PHPhoenix : NSObject
22 |
23 | #pragma mark - Initialising
24 |
25 | + (instancetype)new NS_UNAVAILABLE;
26 | - (instancetype)init NS_UNAVAILABLE;
27 |
28 | - (instancetype)initWithDelegate:(id)delegate NS_DESIGNATED_INITIALIZER;
29 | + (instancetype)withDelegate:(id)delegate;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Phoenix/PHPhoenix.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHPhoenix.h"
6 | #import "PHNotificationHelper.h"
7 | #import "PHPreferences.h"
8 |
9 | @interface PHPhoenix ()
10 |
11 | @property(weak) id delegate;
12 |
13 | @end
14 |
15 | @implementation PHPhoenix
16 |
17 | #pragma mark - Initialising
18 |
19 | - (instancetype)initWithDelegate:(id)delegate {
20 | if (self = [super init]) {
21 | self.delegate = delegate;
22 | }
23 |
24 | return self;
25 | }
26 |
27 | + (instancetype)withDelegate:(id)delegate {
28 | return [[self alloc] initWithDelegate:delegate];
29 | }
30 |
31 | #pragma mark - Actions
32 |
33 | - (void)reload {
34 | [self.delegate load];
35 | }
36 |
37 | - (void)set:(NSDictionary *)preferences {
38 | [[PHPreferences sharedPreferences] add:preferences];
39 | }
40 |
41 | - (void)log {
42 | NSArray *components = [[JSContext currentArguments] valueForKey:@"toString"];
43 | NSLog(@"%@", [components componentsJoinedByString:@" "]);
44 | }
45 |
46 | - (void)notify:(NSString *)message {
47 | [PHNotificationHelper deliver:message withDelegate:nil];
48 | }
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/Phoenix/PHPreferences.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | typedef NSString *PHPreferencesPreferenceKey;
8 |
9 | static NSString *const PHPreferencesDidChangeNotification = @"PHPreferencesDidChangeNotification";
10 | static PHPreferencesPreferenceKey const PHPreferencesDaemonKey = @"daemon";
11 | static PHPreferencesPreferenceKey const PHPreferencesOpenAtLoginKey = @"openAtLogin";
12 |
13 | @interface PHPreferences : NSObject
14 |
15 | #pragma mark - Initialising
16 |
17 | + (instancetype)new NS_UNAVAILABLE;
18 | - (instancetype)init NS_UNAVAILABLE;
19 |
20 | #pragma mark - Shared Preferences
21 |
22 | + (instancetype)sharedPreferences;
23 |
24 | #pragma mark - Preferences
25 |
26 | - (void)add:(NSDictionary *)preferences;
27 | - (void)reset;
28 |
29 | - (BOOL)isDaemon;
30 | - (BOOL)openAtLogin;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Phoenix/PHPreprocessor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @protocol PHPreprocessor
8 |
9 | #pragma mark - Preprocessing
10 |
11 | + (NSString *)process:(NSString *)script atPath:(NSString *)path error:(NSError **)error;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Phoenix/PHShebangPreprocessor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | #import "PHPreprocessor.h"
8 |
9 | static NSInteger const PHShebangPreprocessorErrorCode = -1;
10 | static NSString* const PHShebangPreprocessorErrorDomain = @"PHShebangPreprocessorErrorDomain";
11 |
12 | @interface PHShebangPreprocessor : NSObject
13 |
14 | + (instancetype)new NS_UNAVAILABLE;
15 | - (instancetype)init NS_UNAVAILABLE;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix/PHSpace.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | @class NSScreen;
9 | @class PHSpace;
10 | @class PHWindow;
11 |
12 | #import "PHIdentifiableJSExport.h"
13 | #import "PHIterableJSExport.h"
14 |
15 | @protocol PHSpaceJSExport
16 |
17 | #pragma mark - Exported Spaces
18 |
19 | + (instancetype)active;
20 | + (NSArray *)all;
21 |
22 | #pragma mark - Properties
23 |
24 | - (BOOL)isNormal;
25 | - (BOOL)isFullScreen;
26 | - (NSArray *)screens;
27 |
28 | #pragma mark - Windows
29 |
30 | - (NSArray *)windows:(NSDictionary *)optionals;
31 | - (void)addWindows:(NSArray *)windows;
32 | - (void)removeWindows:(NSArray *)windows;
33 | - (void)moveWindows:(NSArray *)windows;
34 |
35 | @end
36 |
37 | @interface PHSpace : NSObject
38 |
39 | #pragma mark - Initialising
40 |
41 | + (instancetype)new NS_UNAVAILABLE;
42 | - (instancetype)init NS_UNAVAILABLE;
43 |
44 | - (instancetype)initWithIdentifier:(NSUInteger)identifier NS_DESIGNATED_INITIALIZER;
45 |
46 | #pragma mark - Spaces
47 |
48 | + (instancetype)currentSpaceForScreen:(NSScreen *)screen;
49 | + (NSArray *)spacesForWindow:(PHWindow *)window;
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Phoenix/PHStorage.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | static NSString *const PHStorageDidPersistNotification = @"PHStorageDidPersistNotification";
9 |
10 | @protocol PHStorageJSExport
11 |
12 | #pragma mark - Storing
13 |
14 | JSExportAs(set, -(void)forKey : (NSString *)key setObject : (id)object);
15 | JSExportAs(get, -(id)objectForKey : (NSString *)key);
16 | JSExportAs(remove, -(void)removeObjectForKey : (NSString *)key);
17 |
18 | @end
19 |
20 | @interface PHStorage : NSObject
21 |
22 | #pragma mark - Initialising
23 |
24 | + (instancetype)new NS_UNAVAILABLE;
25 | + (instancetype)storage;
26 |
27 | #pragma mark - Persisting
28 |
29 | - (BOOL)isPersisting;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Phoenix/PHTaskHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | #import "PHHandler.h"
9 | #import "PHIdentifiableJSExport.h"
10 |
11 | @protocol PHTaskHandlerJSExport
12 |
13 | @property(readonly) int status;
14 | @property(readonly) NSString *output;
15 | @property(readonly) NSString *error;
16 |
17 | #pragma mark - Constructing
18 |
19 | - (instancetype)initWithPath:(NSString *)path arguments:(NSArray *)arguments callback:(JSValue *)callback;
20 |
21 | #pragma mark - Terminating
22 |
23 | - (void)terminate;
24 |
25 | @end
26 |
27 | @interface PHTaskHandler : PHHandler
28 |
29 | #pragma mark - Initialising
30 |
31 | - (instancetype)initWithPath:(NSString *)path
32 | arguments:(NSArray *)arguments
33 | callback:(JSValue *)callback NS_DESIGNATED_INITIALIZER;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Phoenix/PHTimerHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 | @import JavaScriptCore;
7 |
8 | #import "PHHandler.h"
9 | #import "PHIdentifiableJSExport.h"
10 |
11 | @protocol PHTimerHandlerJSExport
12 |
13 | #pragma mark - Constructing
14 |
15 | - (instancetype)initWithInterval:(NSTimeInterval)interval repeats:(BOOL)repeats callback:(JSValue *)callback;
16 |
17 | #pragma mark - Timing
18 |
19 | - (void)stop;
20 |
21 | @end
22 |
23 | @interface PHTimerHandler : PHHandler
24 |
25 | #pragma mark - Initialising
26 |
27 | - (instancetype)initWithInterval:(NSTimeInterval)interval
28 | repeats:(BOOL)repeats
29 | callback:(JSValue *)callback NS_DESIGNATED_INITIALIZER;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Phoenix/PHTimerHandler.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHTimerHandler.h"
6 | #import "PHWeakTimerTarget.h"
7 |
8 | @interface PHTimerHandler ()
9 |
10 | @property NSTimer *timer;
11 |
12 | @end
13 |
14 | @implementation PHTimerHandler
15 |
16 | #pragma mark - Initialising
17 |
18 | - (instancetype)initWithInterval:(NSTimeInterval)interval repeats:(BOOL)repeats callback:(JSValue *)callback {
19 | if (self = [super initWithCallback:callback]) {
20 | PHWeakTimerTarget *weakTarget = [PHWeakTimerTarget withTarget:self selector:@selector(timerDidFire)];
21 |
22 | self.timer = [NSTimer scheduledTimerWithTimeInterval:interval
23 | target:weakTarget
24 | selector:@selector(timerDidFireProxy:)
25 | userInfo:nil
26 | repeats:repeats];
27 | }
28 |
29 | return self;
30 | }
31 |
32 | #pragma mark - Deallocing
33 |
34 | - (void)dealloc {
35 | [self stop];
36 | }
37 |
38 | #pragma mark - Timing
39 |
40 | - (void)timerDidFire {
41 | [self callWithArguments:@[self]];
42 | }
43 |
44 | - (void)stop {
45 | [self.timer invalidate];
46 | }
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Phoenix/PHUniversalAccessHelper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHUniversalAccessHelper : NSObject
8 |
9 | + (instancetype)new NS_UNAVAILABLE;
10 | - (instancetype)init NS_UNAVAILABLE;
11 |
12 | #pragma mark - Universal Access
13 |
14 | + (BOOL)hasPermission;
15 | + (BOOL)askPermissionIfNeeded;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Phoenix/PHUniversalAccessHelper.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | #import "PHUniversalAccessHelper.h"
8 |
9 | @implementation PHUniversalAccessHelper
10 |
11 | #pragma mark - Universal Access
12 |
13 | + (BOOL)hasPermission {
14 | return AXIsProcessTrusted();
15 | }
16 |
17 | + (BOOL)askPermissionIfNeeded {
18 | return AXIsProcessTrustedWithOptions((__bridge CFDictionaryRef)
19 | @{(__bridge NSString *)kAXTrustedCheckOptionPrompt: @YES});
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Phoenix/PHWeakTimerTarget.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Foundation;
6 |
7 | @interface PHWeakTimerTarget : NSObject
8 |
9 | #pragma mark - Initialising
10 |
11 | + (instancetype)new NS_UNAVAILABLE;
12 | - (instancetype)init NS_UNAVAILABLE;
13 |
14 | - (instancetype)initWithTarget:(id)target selector:(SEL)selector NS_DESIGNATED_INITIALIZER;
15 | + (instancetype)withTarget:(id)target selector:(SEL)selector;
16 |
17 | #pragma mark - Timing
18 |
19 | - (void)timerDidFireProxy:(NSTimer *)timer;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Phoenix/PHWeakTimerTarget.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | #import "PHWeakTimerTarget.h"
6 |
7 | @interface PHWeakTimerTarget ()
8 |
9 | @property(weak) id target;
10 | @property SEL selector;
11 |
12 | @end
13 |
14 | @implementation PHWeakTimerTarget
15 |
16 | #pragma mark - Initialising
17 |
18 | - (instancetype)initWithTarget:(id)target selector:(SEL)selector {
19 | if (self = [super init]) {
20 | self.target = target;
21 | self.selector = selector;
22 | }
23 |
24 | return self;
25 | }
26 |
27 | + (instancetype)withTarget:(id)target selector:(SEL)selector {
28 | return [[self alloc] initWithTarget:target selector:selector];
29 | }
30 |
31 | #pragma mark - Timing
32 |
33 | - (void)timerDidFireProxy:(NSTimer *)timer {
34 | // Target is still alive
35 | if (self.target) {
36 | #pragma clang diagnostic push
37 | #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
38 |
39 | [self.target performSelector:self.selector];
40 |
41 | #pragma clang diagnostic pop
42 |
43 | return;
44 | }
45 |
46 | [timer invalidate];
47 | }
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Phoenix/Phoenix.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Phoenix/PhoenixDebug.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.disable-library-validation
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Phoenix/main.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import Cocoa;
6 |
7 | int main(int argc, const char* argv[]) { return NSApplicationMain(argc, argv); }
8 |
--------------------------------------------------------------------------------
/PhoenixTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE)
17 | CFBundleShortVersionString
18 | $(MARKETING_VERSION)
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/PhoenixTests/PhoenixTests.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Phoenix is released under the MIT License. Refer to https://github.com/kasper/phoenix/blob/master/LICENSE.md
3 | */
4 |
5 | @import XCTest;
6 |
7 | @interface PhoenixTests : XCTestCase
8 |
9 | @end
10 |
11 | @implementation PhoenixTests
12 |
13 | - (void)testPass {
14 | XCTAssert(YES, @"Pass");
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | platform :osx, '10.14'
2 |
3 | target 'Phoenix' do
4 | pod 'Sparkle', '2.6.3'
5 | end
6 |
--------------------------------------------------------------------------------
/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Sparkle (2.6.3)
3 |
4 | DEPENDENCIES:
5 | - Sparkle (= 2.6.3)
6 |
7 | SPEC REPOS:
8 | trunk:
9 | - Sparkle
10 |
11 | SPEC CHECKSUMS:
12 | Sparkle: eab32aa3d9497ca8b64b1ce52cca9ece281fea70
13 |
14 | PODFILE CHECKSUM: f8600524839679a91c8e3726fc4f79ca659ec422
15 |
16 | COCOAPODS: 1.15.2
17 |
--------------------------------------------------------------------------------
/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Sparkle (2.6.3)
3 |
4 | DEPENDENCIES:
5 | - Sparkle (= 2.6.3)
6 |
7 | SPEC REPOS:
8 | trunk:
9 | - Sparkle
10 |
11 | SPEC CHECKSUMS:
12 | Sparkle: eab32aa3d9497ca8b64b1ce52cca9ece281fea70
13 |
14 | PODFILE CHECKSUM: f8600524839679a91c8e3726fc4f79ca659ec422
15 |
16 | COCOAPODS: 1.15.2
17 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Autoupdate:
--------------------------------------------------------------------------------
1 | Versions/Current/Autoupdate
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Modules:
--------------------------------------------------------------------------------
1 | Versions/Current/Modules
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/PrivateHeaders:
--------------------------------------------------------------------------------
1 | Versions/Current/PrivateHeaders
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Sparkle:
--------------------------------------------------------------------------------
1 | Versions/Current/Sparkle
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Updater.app:
--------------------------------------------------------------------------------
1 | Versions/Current/Updater.app
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Autoupdate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Autoupdate
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SPUDownloadData.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUDownloadData.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 8/10/16.
6 | // Copyright © 2016 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
12 | // Ignore incorrect warning
13 | #pragma clang diagnostic push
14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
15 | #import "SUExport.h"
16 | #pragma clang diagnostic pop
17 | #else
18 | #import
19 | #endif
20 |
21 | NS_ASSUME_NONNULL_BEGIN
22 |
23 | /**
24 | * A class for containing downloaded data along with some information about it.
25 | */
26 | SU_EXPORT @interface SPUDownloadData : NSObject
27 |
28 | /**
29 | * The raw data that was downloaded.
30 | */
31 | @property (nonatomic, readonly) NSData *data;
32 |
33 | /**
34 | * The URL that was fetched from.
35 | *
36 | * This may be different from the URL in the request if there were redirects involved.
37 | */
38 | @property (nonatomic, readonly, copy) NSURL *URL;
39 |
40 | /**
41 | * The IANA charset encoding name if available. Eg: "utf-8"
42 | */
43 | @property (nonatomic, readonly, nullable, copy) NSString *textEncodingName;
44 |
45 | /**
46 | * The MIME type if available. Eg: "text/plain"
47 | */
48 | @property (nonatomic, readonly, nullable, copy) NSString *MIMEType;
49 |
50 | @end
51 |
52 | NS_ASSUME_NONNULL_END
53 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUStandardUserDriver.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 2/14/16.
6 | // Copyright © 2016 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
12 | // Ignore incorrect warning
13 | #pragma clang diagnostic push
14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
15 | #import "SPUUserDriver.h"
16 | #import "SUExport.h"
17 | #pragma clang diagnostic pop
18 | #else
19 | #import
20 | #import
21 | #endif
22 |
23 | NS_ASSUME_NONNULL_BEGIN
24 |
25 | @protocol SPUStandardUserDriverDelegate;
26 |
27 | /**
28 | Sparkle's standard built-in user driver for updater interactions
29 | */
30 | SU_EXPORT @interface SPUStandardUserDriver : NSObject
31 |
32 | /**
33 | Initializes a Sparkle's standard user driver for user update interactions
34 |
35 | @param hostBundle The target bundle of the host that is being updated.
36 | @param delegate The optional delegate to this user driver.
37 | */
38 | - (instancetype)initWithHostBundle:(NSBundle *)hostBundle delegate:(nullable id)delegate;
39 |
40 | /**
41 | Use initWithHostBundle:delegate: instead.
42 | */
43 | - (instancetype)init NS_UNAVAILABLE;
44 |
45 | @end
46 |
47 | NS_ASSUME_NONNULL_END
48 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUUpdateCheck.h
3 | // SPUUpdateCheck
4 | //
5 | // Created by Mayur Pawashe on 8/28/21.
6 | // Copyright © 2021 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #ifndef SPUUpdateCheck_h
10 | #define SPUUpdateCheck_h
11 |
12 | /**
13 | Describes the type of update check being performed.
14 |
15 | Each update check corresponds to an update check method on `SPUUpdater`.
16 | */
17 | typedef NS_ENUM(NSInteger, SPUUpdateCheck)
18 | {
19 | /**
20 | The user-initiated update check corresponding to `-[SPUUpdater checkForUpdates]`.
21 | */
22 | SPUUpdateCheckUpdates = 0,
23 | /**
24 | The background scheduled update check corresponding to `-[SPUUpdater checkForUpdatesInBackground]`.
25 | */
26 | SPUUpdateCheckUpdatesInBackground = 1,
27 | /**
28 | The informational probe update check corresponding to `-[SPUUpdater checkForUpdateInformation]`.
29 | */
30 | SPUUpdateCheckUpdateInformation = 2
31 | };
32 |
33 | #endif /* SPUUpdateCheck_h */
34 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUUpdatePermissionRequest.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 8/14/16.
6 | // Copyright © 2016 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
12 | // Ignore incorrect warning
13 | #pragma clang diagnostic push
14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
15 | #import "SUExport.h"
16 | #pragma clang diagnostic pop
17 | #else
18 | #import
19 | #endif
20 |
21 | NS_ASSUME_NONNULL_BEGIN
22 |
23 | /**
24 | This class represents information needed to make a permission request for checking updates.
25 | */
26 | SU_EXPORT @interface SPUUpdatePermissionRequest : NSObject
27 |
28 | /**
29 | Initializes a new update permission request instance.
30 |
31 | @param systemProfile The system profile information.
32 | */
33 | - (instancetype)initWithSystemProfile:(NSArray *> *)systemProfile;
34 |
35 | /**
36 | A read-only property for the user's system profile.
37 | */
38 | @property (nonatomic, readonly) NSArray *> *systemProfile;
39 |
40 | @end
41 |
42 | NS_ASSUME_NONNULL_END
43 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SUAppcast.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUAppcast.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 3/12/06.
6 | // Copyright 2006 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SUAPPCAST_H
10 | #define SUAPPCAST_H
11 |
12 | #import
13 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
14 | // Ignore incorrect warning
15 | #pragma clang diagnostic push
16 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
17 | #import "SUExport.h"
18 | #pragma clang diagnostic pop
19 | #else
20 | #import
21 | #endif
22 |
23 | NS_ASSUME_NONNULL_BEGIN
24 |
25 | @class SUAppcastItem;
26 |
27 | /**
28 | The appcast representing a collection of `SUAppcastItem` items in the feed.
29 | */
30 | SU_EXPORT @interface SUAppcast : NSObject
31 |
32 | - (instancetype)init NS_UNAVAILABLE;
33 |
34 | /**
35 | The collection of update items.
36 |
37 | These `SUAppcastItem` items are in the same order as specified in the appcast XML feed and are thus not sorted by version.
38 | */
39 | @property (readonly, nonatomic, copy) NSArray *items;
40 |
41 | @end
42 |
43 | NS_ASSUME_NONNULL_END
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SUExport.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUExport.h
3 | // Sparkle
4 | //
5 | // Created by Jake Petroules on 2014-08-23.
6 | // Copyright (c) 2014 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #ifndef SUEXPORT_H
10 | #define SUEXPORT_H
11 |
12 | #ifdef BUILDING_SPARKLE
13 | #define SU_EXPORT __attribute__((visibility("default")))
14 | #else
15 | #define SU_EXPORT
16 | #endif
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUVersionComparisonProtocol.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 12/21/07.
6 | // Copyright 2007 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H
10 | #define SUVERSIONCOMPARISONPROTOCOL_H
11 |
12 | #import
13 |
14 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
15 | // Ignore incorrect warning
16 | #pragma clang diagnostic push
17 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
18 | #import "SUExport.h"
19 | #pragma clang diagnostic pop
20 | #else
21 | #import
22 | #endif
23 |
24 | NS_ASSUME_NONNULL_BEGIN
25 |
26 | /**
27 | Provides version comparison facilities for Sparkle.
28 | */
29 | @protocol SUVersionComparison
30 |
31 | /**
32 | An abstract method to compare two version strings.
33 |
34 | Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a,
35 | and NSOrderedSame if they are equivalent.
36 | */
37 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD!
38 |
39 | @end
40 |
41 | NS_ASSUME_NONNULL_END
42 | #endif
43 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Headers/Sparkle.h:
--------------------------------------------------------------------------------
1 | //
2 | // Sparkle.h
3 | // Sparkle
4 | //
5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
6 | // Copyright 2006 Andy Matuschak. All rights reserved.
7 | //
8 |
9 | #ifndef SPARKLE_H
10 | #define SPARKLE_H
11 |
12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
13 | // there are name-space collisions) so we can list all of them to start with:
14 |
15 | #import
16 | #import
17 | #import
18 | #import
19 | #import
20 | #import
21 | #import
22 | #import
23 | #import
24 | #import
25 | #import
26 | #import
27 | #import
28 | #import
29 |
30 | // UI bits
31 | #import
32 | #import
33 | #import
34 |
35 | // Deprecated bits
36 | #import
37 | #import
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module Sparkle {
2 | umbrella header "Sparkle.h"
3 | export *
4 |
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SPUAppcastItemStateResolver.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUAppcastItemStateResolver.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 5/31/21.
6 | // Copyright © 2021 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
12 | // Ignore incorrect warning
13 | #pragma clang diagnostic push
14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
15 | #import "SUExport.h"
16 | #pragma clang diagnostic pop
17 | #else
18 | #import
19 | #endif
20 |
21 | NS_ASSUME_NONNULL_BEGIN
22 |
23 | @class SUStandardVersionComparator, SPUAppcastItemState;
24 | @protocol SUVersionComparison;
25 |
26 | /**
27 | Private exposed class used to resolve Appcast Item properties that rely on external factors such as a host.
28 | This resolver is used for constructing appcast items.
29 | */
30 | SU_EXPORT @interface SPUAppcastItemStateResolver : NSObject
31 |
32 | - (instancetype)init NS_UNAVAILABLE;
33 |
34 | - (instancetype)initWithHostVersion:(NSString *)hostVersion applicationVersionComparator:(id)applicationVersionComparator standardVersionComparator:(SUStandardVersionComparator *)standardVersionComparator;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SPUGentleUserDriverReminders.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUGentleUserDriverReminders.h
3 | // Sparkle
4 | //
5 | // Copyright © 2022 Sparkle Project. All rights reserved.
6 | //
7 |
8 | #ifndef SPUGentleUserDriverReminders_h
9 | #define SPUGentleUserDriverReminders_h
10 |
11 | /**
12 | A private protocol for user drivers implementing gentle scheduled reminders
13 | */
14 | @protocol SPUGentleUserDriverReminders
15 |
16 | - (void)logGentleScheduledUpdateReminderWarningIfNeeded;
17 |
18 | - (void)resetTimeSinceOpportuneUpdateNotice;
19 |
20 | @end
21 |
22 | #endif /* SPUGentleUserDriverReminders_h */
23 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SPUInstallationType.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUInstallationType.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 7/24/16.
6 | // Copyright © 2016 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #ifndef SPUInstallationType_h
10 | #define SPUInstallationType_h
11 |
12 | #define SPUInstallationTypeApplication @"application" // the default installation type for ordinary application updates
13 | #define SPUInstallationTypeGuidedPackage @"package" // the preferred installation type for package installations
14 | #define SPUInstallationTypeInteractivePackage @"interactive-package" // the deprecated installation type; use guided package instead
15 |
16 | #define SPUInstallationTypesArray (@[SPUInstallationTypeApplication, SPUInstallationTypeGuidedPackage, SPUInstallationTypeInteractivePackage])
17 | #define SPUValidInstallationType(x) ((x != nil) && [SPUInstallationTypesArray containsObject:(NSString * _Nonnull)x])
18 |
19 | #endif /* SPUInstallationType_h */
20 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SPUStandardUserDriver+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUStandardUserDriver+Private.h
3 | // Sparkle
4 | //
5 | // Copyright © 2022 Sparkle Project. All rights reserved.
6 | //
7 |
8 | #ifndef SPUStandardUserDriver_Private_h
9 | #define SPUStandardUserDriver_Private_h
10 |
11 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
12 | // Ignore incorrect warning
13 | #pragma clang diagnostic push
14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
15 | #import "SPUStandardUserDriver.h"
16 | #import "SUExport.h"
17 | #pragma clang diagnostic pop
18 | #else
19 | #import
20 | #import
21 | #endif
22 |
23 | @class NSWindowController;
24 |
25 | NS_ASSUME_NONNULL_BEGIN
26 |
27 | SU_EXPORT @interface SPUStandardUserDriver (Private)
28 |
29 | /**
30 | Private API for accessing the active update alert's window controller.
31 | This is the window controller that shows the update's release notes and install choices.
32 | This can be accessed in -[SPUStandardUserDriverDelegate standardUserDriverWillHandleShowingUpdate:forUpdate:state:]
33 | */
34 | @property (nonatomic, readonly, nullable) NSWindowController *activeUpdateAlert;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
40 | #endif /* SPUStandardUserDriver_Private_h */
41 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SPUUserAgent+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // SPUUserAgent+Private.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 11/12/21.
6 | // Copyright © 2021 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
12 | // Ignore incorrect warning
13 | #pragma clang diagnostic push
14 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
15 | #import "SUExport.h"
16 | #pragma clang diagnostic pop
17 | #else
18 | #import
19 | #endif
20 |
21 | NS_ASSUME_NONNULL_BEGIN
22 |
23 | @class SUHost;
24 |
25 | SU_EXPORT NSString *SPUMakeUserAgentWithHost(SUHost *responsibleHost, NSString * _Nullable displayNameSuffix);
26 |
27 | SU_EXPORT NSString *SPUMakeUserAgentWithBundle(NSBundle *responsibleBundle, NSString * _Nullable displayNameSuffix);
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SUAppcastItem+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUAppcastItem+Private.h
3 | // Sparkle
4 | //
5 | // Created by Mayur Pawashe on 4/30/21.
6 | // Copyright © 2021 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #ifndef SUAppcastItem_Private_h
10 | #define SUAppcastItem_Private_h
11 |
12 | #import
13 | #import
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | // Available in SPUAppcastItemStateResolver.h (a private exposed header)
18 | @class SPUAppcastItemStateResolver;
19 | @class SUSignatures;
20 |
21 | @interface SUAppcastItem (Private)
22 |
23 | /**
24 | Initializes with data from a dictionary provided by the RSS class and state resolver
25 |
26 | This initializer method is intended to be marked "private" and discouraged from public usage.
27 | This method is available however. Talk to us to describe your use case and if you need to construct appcast items yourself.
28 | */
29 | - (nullable instancetype)initWithDictionary:(NSDictionary *)dict relativeToURL:(NSURL * _Nullable)appcastURL stateResolver:(SPUAppcastItemStateResolver *)stateResolver failureReason:(NSString * _Nullable __autoreleasing *_Nullable)error;
30 |
31 | /**
32 | The EdDSA and DSA signatures along with their statuses.
33 | */
34 | @property (readonly, nonatomic, nullable) SUSignatures *signatures;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
40 | #endif /* SUAppcastItem_Private_h */
41 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/PrivateHeaders/SUInstallerLauncher+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // SUInstallerLauncher+Private.h
3 | // SUInstallerLauncher+Private
4 | //
5 | // Created by Mayur Pawashe on 8/21/21.
6 | // Copyright © 2021 Sparkle Project. All rights reserved.
7 | //
8 |
9 | #ifndef SUInstallerLauncher_Private_h
10 | #define SUInstallerLauncher_Private_h
11 |
12 | #if defined(BUILDING_SPARKLE_SOURCES_EXTERNALLY)
13 | // Ignore incorrect warning
14 | #pragma clang diagnostic push
15 | #pragma clang diagnostic ignored "-Wquoted-include-in-framework-header"
16 | #import "SUExport.h"
17 | #import "SPUInstallationType.h"
18 | #pragma clang diagnostic pop
19 | #else
20 | #import
21 | // Chances are clients will need this too
22 | #import
23 | #endif
24 |
25 | @class NSString;
26 |
27 | /**
28 | Private API for determining if the system needs authorization access to update a bundle path
29 |
30 | This API is not supported when used directly from a Sandboxed applications and will always return @c YES in that case.
31 |
32 | @param bundlePath The bundle path to test if authorization is needed when performing an update that replaces this bundle.
33 | @return @c YES if Sparkle thinks authorization is needed to update the @c bundlePath, otherwise @c NO.
34 | */
35 | SU_EXPORT BOOL SPUSystemNeedsAuthorizationAccessForBundlePath(NSString *bundlePath);
36 |
37 | #endif /* SUInstallerLauncher_Private_h */
38 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css:
--------------------------------------------------------------------------------
1 | @media (prefers-color-scheme: dark) {
2 | html {
3 | color-scheme: dark;
4 | color: white;
5 | background: transparent;
6 | }
7 | :link {
8 | color: #419CFF;
9 | }
10 | :link:active {
11 | color: #FF1919;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/SUStatus.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/SUStatus.nib
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "محدث البرنامج";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "معلومات عن الإصدار:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "تذكيري لاحقًا";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "تخطي هذا الإصدار";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "تثبيت التحديث";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "تنزيل التحديثات وتثبيتها تلقائيًا في المستقبل";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ar.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "عدم التحقق";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "هل تريد أن يتم التحقق من وجود تحديثات تلقائيًا؟";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "تضمين تقرير عن النظام دون ذكر معلومات عن المستخدم";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "تنزيل التحديثات وتثبيتها تلقائيًا في المست";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "التحقق تلقائيًا";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ar.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ca.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Actualització del programari";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Notes d'aquesta versió:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Recorda-m'ho més tard";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Omet aquesta versió";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instal·la l'actualització";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Descarrega i instal·la les actualitzacions automàticament en el futur";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ca.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Aktualizace aplikace";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Poznámky k vydání:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Připomenout později";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Přeskočit tuto verzi";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instalovat aktualizaci";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "V budoucnu stahovat a instalovat aktualizace automaticky";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/cs.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Informace z anonymního systémového profilu pomáhají vývojářům lépe plánovat budoucí vývoj aplikace.\nBudete-li mít nějaký dotaz, obraťte se na nás.\n\nToto jsou informace, které budou odeslány:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Nevyhledávat";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Vyhledávat aktualizace automaticky?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Odeslat anonymní systémový profil";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Stahovat a instalovat aktualizace automaticky";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Automaticky vyhledávat";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/cs.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Software Update";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Om denne udgivelse:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Påmind mig senere";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Spring over";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installer";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Hent og installer opdateringer automatisk i fremtiden";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/da.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Søg ikke";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Søg efter opdateringer automatisk?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Vedhæft anonym systemprofil";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Hent og installer opdateringer automatisk";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Søg automatisk";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/da.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Softwareupdate";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Versionshinweise:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Später erinnern";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Diese Version überspringen";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installieren";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Updates in Zukunft automatisch laden und installieren";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/de.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Das anonymisierte Systemprofil unterstützt uns bei der zukünftigen Entwicklung. Bitte kontaktiere uns, wenn du Fragen hierzu hast.\n\nDiese Informationen würden an uns gesendet werden:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Nicht suchen";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Automatisch nach Updates suchen?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Anonymisiertes Systemprofil übertragen";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Updates automatisch laden und installieren";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Automatisch suchen";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/de.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/el.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Ενημέρωση προγράμματος";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Σημειώσεις Έκδοσης:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Υπενθύμιση Αργότερα";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Παράλειψη Έκδοσης";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Εγκατάσταση Ενημέρωσης";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Αυτόματη λήψη και εγκατάσταση ενημερώσεων στο μέλλον";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/el.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
3 | "5.title" = "Software Update";
4 |
5 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
6 | "170.title" = "Release Notes:";
7 |
8 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
9 | "171.title" = "Remind Me Later";
10 |
11 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
12 | "172.title" = "Skip This Version";
13 |
14 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
15 | "173.title" = "Install Update";
16 |
17 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
18 | "175.title" = "Automatically download and install updates in the future";
19 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/es.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Actualización de software";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Notas de la versión:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Recordármelo";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "No instalar esta versión";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instalar actualización";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Descargar e instalar actualizaciones automáticamente";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/es.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fa.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Ohjelmiston pävitys";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Tietoa päivityksestä:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Muistuta myöhemmin";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Ohita tämä versio";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Asenna päivitys";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Hae ja asenna päivitykset jatkossa automaattisesti";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fi.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Älä tarkista";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Tarkista päivitykset käynnistyksen yhteydessä?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Sisällytä nimetön järjestelmäprofiili";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Hae ja asenna päivitykset automaattisesti";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Tarkista automaattisesti";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fi.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fr.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Mise à jour logiciel";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Notes de version :";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Pas maintenant";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Ignorer cette version";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installer";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Télécharger et installer automatiquement les mises à jour";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/fr.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/he.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "עדכון תכנה";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "פרטי גרסה:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "הזכר לי מאוחר יותר";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "דלג על גרסה זו";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "התקן עדכון";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "הורד והתקן עדכונים אוטומטית גם בעתיד";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/he.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Aktualiziranje softvera";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Napomene uz izdanje:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Podsjeti me kasnije";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Zanemari ovu verziju";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instaliraj nadogradnju";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Ubuduće preuzmi i instaliraj nadogradnje automatski";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hr.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonimizirani podaci profila susatava pomažu nam planirati budući razvoj. Kontaktiraj nas, ako imaš pitanja o tome.\n\nŠalju se sljedeći podaci:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Nemoj provjeravati";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Automatski provjeriti nadogradnje?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Uključi anonimizirane podatke o profilu sustava";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Preuzmi i instaliraj nadogradnje automatski";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Provjeri automatski";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hr.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Szoftverfrissítés";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Változások az előző verzióhoz képest:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Emlékeztessen később";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Verzió kihagyása";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Telepítés";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "A jövőben automatikusan töltse le és telepítse a frissítéseket";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hu.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Manuális keresés";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Keresse automatikusan a frissítéseket?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Anonim rendszerinformáció küldése";
18 |
19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
20 | "OhZ-1K-DmA.title" = "Automatikus keresés";
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/hu.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Hugbúnaðaruppfærsla";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Útgáfupunktar:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Áminntu mig síðar";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Sleppa þessari útgáfu";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Innsetja";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Sækja og innsetja uppfærslur sjálfkrafa framvegis";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/is.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Upplýsingar úr nafnlausum kerfisskýrslum eru notaðar til að hjálpa okkur við framtíðarþróun hugbúnaðarins. Ekki hika við að hafa samband ef spurningar vakna um þetta.\n\nÞetta eru upplýsingarnar sem yrðu sendar:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Ekki kanna";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Athuga sjálfkrafa með uppfærslur?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Innifela nafnlausa kerfisskýrslu";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Sækja og innsetja uppfærslur sjálfkrafa";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Kanna sjálfkrafa";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/is.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/it.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Aggiornamento Software";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Note di rilascio:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Ricordamelo più tardi";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Ignora questa versione";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installa";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "In futuro scarica e installa automaticamente gli aggiornamenti";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/it.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "ソフトウェア・アップデート";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "リリースノート:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "あとで通知";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "このバージョンはスキップ";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "アップデートをインストール";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "今後はアップデートのダウンロードとインストールを自動で行う";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ja.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "匿名のシステムプロファイル情報は、今後の開発の参考にさせていただきます。この件に関してご質問があればご連絡下さい。\n\n以下の情報が送信されます:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "確認しない";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "アップデートを自動で確認しますか?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "匿名のシステム情報を含める";
18 |
19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
20 | "OhZ-1K-DmA.title" = "自動で確認";
21 |
22 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
23 | "AUc-33-qGN.title" = "アップデートを自動でダウンロードしてインストール";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ja.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "소프트웨어 업데이트";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "릴리즈 노트:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "나중에";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "이 버전 건너뛰기";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "업데이트 설치";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "향후 업데이트 자동 다운로드 및 설치";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ko.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "176"; */
8 | "OhZ-1K-DmA.title" = "자동으로 확인";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "177"; */
11 | "cCJ-V0-aTi.title" = "취소";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "178"; */
14 | "gmh-T4-BO0.title" = "업데이트를 자동으로 확인할까요?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "180"; */
17 | "gz7-LM-gNf.title" = "익명 시스템 정보 포함";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "업데이트 자동 다운로드 및 설치";
21 |
22 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
23 | "183.title" = "익명으로 보내지는 시스템 정보로 차후 프로그램 개발에 도움이 될 수 있습니다. 질문이 있으시면 연락 주십시오.\n\n아래 정보가 전송될 것입니다.";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ko.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Programoppdatering";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Om oppdateringen:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Utsett";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Hopp over";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installer";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Last ned og installer automatisk i fremtiden";
18 |
19 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nb.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Den anonyme systemprofilen hjelper oss med å planlegge fremtidig utviklingsarbeid. Ta gjerne kontakt med oss hvis du har spørsmål om dette.
\nFølgende innhold vil bli sendt:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Ikke søk";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Søk etter oppdateringer automatisk?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Inkluder anonym systemprofil";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Last ned og installer automatisk";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Søk automatisk";
24 |
25 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nb.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Software-update";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Versiegegevens:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Herinner mij later";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Sla deze versie over";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installeer update";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Download en installeer updates voortaan automatisch";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nl.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
2 | "183.title" = "Aan de hand van anonieme informatie over het systeemprofiel kunnen wij toekomstige ontwikkelingswerkzaamheden beter plannen. Neem contact met ons op als je hierover vragen hebt.\n\nDit is de informatie die wordt verzonden:";
3 |
4 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
5 | "cCJ-V0-aTi.title" = "Zoek niet";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
8 | "gmh-T4-BO0.title" = "Automatisch zoeken naar updates?";
9 |
10 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
11 | "gz7-LM-gNf.title" = "Voeg anoniem systeemprofiel bij";
12 |
13 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
14 | "AUc-33-qGN.title" = "Download en installeer updates automatisch";
15 |
16 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
17 | "OhZ-1K-DmA.title" = "Zoek automatisch";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nl.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nn.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Programoppdatering";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Om oppdateringen:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Utsett";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Hopp over";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installer";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Last ned og installer automatisk i framtida";
18 |
19 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nn.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Den anonyme systemprofilen hjelper oss med å planleggja framtidig utviklingsarbeid. Ta gjerne kontakt med oss om du har spørsmål om dette.
\nFølgjande innhald vil bli sendt:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Ikkje sjå etter";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Sjå etter etter oppdateringar automatisk?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Inkluder anonym systemprofil";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Last ned og installer automatisk";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Sjå etter automatisk";
24 |
25 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nn.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/nn.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Uaktualnienie oprogramowania";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Szczegóły wydania:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Przypomnij później";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Pomiń tę wersję";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Zainstaluj teraz";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Automatycznie pobierz i zainstaluj przyszłe uaktualnienia";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pl.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Nie sprawdzaj";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Sprawdzać automatycznie uaktualnienia?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Załącz anonimowe informacje o systemie";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Automatycznie pobierz i zainstaluj uaktualnienia";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Sprawdzaj automatycznie";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pl.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Atualização de Software";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Notas do Lançamento:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Mais Tarde";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Ignorar Esta Versão";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instalar Atualização";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Baixar e instalar atualizações futuras automaticamente";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pt-BR.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Actualização de Software";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Notas de lançamento:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Lembrar mais tarde";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Saltar esta versão";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instalar actualização";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "No futuro, transferir e instalar actualizações automaticamente";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/pt-PT.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Actualizarea aplicației";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Note de ediție:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Amintește-mi mai târziu";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Sari peste…";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Instalează actualizarea";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "În viitor descarcă și instalează în automat actualizările";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ro.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Nu verifica";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Verifică pentru actualizări în mod automat?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Include profil anomin de sistem";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Descarcă și instalează în automat actualizările";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Verifică în mod automat";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ro.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Обновление программного обеспечения";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Заметки о выпуске:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Напоминать позже";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Пропустить эту версию";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Установить обновление";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Автоматически загружать и устанавливать обновления в будущем";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/ru.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Aktualizácia softvéru";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Poznámky k vydaniu:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Pripomenúť neskôr";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Vynechať túto verziu";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Nainštalovať";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "V budúcnosti aktualizácie preberať a inštalovať automaticky";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sk.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonymný profil systému nám umožní zlepšiť plánovanie budúceho vývoja aplikácie. Ak máte ohľadom tohto akékoľvek otázky, neváhajte a kontaktujte nás.\n\nOdosielané budú nasledujúce informácie:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Nekontrolovať";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Kontrolovať aktualizácie automaticky?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Zahrnúť anonymný profil systému";
18 |
19 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
20 | "OhZ-1K-DmA.title" = "Kontrolovať automaticky";
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sk.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Posodabljanje programske opreme";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Opombe ob izdaji:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Spomni me kasneje";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Preskoči to verzijo";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Namesti posodobitev";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "V prihodnje samodejno nameščaj posodobitve";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sl.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Anonimni profil sistema se uporablja za načrtovanje nadaljnega razvoja programa. V primeru vprašanj nas lahko kontaktirate.\n\nPošljejo se sledeče informacije:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Ne preverjaj";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Naj občasno preverjam, če so na voljo posodobitve?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Vključi anonimni profil sistema";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Samodejno namestite posodobitve";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Samodejno preverjaj";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sl.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sv.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Programuppdatering";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Versionsinformation:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Påminn mig senare";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Hoppa över denna version";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Installera uppdatering";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Hämta och installera nya uppdateringar automatiskt i framtiden.";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/sv.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "อัพเดทซอฟต์แวร์";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Release Notes:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "เตือนในภายหลัง";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "ข้ามเวอร์ชั่นนี้";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "ติดตั้งอัพเดท";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "ดาวน์โหลดและติดตั้งอัพเดทโดยอัตโนมัติในอนาคต";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/th.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "ข้อมูลระบบแบบนิรนามช่วยในการวางแผนพัฒนาแอปพลิเคชันของเราในอนาคต กรุณาติดต่อเราถ้าคุณมีข้อสงสัยในเรื่องนี้\n\nนี่คือข้อมูลที่จะถูกส่งไป:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "ไม่ต้องตรวจสอบ";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "ตรวจสอบอัพเดทอัตโนมัติ?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "ส่งข้อมูลระบบแบบนิรนาม";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "ดาวน์โหลดและติดตั้งอัพเดทโดยอัตโนมัติ";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "ตรวจสอบโดยอัตโนมัติ";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/th.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Yazılım Güncelleme";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Sürüm notları:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Daha Sonra Anımsat";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Bu Sürümü Atla";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Yükle";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Gelecekte güncellemeleri otomatik olarak indir ve yükle";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/tr.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Gönderdiğiniz anonim sistem bilgileri bu yazılımın geliştirilmesi için kullanılacaktır. Konu ile ilgili ayrıntılı bilgi için lütfen bizimle iletişime geçin. Gönderilecek bilgiler:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Denetleme";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Güncellemeler otomatik olarak denetlensin mi?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Anonim sistem profilini içer";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Güncellemeleri otomatik olarak indir ve yükle";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Otomatik Olarak Denetle";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/tr.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "Оновлення програмного забезпечення";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "Примітки про нову версію:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "Нагадати пізніше";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "Пропустити цю версію";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "Встановити оновлення";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "Автоматично завантажувати та встановлювати оновлення у майбутньому";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/uk.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "Використання анонімного профілю системи допомагає нам у планування майбутньої розробки. Якщо у вас виникли питання щодо цього, звертайтесь до нас.\n\nІнформація, що буде надіслано:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "Не перервіряти";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "Виконувати автоматичну перевірку оновлень?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "Автоматично надсилати профіль системи";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "Автоматично завантажувати та встановлювати оновлення";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "Перевіряти автоматично";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/uk.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "软件更新";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "更新信息:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "稍后提示我";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "跳过这个版本";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "安装更新";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "以后自动下载并安装更新";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "无记名系统概况信息被用于帮助我们安排将来的开发工作。如果对此存在疑问请联系我们。\n\n这是将要被发送的信息::";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "不核查";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "自动核查更新?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "包括无记名系统概况";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "自动下载并安装更新";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "自动核查";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_CN.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "軟體更新";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "更新事項:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "稍後提醒我";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "跳過此版本";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "安裝更新";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "以後自動下載並安裝更新";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "匿名系統概況資訊可用來協助我等計畫未來開發工作。若對此有任何疑問,請聯繫我等。\n\n以下係會傳送嘅資訊:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "毋檢查";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "自動檢查更新?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "包含匿名系統概況";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "自動下載並安裝更新";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "自動檢查";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_HK.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdateAlert.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */
2 | "5.title" = "軟體更新";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */
5 | "170.title" = "更新事項:";
6 |
7 | /* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */
8 | "171.title" = "暫緩提醒";
9 |
10 | /* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */
11 | "172.title" = "跳過此版本";
12 |
13 | /* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */
14 | "173.title" = "安裝更新項目";
15 |
16 | /* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */
17 | "175.title" = "自動下載並安裝未來的更新項目";
18 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.strings:
--------------------------------------------------------------------------------
1 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */
2 | "43.title" = "Text Cell";
3 |
4 | /* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */
5 | "45.title" = "Text Cell";
6 |
7 | /* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */
8 | "183.title" = "匿名系統描述資訊可用來協助我們計畫未來的開發工作。若您有任何相關問題,請與我們聯繫。\n\n以下是會傳送的資訊:";
9 |
10 | /* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "cCJ-V0-aTi"; */
11 | "cCJ-V0-aTi.title" = "不要檢查";
12 |
13 | /* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "gmh-T4-BO0"; */
14 | "gmh-T4-BO0.title" = "自動檢查更新項目?";
15 |
16 | /* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "gz7-LM-gNf"; */
17 | "gz7-LM-gNf.title" = "包含匿名的系統描述資料";
18 |
19 | /* Class = "NSButtonCell"; title = "Automatically download and install updates"; ObjectID = "AUc-33-qGN"; */
20 | "AUc-33-qGN.title" = "自動下載並安裝更新項目";
21 |
22 | /* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "OhZ-1K-DmA"; */
23 | "OhZ-1K-DmA.title" = "自動檢查";
24 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Resources/zh_TW.lproj/Sparkle.strings
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Sparkle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Sparkle
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | B
--------------------------------------------------------------------------------
/Pods/Sparkle/Sparkle.framework/XPCServices:
--------------------------------------------------------------------------------
1 | Versions/Current/XPCServices
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Autoupdate.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.Autoupdate
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Autoupdate.dSYM/Contents/Resources/DWARF/Autoupdate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/Autoupdate.dSYM/Contents/Resources/DWARF/Autoupdate
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/BinaryDelta.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.BinaryDelta
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/BinaryDelta.dSYM/Contents/Resources/DWARF/BinaryDelta
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Downloader.xpc.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.org.sparkle-project.DownloaderService
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 2.6.3
17 | CFBundleVersion
18 | 2039
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Downloader.xpc.dSYM/Contents/Resources/DWARF/Downloader:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/Downloader.xpc.dSYM/Contents/Resources/DWARF/Downloader
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Installer.xpc.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.org.sparkle-project.InstallerLauncher
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 2.6.3
17 | CFBundleVersion
18 | 2039
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Installer.xpc.dSYM/Contents/Resources/DWARF/Installer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/Installer.xpc.dSYM/Contents/Resources/DWARF/Installer
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Sparkle Test App.app.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.org.sparkle-project.SparkleTestApp
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.5.1
17 | CFBundleVersion
18 | 1.5.1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Sparkle Test App.app.dSYM/Contents/Resources/DWARF/Sparkle Test App:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/Sparkle Test App.app.dSYM/Contents/Resources/DWARF/Sparkle Test App
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Sparkle.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.org.sparkle-project.Sparkle
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 2.6.3
17 | CFBundleVersion
18 | 2039
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Sparkle.framework.dSYM/Contents/Resources/DWARF/Sparkle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/Sparkle.framework.dSYM/Contents/Resources/DWARF/Sparkle
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Updater.app.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.org.sparkle-project.Sparkle.Updater
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 2.6.3
17 | CFBundleVersion
18 | 2039
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/Updater.app.dSYM/Contents/Resources/DWARF/Updater:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/Updater.app.dSYM/Contents/Resources/DWARF/Updater
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/generate_appcast.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.generate_appcast
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/generate_appcast.dSYM/Contents/Resources/DWARF/generate_appcast
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/generate_keys.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.generate_keys
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/generate_keys.dSYM/Contents/Resources/DWARF/generate_keys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/generate_keys.dSYM/Contents/Resources/DWARF/generate_keys
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/sign_update.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.sign_update
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleVersion
18 | 1
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/sign_update.dSYM/Contents/Resources/DWARF/sign_update:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/sign_update.dSYM/Contents/Resources/DWARF/sign_update
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/sparkle.app.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.org.sparkle-project.sparkle-cli
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 2.6.3
17 | CFBundleVersion
18 | 2039
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Pods/Sparkle/Symbols/sparkle.app.dSYM/Contents/Resources/DWARF/sparkle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/Symbols/sparkle.app.dSYM/Contents/Resources/DWARF/sparkle
--------------------------------------------------------------------------------
/Pods/Sparkle/bin/BinaryDelta:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/bin/BinaryDelta
--------------------------------------------------------------------------------
/Pods/Sparkle/bin/generate_appcast:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/bin/generate_appcast
--------------------------------------------------------------------------------
/Pods/Sparkle/bin/generate_keys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/bin/generate_keys
--------------------------------------------------------------------------------
/Pods/Sparkle/bin/old_dsa_scripts/sign_update:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 | set -o pipefail
4 | if [ "$#" -ne 2 ]; then
5 | echo "Usage: $0 update_archive_file dsa_priv.pem"
6 | echo "This is an old DSA signing script for deprecated DSA keys."
7 | echo "Do not use this for new applications."
8 | exit 1
9 | fi
10 | openssl=/usr/bin/openssl
11 | version=`$openssl version`
12 | if [[ $version =~ "OpenSSL 0.9" ]]; then
13 | # pre-10.13 system: Fall back to OpenSSL DSS1 digest because it does not like the -sha1 option
14 | $openssl dgst -sha1 -binary < "$1" | $openssl dgst -dss1 -sign "$2" | $openssl enc -base64
15 | else
16 | # 10.13 and later: Use LibreSSL SHA1 digest
17 | $openssl dgst -sha1 -binary < "$1" | $openssl dgst -sha1 -sign "$2" | $openssl enc -base64
18 | fi
19 |
--------------------------------------------------------------------------------
/Pods/Sparkle/bin/sign_update:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/Pods/Sparkle/bin/sign_update
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_Phoenix : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_Phoenix
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-Phoenix/Pods-Phoenix-frameworks.sh
2 | ${PODS_ROOT}/Sparkle/Sparkle.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-Phoenix/Pods-Phoenix-frameworks.sh
2 | ${PODS_ROOT}/Sparkle/Sparkle.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sparkle.framework
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Sparkle"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' @loader_path/../Frameworks
5 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "Sparkle"
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
9 | PODS_ROOT = ${SRCROOT}/Pods
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods-Phoenix/Pods-Phoenix.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Sparkle"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' @loader_path/../Frameworks
5 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "Sparkle"
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
9 | PODS_ROOT = ${SRCROOT}/Pods
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Sparkle/Sparkle-copy-dsyms-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Sparkle/Sparkle.framework.dSYM
--------------------------------------------------------------------------------
/Pods/Target Support Files/Sparkle/Sparkle-copy-dsyms-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${DWARF_DSYM_FOLDER_PATH}/Sparkle.framework.dSYM
--------------------------------------------------------------------------------
/Pods/Target Support Files/Sparkle/Sparkle.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Sparkle
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Sparkle"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @loader_path/../Frameworks
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Sparkle
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Sparkle/Sparkle.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Sparkle
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Sparkle"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @loader_path/../Frameworks
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Sparkle
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Sparkle/Sparkle.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Sparkle
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Sparkle"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) @loader_path/../Frameworks
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Sparkle
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
12 |
--------------------------------------------------------------------------------
/assets/safari-advanced-preferences.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/safari-advanced-preferences.png
--------------------------------------------------------------------------------
/assets/safari-develop-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/safari-develop-menu.png
--------------------------------------------------------------------------------
/assets/screenshot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/screenshot.gif
--------------------------------------------------------------------------------
/assets/screenshot.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/screenshot.psd
--------------------------------------------------------------------------------
/assets/status-item.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/status-item.psd
--------------------------------------------------------------------------------
/assets/web-inspector-console.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/web-inspector-console.png
--------------------------------------------------------------------------------
/assets/web-inspector-debugger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/assets/web-inspector-debugger.png
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | .docusaurus/
2 | /build/
3 |
--------------------------------------------------------------------------------
/docs/API.md:
--------------------------------------------------------------------------------
1 | Note: the documentation has moved to https://kasper.github.io/phoenix/.
2 |
--------------------------------------------------------------------------------
/docs/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3 | };
4 |
--------------------------------------------------------------------------------
/docs/docs/api/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "API",
3 | "position": 3,
4 | "collapsed": false
5 | }
6 |
--------------------------------------------------------------------------------
/docs/docs/api/identifiable.md:
--------------------------------------------------------------------------------
1 | # Identifiable
2 |
3 | Objects that implement `Identifiable` can be identified and compared.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | interface Identifiable
9 |
10 | int hash()
11 | boolean isEqual(AnyObject object)
12 |
13 | end
14 | ```
15 |
16 | ## Instance Methods
17 |
18 | - `hash()` returns the hash value for the object
19 | - `isEqual(AnyObject object)` returns `true` if the given object is equal with this object
20 |
21 | ## Example
22 |
23 | ```javascript
24 | // Get the hash value for a window
25 | const hash = Window.focused().hash();
26 | Phoenix.log(hash); // -> 1668246523
27 |
28 | // Compare equality of two windows
29 | const focusedWindow = Window.focused();
30 | const mainSafariWindow = App.get('Safari').mainWindow();
31 | Phoenix.log(focusedWindow.isEqual(mainSafariWindow)); // -> true or false
32 | ```
33 |
--------------------------------------------------------------------------------
/docs/docs/api/image.md:
--------------------------------------------------------------------------------
1 | # Image
2 |
3 | Use Image to load images from the file system.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | class Image implements Identifiable
9 |
10 | static Image fromFile(String path)
11 |
12 | end
13 | ```
14 |
15 | ## Static Methods
16 |
17 | - `fromFile(String path)` loads an image from the given path, the path is resolved before attempting to load the image, returns `undefined` if unsuccessful
18 |
19 | ## Example
20 |
21 | ```javascript
22 | // Load an image from the file system
23 | const image = Image.fromFile('/path/to/image.png');
24 | ```
25 |
--------------------------------------------------------------------------------
/docs/docs/api/iterable.md:
--------------------------------------------------------------------------------
1 | # Iterable
2 |
3 | Objects that implement `Iterable` can be traversed relatively to the current object.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | interface Iterable
9 |
10 | Object next()
11 | Object previous()
12 |
13 | end
14 | ```
15 |
16 | ## Instance Methods
17 |
18 | - `next()` returns the next object or the first object when on the last one
19 | - `previous()` returns the previous object or the last object when on the first one
20 |
21 | ## Example
22 |
23 | ```javascript
24 | // Traverse between screens starting from the main screen
25 | const nextScreen = Screen.main().next();
26 | const previousScreen = Screen.main().previous();
27 | ```
28 |
--------------------------------------------------------------------------------
/docs/docs/api/keys.md:
--------------------------------------------------------------------------------
1 | # Keys
2 |
3 | All valid keys for binding are as follows:
4 |
5 | - **Modifiers:** `command` (`cmd`), `option` (`alt`), `control` (`ctrl`) and `shift` (case insensitive)
6 | - **Keys:** case insensitive character or case sensitive special key including function keys, arrow keys, keypad keys etc. as listed below
7 | - You can bind any key on your local keyboard layout, for instance an `å` character if your keyboard has one
8 | - If you use multiple keyboard layouts, Phoenix will use the active layout when the context is loaded
9 |
10 | Use these to construct a [Key](key).
11 |
12 | ## Special Keys
13 |
14 | - **Action:** `return`, `tab`, `space`, `delete`, `escape`, `help`, `home`, `pageUp`, `forwardDelete`, `end`, `pageDown`, `left`, `right`, `down` and `up`
15 | - **Function:** `f1` – `f19`
16 | - **Keypad:** `keypad.`, `keypad*`, `keypad+`, `keypadClear`, `keypad/`, `keypadEnter`, `keypad-`, `keypad=`, `keypad0`, `keypad1`, `keypad2`, `keypad3`, `keypad4`, `keypad5`, `keypad6`, `keypad7`, `keypad8` and `keypad9`
17 |
--------------------------------------------------------------------------------
/docs/docs/api/mouse.md:
--------------------------------------------------------------------------------
1 | # Mouse
2 |
3 | Use the Mouse to control the cursor.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | class Mouse
9 |
10 | static Point location()
11 | static boolean move(Point point)
12 |
13 | end
14 | ```
15 |
16 | ## Static Methods
17 |
18 | - `location()` returns the cursor position
19 | - `move(Point point)` moves the cursor to a given position, returns `true` if successful
20 |
21 | ## Events
22 |
23 | See [Events](events#mouse) for a list of available events for Mouse.
24 |
25 | ## Example
26 |
27 | ```javascript
28 | // Get the cursor location
29 | const location = Mouse.location();
30 | console.log('Location:', location.x, location.y); // -> 'Location: 2023 301'
31 |
32 | // Move the cursor to origo
33 | Mouse.move({ x: 0, y: 0 });
34 | ```
35 |
--------------------------------------------------------------------------------
/docs/docs/api/phoenix.md:
--------------------------------------------------------------------------------
1 | # Phoenix
2 |
3 | Use Phoenix for global APIs and actions.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | class Phoenix
9 |
10 | static void reload()
11 | static void set(Map preferences)
12 | static void log(AnyObject... arguments)
13 | static void notify(String message)
14 |
15 | end
16 | ```
17 |
18 | ## Static Methods
19 |
20 | - `reload()` manually reloads the context and any changes in the configuration files
21 | - `set(Map preferences)` sets the preferences from the given key–value map, any previously set preferences with the same key will be overridden
22 | - `log(AnyObject... arguments)` logs the arguments to the Console (app)
23 | - `notify(String message)` delivers the message to the Notification Center
24 |
25 | ## Events
26 |
27 | See [Events](events#phoenix) for a list of available events for Phoenix.
28 |
29 | ## Example
30 |
31 | ```javascript
32 | // Reload the configuration
33 | Phoenix.reload();
34 |
35 | // Log a message
36 | Phoenix.log('Message');
37 |
38 | // Display a notification in Notification Center
39 | Phoenix.notify('Notice this!');
40 | ```
41 |
--------------------------------------------------------------------------------
/docs/docs/api/point.md:
--------------------------------------------------------------------------------
1 | # Point
2 |
3 | A simple point object for 2D coordinates.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | struct Point
9 |
10 | property double x
11 | property double y
12 |
13 | end
14 | ```
15 |
16 | ## Example
17 |
18 | ```javascript
19 | // Read point properties
20 | const location = Window.focused().topLeft();
21 | Phoenix.log(location.x, location.y); // -> 100 0
22 | ```
23 |
--------------------------------------------------------------------------------
/docs/docs/api/preferences.md:
--------------------------------------------------------------------------------
1 | # Preferences
2 |
3 | Phoenix supports the following (case sensitive) preferences:
4 |
5 | - `daemon` (boolean): if set `true` Phoenix will run completely in the background, this also removes the status bar menu, defaults to `false`
6 | - `openAtLogin` (boolean): if set `true` Phoenix will automatically open at login, defaults to `false` if no value has been previously set
7 |
8 | Set the preferences using the `Phoenix` object — for example:
9 |
10 | ```javascript
11 | Phoenix.set({
12 | daemon: true,
13 | openAtLogin: true
14 | });
15 | ```
16 |
--------------------------------------------------------------------------------
/docs/docs/api/rectangle.md:
--------------------------------------------------------------------------------
1 | # Rectangle
2 |
3 | A 2D rectangle representation of a `Point` and `Size`.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | struct Rectangle
9 |
10 | property double x
11 | property double y
12 | property double width
13 | property double height
14 |
15 | end
16 | ```
17 |
18 | ## Example
19 |
20 | ```javascript
21 | // Read rectangle properties
22 | const frame = Window.focused().frame();
23 | Phoenix.log(frame.x, frame.y, frame.width, frame.height); // -> 100 0 1024 512
24 | ```
25 |
26 |
--------------------------------------------------------------------------------
/docs/docs/api/require.md:
--------------------------------------------------------------------------------
1 | # Require
2 |
3 | You can modularise your configuration using the `require` function. It will load the referenced JavaScript file and reload it if any changes are detected. If the path is relative, it is resolved relatively to the absolute location of the primary configuration file. If this file is a symlink, it will be resolved before resolving the location of the required file. If the file does not exist, `require` will throw an error.
4 |
5 | ```javascript
6 | require('path/to/file.js');
7 | ```
8 |
9 | All required code is executed in the same namespace. Be careful about the execution order and polluting properties.
10 |
--------------------------------------------------------------------------------
/docs/docs/api/size.md:
--------------------------------------------------------------------------------
1 | # Size
2 |
3 | A simple 2D size object.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | struct Size
9 |
10 | property double width
11 | property double height
12 |
13 | end
14 | ```
15 |
16 | ## Example
17 |
18 | ```javascript
19 | // Read size properties
20 | const size = Window.focused().size();
21 | Phoenix.log(size.width, size.height); // -> 1024 512
22 | ```
23 |
--------------------------------------------------------------------------------
/docs/docs/api/storage.md:
--------------------------------------------------------------------------------
1 | # Storage
2 |
3 | Use Storage to store values across reloads and reboots as JSON.
4 |
5 | ## Interface
6 |
7 | ```javascript
8 | class Storage
9 |
10 | static void set(String key, AnyObject value)
11 | static AnyObject get(String key)
12 | static void remove(String key)
13 |
14 | end
15 | ```
16 |
17 | ## Static Methods
18 |
19 | - `set(String key, AnyObject value)` stores the value for the key, any previously set value with the same key will be overridden
20 | - `get(String key)` retrieves and returns the value for the key (`undefined` if no value has been set)
21 | - `remove(String key)` removes the key and the value associated with it
22 |
23 | ## Example
24 |
25 | ```javascript
26 | // Set a value
27 | Storage.set('key', 'value');
28 | Storage.set('height', 100);
29 | Storage.set('isEnabled', true);
30 | Storage.set('settings', { isEnabled: true });
31 |
32 | // Get a value
33 | const value = Storage.get('key');
34 | Phoenix.log(value); // -> 'value'
35 |
36 | // Remove a value
37 | Storage.remove('key');
38 | ```
39 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/2-managing-handlers.md:
--------------------------------------------------------------------------------
1 | # Managing Handlers
2 |
3 | As previously mentioned you must keep a reference to your handlers, otherwise your callbacks will not get called. In return, if you release the reference to the handler, it will also be disabled eventually. Beware that this can be rather delayed and you are always safer to manually disable the handlers before letting the reference go. This gives you full control over the lifecycle of your handlers and can be especially useful when you want to dynamically create handlers.
4 |
5 | Obviously, in most cases you do not want to worry about the lifecycle of your handlers. This is why Phoenix also provides managed handlers that are held for you. You can use these managed handlers to set keys, events, timers and tasks, but also to disable them. Basically, when you create a managed handler, the handler is constructed and its reference is stored. You will get an identifier for the handler which you can then use to disable it. When you disable the handler, Phoenix will take care of properly disposing it for you.
6 |
7 | For example, to bind a key to a function.
8 |
9 | ```javascript
10 | Key.on('q', ['control', 'shift'], () => {});
11 | ```
12 |
13 | You can disable the handler with its identifier.
14 |
15 | ```javascript
16 | const identifier = Key.on('q', ['control', 'shift'], () => {});
17 | Key.off(identifier);
18 | ```
19 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/3-loading.md:
--------------------------------------------------------------------------------
1 | # Loading
2 |
3 | Your configuration file is loaded when the app launches. All functions are evaluated (and executed if necessary) when this happens. Phoenix also reloads the configuration when any changes are detected to the file(s). You may also reload the configuration manually from the status bar or programmatically from your script.
4 |
5 | The following locations are valid configuration paths and the first existing file will be used. Whilst loading, all symlinks will be resolved, so in the end your configuration can also be a symlink to any desired destination.
6 |
7 | 1. `~/.phoenix.js`
8 | 2. `~/Library/Application Support/Phoenix/phoenix.js`
9 | 3. `~/.config/phoenix/phoenix.js`
10 |
11 | :::note
12 | If you delete your main configuration file while Phoenix is still running, Phoenix will create a blank file in its place. Be sure and quit Phoenix when switching between using the `~/.phoenix.js`, `~/Library/Application Support/Phoenix/phoenix.js` or `~/.config/phoenix/phoenix.js` configuration files.
13 | :::
14 |
15 | :::note Debug Build
16 | You may also use these paths for the debug configuration (with a suffix of `.debug.js`), if you are using a debug build of Phoenix.
17 | :::
18 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/4-preprocessing.md:
--------------------------------------------------------------------------------
1 | # Preprocessing
2 |
3 | You may add JavaScript preprocessing to your configuration by adding a [Shebang](https://en.wikipedia.org/wiki/Shebang_(Unix))-directive to the beginning of your file. It must be the first statement in your file. Phoenix should support all popular JavaScript compilers, but be aware that you need to have the compiler installed on your setup and accessible through your shell’s `PATH` for Phoenix to find it. You also need to ask the compiler to output to the standard output so Phoenix is able to evaluate the result.
4 |
5 | For example, use [Babel](http://babeljs.io) to use ECMAScript 6 JavaScript in macOS versions prior to Sierra:
6 |
7 | ```javascript
8 | #!/usr/bin/env babel
9 |
10 | Key.on('s', ['control', 'shift'], () => {
11 | App.launch('Safari').focus();
12 | });
13 | ```
14 |
15 | Or alternatively, use [CoffeeScript](http://coffeescript.org) to write your configuration:
16 |
17 | ```coffeescript
18 | #!/usr/bin/env coffee -p
19 |
20 | Key.on 's', ['control', 'shift'], ->
21 | App.launch('Safari').focus()
22 | ```
23 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/5-about-coordinates.md:
--------------------------------------------------------------------------------
1 | # About Coordinates
2 |
3 | macOS has two commonly used coordinate systems: for higher level elements the origo `(0, 0)` is situated in the bottom left corner of the screen, on the contrary for lower level elements the origo is situated in the top left corner of the screen (flipped).
4 |
5 | This API has no distinction between these systems — `Point`s can represent both cases. The larger part of the API uses a flipped top left based origin, unless otherwise is stated.
6 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/6-logging-and-debugging.md:
--------------------------------------------------------------------------------
1 | # Logging and Debugging
2 |
3 | To log messages, use `Phoenix.log`. The messages are delivered to the Console (app). You can filter logs by process by searching for “Phoenix”. You can also follow the logs from a terminal by running `log stream --process Phoenix`.
4 |
5 | :::tip console.log
6 | For convenience, `console.log` is bound to `Phoenix.log`. Choose whichever you prefer!
7 | :::
8 |
9 | ## Web Inspector
10 |
11 | To debug your configuration, use Safari’s Web Inspector. You can attach to the context from Safari’s “Develop” menu under your devices name. Read a more comprehensive [instruction](https://github.com/kasper/phoenix/wiki/Attaching-to-Web-Inspector-for-Debugging/) to get started. In the Web Inspector’s Console you can also see messages outputted with `console.log`.
12 |
13 | :::note
14 | *Due to macOS security restrictions, this only works on non-notarised versions of Phoenix (2.6.2 or older) or with debug builds built from the source.*
15 | :::
16 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/7-typescript.md:
--------------------------------------------------------------------------------
1 | # TypeScript
2 |
3 | You can obviously build the Phoenix configuration using [TypeScript](https://typescriptlang.org). Use the [phoenix-typings](https://github.com/mafredri/phoenix-typings/) library for the API type definitions. Thanks @mafredri! 🙌
4 |
--------------------------------------------------------------------------------
/docs/docs/getting-started/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "Getting Started",
3 | "position": 2,
4 | "collapsed": false
5 | }
6 |
--------------------------------------------------------------------------------
/docs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@phoenix/docs",
3 | "version": "4.0.2",
4 | "private": true,
5 | "engines": {
6 | "node": ">=22.2.0",
7 | "npm": ">=10.8.1"
8 | },
9 | "dependencies": {
10 | "@docusaurus/core": "3.4.0",
11 | "@docusaurus/preset-classic": "3.4.0",
12 | "@mdx-js/react": "3.0.1",
13 | "docusaurus-lunr-search": "3.4.0",
14 | "eslint-config-airbnb-base": "15.0.0",
15 | "prism-react-renderer": "2.3.1",
16 | "react": "18.3.1",
17 | "react-dom": "18.3.1",
18 | "xo": "0.58.0"
19 | },
20 | "scripts": {
21 | "build": "docusaurus build",
22 | "clear": "docusaurus clear",
23 | "deploy": "docusaurus deploy",
24 | "docusaurus": "docusaurus",
25 | "lint": "xo",
26 | "lint:fix": "xo --fix",
27 | "serve": "docusaurus serve",
28 | "start": "docusaurus start",
29 | "swizzle": "docusaurus swizzle",
30 | "write-heading-ids": "docusaurus write-heading-ids",
31 | "write-translations": "docusaurus write-translations"
32 | },
33 | "browserslist": {
34 | "development": [
35 | "last 1 chrome version",
36 | "last 1 firefox version",
37 | "last 1 safari version"
38 | ],
39 | "production": [
40 | ">0.5%",
41 | "not dead",
42 | "not op_mini all"
43 | ]
44 | },
45 | "xo": {
46 | "extends": "eslint-config-airbnb-base",
47 | "prettier": true,
48 | "space": true,
49 | "rules": {
50 | "unicorn/prefer-module": "off"
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/docs/sidebars.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | sidebar: [{ type: 'autogenerated', dirName: '.' }],
3 | };
4 |
--------------------------------------------------------------------------------
/docs/src/css/custom.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --ifm-color-primary: #2e8555;
3 | --ifm-color-primary-dark: #29784c;
4 | --ifm-color-primary-darker: #277148;
5 | --ifm-color-primary-darkest: #205d3b;
6 | --ifm-color-primary-light: #33925d;
7 | --ifm-color-primary-lighter: #359962;
8 | --ifm-color-primary-lightest: #3cad6e;
9 | --ifm-code-font-size: 95%;
10 | }
11 |
12 | html[data-theme='dark'] {
13 | --ifm-color-primary: #25c2a0;
14 | --ifm-color-primary-dark: #21af90;
15 | --ifm-color-primary-darker: #1fa588;
16 | --ifm-color-primary-darkest: #1a8870;
17 | --ifm-color-primary-light: #29d5b0;
18 | --ifm-color-primary-lighter: #32d8b4;
19 | --ifm-color-primary-lightest: #4fddbf;
20 | }
21 |
22 | .docusaurus-highlight-code-line {
23 | background-color: rgba(0, 0, 0, 0.1);
24 | display: block;
25 | margin: 0 calc(-1 * var(--ifm-pre-padding));
26 | padding: 0 var(--ifm-pre-padding);
27 | }
28 |
29 | html[data-theme='dark'] .docusaurus-highlight-code-line {
30 | background-color: rgba(0, 0, 0, 0.3);
31 | }
32 |
33 | img[src$='#example'] {
34 | display: block;
35 | width: auto;
36 | max-height: 100px;
37 | }
38 |
--------------------------------------------------------------------------------
/docs/static/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/docs/static/.nojekyll
--------------------------------------------------------------------------------
/docs/static/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/docs/static/img/favicon.ico
--------------------------------------------------------------------------------
/docs/static/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/docs/static/img/logo.png
--------------------------------------------------------------------------------
/docs/static/img/modal/icon-modal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/docs/static/img/modal/icon-modal.png
--------------------------------------------------------------------------------
/docs/static/img/modal/input-modal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/docs/static/img/modal/input-modal.png
--------------------------------------------------------------------------------
/docs/static/img/modal/text-modal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kasper/phoenix/52b38ced73313e96c9e6efe61574ffb2ca946f92/docs/static/img/modal/text-modal.png
--------------------------------------------------------------------------------
/export.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | method
6 | developer-id
7 | signingStyle
8 | automatic
9 |
10 |
11 |
--------------------------------------------------------------------------------
/format:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Exit on error
4 | trap 'exit' ERR
5 |
6 | clang-format -i Launcher/*.h Launcher/*.m
7 | clang-format -i LauncherTests/*.m
8 | clang-format -i Phoenix/*.h Phoenix/*.m
9 | clang-format -i PhoenixTests/*.m
10 |
--------------------------------------------------------------------------------
/library/src/event.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Event */
4 |
5 | (function (scope) {
6 | var events = {};
7 |
8 | scope.on = function (event, callback) {
9 | var eventHandler = new Event(event, callback);
10 | if (!eventHandler) {
11 | return undefined;
12 | }
13 | events[eventHandler.hash()] = eventHandler;
14 | return eventHandler.hash();
15 | };
16 |
17 | scope.off = function (identifier) {
18 | var event = events[identifier];
19 | if (event) {
20 | event.disable();
21 | delete events[identifier];
22 | }
23 | };
24 |
25 | scope.once = function (event, callback) {
26 | var identifier = scope.on(event, function () {
27 | var returnValue = callback.apply(null, arguments);
28 | if (returnValue === false) {
29 | return;
30 | }
31 | scope.off(identifier);
32 | });
33 | };
34 | })(Event);
35 |
--------------------------------------------------------------------------------
/library/src/key.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Key */
4 |
5 | (function (scope) {
6 | var keys = {};
7 |
8 | scope.on = function (key, modifiers, callback) {
9 | var keyHandler = new Key(key, modifiers, callback);
10 | if (!keyHandler) {
11 | return undefined;
12 | }
13 | keys[keyHandler.hash()] = keyHandler;
14 | return keyHandler.hash();
15 | };
16 |
17 | scope.off = function (identifier) {
18 | var key = keys[identifier];
19 | if (key) {
20 | key.disable();
21 | delete keys[identifier];
22 | }
23 | };
24 |
25 | scope.once = function (key, modifiers, callback) {
26 | var identifier = scope.on(key, modifiers, function () {
27 | var returnValue = callback.apply(null, arguments);
28 | if (returnValue === false) {
29 | return;
30 | }
31 | scope.off(identifier);
32 | });
33 | };
34 | })(Key);
35 |
--------------------------------------------------------------------------------
/library/src/modal.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Modal */
4 |
5 | Modal.prototype.setTextColour = Modal.prototype.setTextColor;
6 |
7 | Modal.build = function (properties) {
8 | var modal = new Modal();
9 | _(properties)
10 | .omit('origin')
11 | .each(function (value, key) {
12 | modal[key] = value;
13 | });
14 | if (_(properties.origin).isFunction()) {
15 | modal.origin = properties.origin(modal.frame());
16 | modal.didResize = function () {
17 | modal.origin = properties.origin(modal.frame());
18 | };
19 | }
20 | return modal;
21 | };
22 |
--------------------------------------------------------------------------------
/library/src/phoenix.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Phoenix */
4 |
5 | var consoleLogFn = console.log; // eslint-disable-line no-console
6 | var logFn = Phoenix.log;
7 |
8 | function prettifyError(error) {
9 | var stack = '';
10 | if (error.stack) {
11 | stack = error.stack
12 | .trim()
13 | .split('\n')
14 | .map(function (line) {
15 | return '\tat ' + line;
16 | })
17 | .join('\n');
18 | }
19 | return error.name + ': ' + error.message + '\n' + stack;
20 | }
21 |
22 | Phoenix.log = function () {
23 | var isError = arguments.length === 1 && arguments[0] instanceof Error;
24 | if (isError) {
25 | logFn.call(Phoenix, prettifyError(arguments[0]));
26 | return;
27 | }
28 | logFn.apply(Phoenix, arguments);
29 | };
30 |
31 | // eslint-disable-next-line no-console
32 | console.log = function () {
33 | consoleLogFn.apply(console, arguments);
34 | Phoenix.log.apply(Phoenix, arguments);
35 | };
36 |
--------------------------------------------------------------------------------
/library/src/screen.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Screen */
4 |
5 | // TODO: Deprecated and will be removed in later versions, use Screen#flippedFrame() instead
6 | Screen.prototype.frameInRectangle = function () {
7 | Phoenix.log(
8 | 'Deprecated: Function Screen#frameInRectangle() is deprecated and will be removed in later versions, use Screen#flippedFrame() instead.',
9 | );
10 | return this.flippedFrame();
11 | };
12 |
13 | // TODO: Deprecated and will be removed in later versions, use Screen#flippedVisibleFrame() instead
14 | Screen.prototype.visibleFrameInRectangle = function () {
15 | Phoenix.log(
16 | 'Deprecated: Function Screen#visibleFrameInRectangle() is deprecated and will be removed in later versions, use Screen#flippedVisibleFrame() instead.',
17 | );
18 | return this.flippedVisibleFrame();
19 | };
20 |
--------------------------------------------------------------------------------
/library/src/space.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Space */
4 |
5 | // TODO: Deprecated and will be removed in later versions, use Space#screens() instead
6 | Space.prototype.screen = function () {
7 | Phoenix.log(
8 | 'Deprecated: Function Space#screen() is deprecated and will be removed in later versions, use Space#screens() instead.',
9 | );
10 | return _.first(this.screens());
11 | };
12 |
--------------------------------------------------------------------------------
/library/src/task.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Task */
4 |
5 | (function (scope) {
6 | var tasks = {};
7 |
8 | scope.run = function (path, args, callback) {
9 | var task = new Task(path, args, function (handler) {
10 | if (callback) {
11 | callback(handler);
12 | }
13 | Task.terminate(handler.hash());
14 | });
15 | tasks[task.hash()] = task;
16 | return task.hash();
17 | };
18 |
19 | scope.terminate = function (identifier) {
20 | var task = tasks[identifier];
21 | if (task) {
22 | task.terminate();
23 | delete tasks[identifier];
24 | }
25 | };
26 | })(Task);
27 |
--------------------------------------------------------------------------------
/library/src/timer.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Timer */
4 |
5 | (function (scope) {
6 | var timers = {};
7 |
8 | scope.after = function (interval, callback) {
9 | var timer = new Timer(interval, false, function (handler) {
10 | callback(handler);
11 | Timer.off(handler.hash());
12 | });
13 | timers[timer.hash()] = timer;
14 | return timer.hash();
15 | };
16 |
17 | scope.every = function (interval, callback) {
18 | var timer = new Timer(interval, true, callback);
19 | timers[timer.hash()] = timer;
20 | return timer.hash();
21 | };
22 |
23 | scope.off = function (identifier) {
24 | var timer = timers[identifier];
25 | if (timer) {
26 | timer.stop();
27 | delete timers[identifier];
28 | }
29 | };
30 | })(Timer);
31 |
32 | /* Global Timing */
33 |
34 | this.clearTimeout = Timer.off;
35 | this.clearInterval = Timer.off;
36 |
37 | this.setTimeout = function (callback, milliseconds) {
38 | return Timer.after(milliseconds / 1000, callback);
39 | };
40 |
41 | this.setInterval = function (callback, milliseconds) {
42 | return Timer.every(milliseconds / 1000, callback);
43 | };
44 |
--------------------------------------------------------------------------------
/library/src/window.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* Window */
4 |
5 | Window.prototype.isMinimised = Window.prototype.isMinimized;
6 | Window.prototype.maximise = Window.prototype.maximize;
7 | Window.prototype.minimise = Window.prototype.minimize;
8 | Window.prototype.unminimise = Window.prototype.unminimize;
9 | Window.prototype.neighbours = Window.prototype.neighbors;
10 | Window.prototype.focusClosestNeighbour = Window.prototype.focusClosestNeighbor;
11 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "phoenix",
3 | "version": "4.0.2",
4 | "private": true,
5 | "engines": {
6 | "node": ">=22.2.0",
7 | "npm": ">=10.8.1"
8 | },
9 | "devDependencies": {
10 | "eslint-config-airbnb-base": "15.0.0",
11 | "uglify-js": "3.18.0",
12 | "xo": "0.58.0"
13 | },
14 | "scripts": {
15 | "build": "npm run clean && npm test && npm run build:concat && npm run build:compress",
16 | "build:compress": "uglifyjs Phoenix/$npm_package_name.js --compress --mangle --output Phoenix/$npm_package_name.min.js",
17 | "build:concat": "cat library/src/*.js > Phoenix/$npm_package_name.js",
18 | "clean": "rm -f Phoenix/$npm_package_name.js Phoenix/$npm_package_name.min.js",
19 | "lint": "xo library/",
20 | "lint:fix": "xo --fix library/",
21 | "test": "npm run lint"
22 | },
23 | "xo": {
24 | "extends": "eslint-config-airbnb-base/legacy",
25 | "prettier": true,
26 | "space": true,
27 | "globals": [
28 | "_",
29 | "Event",
30 | "Key",
31 | "Modal",
32 | "Phoenix",
33 | "Screen",
34 | "Space",
35 | "Task",
36 | "Timer",
37 | "Window"
38 | ],
39 | "rules": {
40 | "no-param-reassign": "off",
41 | "prefer-arrow-callback": "off",
42 | "prefer-rest-params": "off",
43 | "prefer-spread": "off",
44 | "strict": "off",
45 | "unicorn/prefer-module": "off",
46 | "unicorn/prefer-reflect-apply": "off",
47 | "unicorn/prevent-abbreviations": "off",
48 | "vars-on-top": "off"
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------