Skip to content

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
lapcat committed Nov 28, 2022
0 parents commit a0f648b
Show file tree
Hide file tree
Showing 19 changed files with 924 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: https://www.paypal.me/JeffJohnsonWI
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.DS_Store
DerivedData/
DEVELOPMENT_TEAM.xcconfig
project.xcworkspace/
xcshareddata/
xcuserdata/
6 changes: 6 additions & 0 deletions Debug.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
DEBUG_INFORMATION_FORMAT = dwarf
DEPLOYMENT_POSTPROCESSING = NO
GCC_OPTIMIZATION_LEVEL = 0
ONLY_ACTIVE_ARCH = YES
STRIP_INSTALLED_PRODUCT = NO
VALIDATE_PRODUCT = NO
15 changes: 15 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
1. StartTheZoom is Copyright © 2022 Jeff Johnson. All rights reserved.

2. You may make copies of the StartTheZoom source code and redistribute copies of the source code.

3. All copies of the source code must include this license file unmodified.

4. You may modify the source code, but you must not modify or remove this license file.

5. You must not charge money for the unmodified or modified source code.

6. You may compile the unmodified or modified source code and run the compiled products yourself.

7. You must not redistribute the compiled products of the unmodified or modified source code without express written permission from Jeff Johnson.

8. The spirit of this license agreement is that Jeff Johnson provides StartTheZoom to the public for free, and nobody is to make money from selling Jeff's work as if it were their own.
44 changes: 44 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# StartTheZoom

StartTheZoom is an app for macOS (10.13 High Sierra or later) that opens http and https URLs in the Zoom app and then quits.

The Zoom app does not declare that it can open http and https URLs. Thus, sandboxed Mac App Store apps such as [Link Unshortener](https://underpassapp.com/LinkUnshortener/) and [StopTheMadness](https://underpassapp.com/StopTheMadness/) cannot open these URLs in Zoom. StartTheZoom can, because it is not sandboxed.

## Installing

1. Download the [latest release](https://github.com/lapcat/StartTheZoom/releases/latest).
2. Unzip the downloaded `.zip` file.
3. Move `StartTheZoom.app` to your Applications folder.
4. Open `StartTheZoom.app`.
5. Quit `StartTheZoom.app`.

## Uninstalling

1. Move `StartTheZoom.app` to the Trash.

## Building

Building StartTheZoom from source requires Xcode 13 or later.

Before building, you need to create a file named `DEVELOPMENT_TEAM.xcconfig` in the project folder (the same folder as `Shared.xcconfig`). This file is excluded from version control by the project's `.gitignore` file, and it's not referenced in the Xcode project either. The file specifies the build setting for your Development Team, which is needed by Xcode to code sign the app. The entire contents of the file should be of the following format:
```
DEVELOPMENT_TEAM = [Your TeamID]
```

## Author

[Jeff Johnson](https://lapcatsoftware.com/)

To support the author, you can [PayPal.Me](https://www.paypal.me/JeffJohnsonWI) or buy [my App Store apps](https://underpassapp.com/).

## Copyright

StartTheZoom is Copyright © 2022 Jeff Johnson. All rights reserved.

Zoom is Copyright © 2012 Zoom Video Communications, Inc. All rights reserved.

Neither StartTheZoom nor Jeff Johnson is associated in any way with Zoom Video Communications, Inc.

## License

See the [LICENSE.txt](LICENSE.txt) file for details.
7 changes: 7 additions & 0 deletions Release.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
DEPLOYMENT_POSTPROCESSING = YES
GCC_OPTIMIZATION_LEVEL = s
ONLY_ACTIVE_ARCH = NO
STRIP_INSTALLED_PRODUCT = YES
STRIP_STYLE = all
VALIDATE_PRODUCT = YES
78 changes: 78 additions & 0 deletions Shared.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#include "DEVELOPMENT_TEAM.xcconfig"
//Create the file DEVELOPMENT_TEAM.xcconfig in the project directory
//with the following build setting:
//DEVELOPMENT_TEAM = [Your TeamID]

STARTTHEZOOM_SHORT_VERSION = 1.0
STARTTHEZOOM_VERSION = 1

ALWAYS_SEARCH_USER_PATHS = NO
CLANG_ENABLE_MODULES = YES
CLANG_ENABLE_OBJC_ARC = YES
CLANG_MODULES_AUTOLINK = YES
CODE_SIGN_ENTITLEMENTS = nonsource/StartTheZoom.entitlements
CODE_SIGN_IDENTITY = Mac Developer
CODE_SIGN_STYLE = Automatic
COMBINE_HIDPI_IMAGES = YES
COPY_PHASE_STRIP = NO
DEPLOYMENT_LOCATION = NO
ENABLE_HARDENED_RUNTIME = YES
ENABLE_STRICT_OBJC_MSGSEND = YES
GCC_GENERATE_DEBUGGING_SYMBOLS = YES
GCC_NO_COMMON_BLOCKS = YES
GCC_SYMBOLS_PRIVATE_EXTERN = YES
INFOPLIST_EXPAND_BUILD_SETTINGS = YES
INFOPLIST_FILE = nonsource/Info.plist
MACH_O_TYPE = mh_execute
MACOSX_DEPLOYMENT_TARGET = 10.13
PRODUCT_BUNDLE_IDENTIFIER = com.lapcatsoftware.StartTheZoom
PRODUCT_NAME = StartTheZoom
SDKROOT = macosx
WRAPPER_EXTENSION = app

//Warnings
WARNING_CFLAGS = -Wall -Wextra -Wno-unused-parameter
CLANG_WARN_ASSIGN_ENUM = YES
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_COMMA = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR
CLANG_WARN_DOCUMENTATION_COMMENTS = YES
CLANG_WARN_EMPTY_BODY = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
CLANG_WARN_INFINITE_RECURSION = YES
CLANG_WARN_INT_CONVERSION = YES
CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES
CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES
CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES
CLANG_WARN_STRICT_PROTOTYPES = YES
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
CLANG_WARN_SUSPICIOUS_MOVE = YES
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
GCC_WARN_ABOUT_MISSING_NEWLINE = YES
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
GCC_WARN_MISSING_PARENTHESES = YES
GCC_WARN_SIGN_COMPARE = YES
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES
GCC_WARN_UNDECLARED_SELECTOR = YES
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE
GCC_WARN_UNUSED_FUNCTION = YES
GCC_WARN_UNUSED_LABEL = YES
GCC_WARN_UNUSED_PARAMETER = NO
GCC_WARN_UNUSED_VALUE = YES
GCC_WARN_UNUSED_VARIABLE = YES
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
227 changes: 227 additions & 0 deletions StartTheZoom.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 55;
objects = {

/* Begin PBXBuildFile section */
528D987D2934EF330089DE79 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = 528D987C2934EF210089DE79 /* LICENSE.txt */; };
528D988F2934F03F0089DE79 /* JJApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 528D988B2934EFEF0089DE79 /* JJApplicationDelegate.m */; };
528D98902934F0420089DE79 /* JJLicenseWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 528D988E2934EFEF0089DE79 /* JJLicenseWindow.m */; };
528D98912934F0440089DE79 /* JJMainMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 528D988D2934EFEF0089DE79 /* JJMainMenu.m */; };
528D98922934F0480089DE79 /* JJMainWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 528D98892934EFEF0089DE79 /* JJMainWindow.m */; };
528D98942934F04D0089DE79 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 528D988A2934EFEF0089DE79 /* main.m */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
528D98652934EA900089DE79 /* StartTheZoom.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StartTheZoom.app; sourceTree = BUILT_PRODUCTS_DIR; };
528D98782934EF210089DE79 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
528D98792934EF210089DE79 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
528D987A2934EF210089DE79 /* Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Shared.xcconfig; sourceTree = "<group>"; };
528D987B2934EF210089DE79 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
528D987C2934EF210089DE79 /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE.txt; sourceTree = "<group>"; };
528D98822934EFD30089DE79 /* StartTheZoom.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = StartTheZoom.entitlements; sourceTree = "<group>"; };
528D98832934EFD30089DE79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
528D98852934EFEF0089DE79 /* JJMainWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JJMainWindow.h; sourceTree = "<group>"; };
528D98862934EFEF0089DE79 /* JJApplicationDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JJApplicationDelegate.h; sourceTree = "<group>"; };
528D98872934EFEF0089DE79 /* JJLicenseWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JJLicenseWindow.h; sourceTree = "<group>"; };
528D98882934EFEF0089DE79 /* JJMainMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JJMainMenu.h; sourceTree = "<group>"; };
528D98892934EFEF0089DE79 /* JJMainWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JJMainWindow.m; sourceTree = "<group>"; };
528D988A2934EFEF0089DE79 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
528D988B2934EFEF0089DE79 /* JJApplicationDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JJApplicationDelegate.m; sourceTree = "<group>"; };
528D988D2934EFEF0089DE79 /* JJMainMenu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JJMainMenu.m; sourceTree = "<group>"; };
528D988E2934EFEF0089DE79 /* JJLicenseWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JJLicenseWindow.m; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
528D98622934EA900089DE79 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
528D985C2934EA900089DE79 = {
isa = PBXGroup;
children = (
528D987B2934EF210089DE79 /* README.md */,
528D987C2934EF210089DE79 /* LICENSE.txt */,
528D98782934EF210089DE79 /* Debug.xcconfig */,
528D98792934EF210089DE79 /* Release.xcconfig */,
528D987A2934EF210089DE79 /* Shared.xcconfig */,
528D98812934EFD30089DE79 /* nonsource */,
528D98842934EFEF0089DE79 /* source */,
528D98662934EA900089DE79 /* Products */,
);
sourceTree = "<group>";
};
528D98662934EA900089DE79 /* Products */ = {
isa = PBXGroup;
children = (
528D98652934EA900089DE79 /* StartTheZoom.app */,
);
name = Products;
sourceTree = "<group>";
};
528D98812934EFD30089DE79 /* nonsource */ = {
isa = PBXGroup;
children = (
528D98832934EFD30089DE79 /* Info.plist */,
528D98822934EFD30089DE79 /* StartTheZoom.entitlements */,
);
path = nonsource;
sourceTree = SOURCE_ROOT;
};
528D98842934EFEF0089DE79 /* source */ = {
isa = PBXGroup;
children = (
528D98862934EFEF0089DE79 /* JJApplicationDelegate.h */,
528D988B2934EFEF0089DE79 /* JJApplicationDelegate.m */,
528D98872934EFEF0089DE79 /* JJLicenseWindow.h */,
528D988E2934EFEF0089DE79 /* JJLicenseWindow.m */,
528D98882934EFEF0089DE79 /* JJMainMenu.h */,
528D988D2934EFEF0089DE79 /* JJMainMenu.m */,
528D98852934EFEF0089DE79 /* JJMainWindow.h */,
528D98892934EFEF0089DE79 /* JJMainWindow.m */,
528D988A2934EFEF0089DE79 /* main.m */,
);
path = source;
sourceTree = SOURCE_ROOT;
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
528D98642934EA900089DE79 /* StartTheZoom */ = {
isa = PBXNativeTarget;
buildConfigurationList = 528D98752934EA910089DE79 /* Build configuration list for PBXNativeTarget "StartTheZoom" */;
buildPhases = (
528D98612934EA900089DE79 /* Sources */,
528D98622934EA900089DE79 /* Frameworks */,
528D98632934EA900089DE79 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = StartTheZoom;
productName = StartTheZoom;
productReference = 528D98652934EA900089DE79 /* StartTheZoom.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
528D985D2934EA900089DE79 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastUpgradeCheck = 1410;
TargetAttributes = {
528D98642934EA900089DE79 = {
CreatedOnToolsVersion = 14.1;
};
};
};
buildConfigurationList = 528D98602934EA900089DE79 /* Build configuration list for PBXProject "StartTheZoom" */;
compatibilityVersion = "Xcode 13.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 528D985C2934EA900089DE79;
productRefGroup = 528D98662934EA900089DE79 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
528D98642934EA900089DE79 /* StartTheZoom */,
);
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
528D98632934EA900089DE79 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
528D987D2934EF330089DE79 /* LICENSE.txt in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
528D98612934EA900089DE79 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
528D988F2934F03F0089DE79 /* JJApplicationDelegate.m in Sources */,
528D98922934F0480089DE79 /* JJMainWindow.m in Sources */,
528D98912934F0440089DE79 /* JJMainMenu.m in Sources */,
528D98942934F04D0089DE79 /* main.m in Sources */,
528D98902934F0420089DE79 /* JJLicenseWindow.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
528D98732934EA910089DE79 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 528D987A2934EF210089DE79 /* Shared.xcconfig */;
buildSettings = {
};
name = Debug;
};
528D98742934EA910089DE79 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 528D987A2934EF210089DE79 /* Shared.xcconfig */;
buildSettings = {
};
name = Release;
};
528D98762934EA910089DE79 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 528D98782934EF210089DE79 /* Debug.xcconfig */;
buildSettings = {
};
name = Debug;
};
528D98772934EA910089DE79 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 528D98792934EF210089DE79 /* Release.xcconfig */;
buildSettings = {
};
name = Release;
};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
528D98602934EA900089DE79 /* Build configuration list for PBXProject "StartTheZoom" */ = {
isa = XCConfigurationList;
buildConfigurations = (
528D98732934EA910089DE79 /* Debug */,
528D98742934EA910089DE79 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
528D98752934EA910089DE79 /* Build configuration list for PBXNativeTarget "StartTheZoom" */ = {
isa = XCConfigurationList;
buildConfigurations = (
528D98762934EA910089DE79 /* Debug */,
528D98772934EA910089DE79 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 528D985D2934EA900089DE79 /* Project object */;
}
Loading

0 comments on commit a0f648b

Please sign in to comment.