4 Commits

Author SHA1 Message Date
neon443
c0b8d2f3ed Sparkle: Auto Updates work YAYYYYYYY 2025-05-30 15:00:53 +01:00
neon443
a6f06c4e12 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-05-30 13:05:30 +01:00
neon443
9ff4f67e33 add pubkey 2025-05-30 10:44:23 +01:00
neon443
5bfeef66ab sparke menu item 2025-05-30 10:42:54 +01:00
8 changed files with 76 additions and 16 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
**.DS_Store **.DS_Store
**DockPhobia.dmg

View File

@@ -5,8 +5,8 @@
// Created by neon443 on 26/05/2025. // Created by neon443 on 26/05/2025.
// //
VERSION = 1.0.1 VERSION = 1.2.1
BUILD_ID = 2 BUILD_ID = 3
TEAM_ID = 8JGND254B7 TEAM_ID = 8JGND254B7
BUNDLE_ID = com.neon443.DockPhobia BUNDLE_ID = com.neon443.DockPhobia

View File

@@ -15,6 +15,7 @@
A9C9AF812DE7776A0039D7A5 /* DockSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9AF802DE777530039D7A5 /* DockSide.swift */; }; A9C9AF812DE7776A0039D7A5 /* DockSide.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9AF802DE777530039D7A5 /* DockSide.swift */; };
A9C9AF832DE77CB70039D7A5 /* SkyHigh.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */; }; A9C9AF832DE77CB70039D7A5 /* SkyHigh.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */; };
A9C9B0682DE888B20039D7A5 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9B0672DE888B20039D7A5 /* Preferences.swift */; }; A9C9B0682DE888B20039D7A5 /* Preferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C9B0672DE888B20039D7A5 /* Preferences.swift */; };
A9C9B06D2DE99E5F0039D7A5 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = A9C9B06C2DE99E5F0039D7A5 /* Sparkle */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@@ -29,6 +30,7 @@
A9C9AF802DE777530039D7A5 /* DockSide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DockSide.swift; sourceTree = "<group>"; }; A9C9AF802DE777530039D7A5 /* DockSide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DockSide.swift; sourceTree = "<group>"; };
A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkyHigh.swift; sourceTree = "<group>"; }; A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SkyHigh.swift; sourceTree = "<group>"; };
A9C9B0672DE888B20039D7A5 /* Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = "<group>"; }; A9C9B0672DE888B20039D7A5 /* Preferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Preferences.swift; sourceTree = "<group>"; };
A9C9B06E2DE9B55F0039D7A5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -36,6 +38,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A9C9B06D2DE99E5F0039D7A5 /* Sparkle in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -79,6 +82,7 @@
A966B4F32DE0842400C721A5 /* DockPhobia */ = { A966B4F32DE0842400C721A5 /* DockPhobia */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A9C9B06E2DE9B55F0039D7A5 /* Info.plist */,
A966B4EE2DE0842400C721A5 /* AppDelegate.swift */, A966B4EE2DE0842400C721A5 /* AppDelegate.swift */,
A966B4F72DE0852900C721A5 /* MouseTracker.swift */, A966B4F72DE0852900C721A5 /* MouseTracker.swift */,
A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */, A9C9AF822DE77CB70039D7A5 /* SkyHigh.swift */,
@@ -108,6 +112,7 @@
); );
name = DockPhobia; name = DockPhobia;
packageProductDependencies = ( packageProductDependencies = (
A9C9B06C2DE99E5F0039D7A5 /* Sparkle */,
); );
productName = DockPhobia; productName = DockPhobia;
productReference = A966B4D62DE0841000C721A5 /* DockPhobia.app */; productReference = A966B4D62DE0841000C721A5 /* DockPhobia.app */;
@@ -138,6 +143,9 @@
); );
mainGroup = A966B4CD2DE0841000C721A5; mainGroup = A966B4CD2DE0841000C721A5;
minimizedProjectReferenceProxies = 1; minimizedProjectReferenceProxies = 1;
packageReferences = (
A9C9B06B2DE99E5F0039D7A5 /* XCRemoteSwiftPackageReference "Sparkle" */,
);
productRefGroup = A966B4D72DE0841000C721A5 /* Products */; productRefGroup = A966B4D72DE0841000C721A5 /* Products */;
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
@@ -310,6 +318,7 @@
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = DockPhobia/Info.plist;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment";
INFOPLIST_KEY_LSUIElement = YES; INFOPLIST_KEY_LSUIElement = YES;
INFOPLIST_KEY_NSAppleEventsUsageDescription = _; INFOPLIST_KEY_NSAppleEventsUsageDescription = _;
@@ -345,6 +354,7 @@
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = DockPhobia/Info.plist;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment";
INFOPLIST_KEY_LSUIElement = YES; INFOPLIST_KEY_LSUIElement = YES;
INFOPLIST_KEY_NSAppleEventsUsageDescription = _; INFOPLIST_KEY_NSAppleEventsUsageDescription = _;
@@ -388,6 +398,25 @@
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
/* End XCConfigurationList section */ /* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
A9C9B06B2DE99E5F0039D7A5 /* XCRemoteSwiftPackageReference "Sparkle" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/sparkle-project/Sparkle";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.7.0;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
A9C9B06C2DE99E5F0039D7A5 /* Sparkle */ = {
isa = XCSwiftPackageProductDependency;
package = A9C9B06B2DE99E5F0039D7A5 /* XCRemoteSwiftPackageReference "Sparkle" */;
productName = Sparkle;
};
/* End XCSwiftPackageProductDependency section */
}; };
rootObject = A966B4CE2DE0841000C721A5 /* Project object */; rootObject = A966B4CE2DE0841000C721A5 /* Project object */;
} }

View File

@@ -0,0 +1,15 @@
{
"originHash" : "e721da7f9826abdffcb6185e886155efa2514bd6234475f1afa893e29eb258d6",
"pins" : [
{
"identity" : "sparkle",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sparkle-project/Sparkle",
"state" : {
"revision" : "0ca3004e98712ea2b39dd881d28448630cce1c99",
"version" : "2.7.0"
}
}
],
"version" : 3
}

BIN
DockPhobia/.DS_Store vendored
View File

Binary file not shown.

View File

@@ -6,6 +6,7 @@
// //
import AppKit import AppKit
import Sparkle
@NSApplicationMain @NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate { class AppDelegate: NSObject, NSApplicationDelegate {
@@ -14,9 +15,16 @@ class AppDelegate: NSObject, NSApplicationDelegate {
var settings = DPSettingsModel() var settings = DPSettingsModel()
var mouseTracker: MouseTracker var mouseTracker: MouseTracker
let updateController: SPUStandardUpdaterController
override init() { override init() {
self.mouseTracker = MouseTracker(settings: settings) self.mouseTracker = MouseTracker(settings: settings)
//call .startUpdater() later
updateController = SPUStandardUpdaterController(
startingUpdater: true,
updaterDelegate: nil,
userDriverDelegate: nil
)
super.init() super.init()
} }
@@ -42,6 +50,14 @@ class AppDelegate: NSObject, NSApplicationDelegate {
let start = NSMenuItem(title: describeStartButton(), action: #selector(didTapStart), keyEquivalent: "") let start = NSMenuItem(title: describeStartButton(), action: #selector(didTapStart), keyEquivalent: "")
menu.addItem(start) menu.addItem(start)
let checkforUpdatesMenuItem = NSMenuItem(
title: "Check for Updates...",
action: #selector(SPUStandardUpdaterController.checkForUpdates(_:)),
keyEquivalent: ""
)
checkforUpdatesMenuItem.target = updateController
menu.addItem(checkforUpdatesMenuItem)
let screen = NSMenuItem( let screen = NSMenuItem(
title: "\(mouseTracker.screen.width)x\(mouseTracker.screen.height)", title: "\(mouseTracker.screen.width)x\(mouseTracker.screen.height)",
action: nil, action: nil,

12
DockPhobia/Info.plist Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SUFeedURL</key>
<string>https://neon443.github.io/appcasts/DockPhobia/appcast.xml</string>
<key>SUpublicEDKey</key>
<string>ahgIyJGs4MCQ6UXwQ11aknk3a6GwOodHKSmVv4bw6KY=</string>
<key>SUEnableAutomaticChecks</key>
<true/>
</dict>
</plist>

View File

@@ -414,19 +414,6 @@
</items> </items>
<point key="canvasLocation" x="200" y="121"/> <point key="canvasLocation" x="200" y="121"/>
</menu> </menu>
<menu id="ONX-cK-IuT"> <userDefaultsController representsSharedInstance="YES" id="KLo-tU-Av3"/>
<items>
<menuItem title="Item 1" id="6WY-F1-Y6A">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Item 2" id="Vew-Im-EWB">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Item 3" id="dVu-3p-SKK">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
</items>
<point key="canvasLocation" x="-160" y="321"/>
</menu>
</objects> </objects>
</document> </document>