Refactor and Rename to CommandNotch

This commit is contained in:
2026-03-07 23:14:31 +11:00
parent 2bf1cbad2a
commit 5d161bb214
45 changed files with 76 additions and 69 deletions

View File

@@ -9,7 +9,7 @@
/* Begin PBXBuildFile section */
0F4A88A33D93B6E100A1C001 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0F4A88A33D93B6E100A1C002 /* Assets.xcassets */; };
2213F430F3D8A88033607CD2 /* NotchSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA6359CF9DDF89413440300D /* NotchSettings.swift */; };
247C6F84E7ADE7AED43381E2 /* DowntermApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B671125208055E5334CB85E /* DowntermApp.swift */; };
247C6F84E7ADE7AED43381E2 /* CommandNotchApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B671125208055E5334CB85E /* CommandNotchApp.swift */; };
26A767A10DDA77A690CC3C37 /* NotchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 589421631401C819FE1A7BA9 /* NotchViewModel.swift */; };
295653929D5B9C0E6C90D6D7 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = 032AECA58EA4C274BE9F3320 /* SwiftTerm */; };
37FC0A7CEEA37C9DCC6A8351 /* TerminalSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B598809B19C892470DE7268 /* TerminalSession.swift */; };
@@ -44,13 +44,13 @@
2C5C99B7CD7F60E55844E40C /* NotchState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotchState.swift; sourceTree = "<group>"; };
3B72743F178231E0B06DD3DE /* HotkeyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HotkeyManager.swift; sourceTree = "<group>"; };
490C53139360D970099D8F3D /* HotkeyRecorderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HotkeyRecorderView.swift; sourceTree = "<group>"; };
4B671125208055E5334CB85E /* DowntermApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DowntermApp.swift; sourceTree = "<group>"; };
4B671125208055E5334CB85E /* CommandNotchApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandNotchApp.swift; sourceTree = "<group>"; };
4BB81B6DA7126E1F5FBCC8B8 /* HotkeyBinding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HotkeyBinding.swift; sourceTree = "<group>"; };
589421631401C819FE1A7BA9 /* NotchViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotchViewModel.swift; sourceTree = "<group>"; };
5C0779490DE9020FBBC464BE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
665CFC051CF185B71199608D /* Downterm.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Downterm.app; sourceTree = BUILT_PRODUCTS_DIR; };
665CFC051CF185B71199608D /* CommandNotch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CommandNotch.app; sourceTree = BUILT_PRODUCTS_DIR; };
7B598809B19C892470DE7268 /* TerminalSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalSession.swift; sourceTree = "<group>"; };
9547A79F60E46F4521A70674 /* Downterm.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Downterm.entitlements; sourceTree = "<group>"; };
9547A79F60E46F4521A70674 /* CommandNotch.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = CommandNotch.entitlements; sourceTree = "<group>"; };
AA6359CF9DDF89413440300D /* NotchSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotchSettings.swift; sourceTree = "<group>"; };
BA6843B571B41986DE386F5F /* TerminalManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TerminalManager.swift; sourceTree = "<group>"; };
C5CB3313B230019D0E988AFE /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
@@ -75,7 +75,7 @@
isa = PBXGroup;
children = (
0F4A88A33D93B6E100A1C002 /* Assets.xcassets */,
9547A79F60E46F4521A70674 /* Downterm.entitlements */,
9547A79F60E46F4521A70674 /* CommandNotch.entitlements */,
);
path = Resources;
sourceTree = "<group>";
@@ -95,7 +95,7 @@
792DD4F8C079680683D8FF7A /* Products */ = {
isa = PBXGroup;
children = (
665CFC051CF185B71199608D /* Downterm.app */,
665CFC051CF185B71199608D /* CommandNotch.app */,
);
name = Products;
sourceTree = "<group>";
@@ -121,12 +121,12 @@
path = Extensions;
sourceTree = "<group>";
};
9E1CA4816F67033BBD52D8A3 /* Downterm */ = {
9E1CA4816F67033BBD52D8A3 /* CommandNotch */ = {
isa = PBXGroup;
children = (
5C0779490DE9020FBBC464BE /* AppDelegate.swift */,
20BA7F4716DA3909DA8BC381 /* ContentView.swift */,
4B671125208055E5334CB85E /* DowntermApp.swift */,
4B671125208055E5334CB85E /* CommandNotchApp.swift */,
F32F526005A2589010E63C76 /* Components */,
8D95E0324E6AFC9E4DC0C087 /* Extensions */,
27C90448ECAC906F0DA429C0 /* Managers */,
@@ -134,7 +134,7 @@
0EF94ED46B4860C241540F0A /* Resources */,
C2B8955F4D0A1DAA7E60326A /* Views */,
);
path = Downterm;
path = CommandNotch;
sourceTree = "<group>";
};
C2B8955F4D0A1DAA7E60326A /* Views */ = {
@@ -160,7 +160,7 @@
FC6F23514BFE2235BD4154E8 = {
isa = PBXGroup;
children = (
9E1CA4816F67033BBD52D8A3 /* Downterm */,
9E1CA4816F67033BBD52D8A3 /* CommandNotch */,
792DD4F8C079680683D8FF7A /* Products */,
);
sourceTree = "<group>";
@@ -168,9 +168,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
1485207FA11756EC2DF4F08B /* Downterm */ = {
1485207FA11756EC2DF4F08B /* CommandNotch */ = {
isa = PBXNativeTarget;
buildConfigurationList = 74CB98309F5464CDCB00C63A /* Build configuration list for PBXNativeTarget "Downterm" */;
buildConfigurationList = 74CB98309F5464CDCB00C63A /* Build configuration list for PBXNativeTarget "CommandNotch" */;
buildPhases = (
F3C6D5CD1247D246A3F6F7AB /* Sources */,
6085DF2BDFFB2A99C4ABD514 /* Frameworks */,
@@ -180,12 +180,12 @@
);
dependencies = (
);
name = Downterm;
name = CommandNotch;
packageProductDependencies = (
032AECA58EA4C274BE9F3320 /* SwiftTerm */,
);
productName = Downterm;
productReference = 665CFC051CF185B71199608D /* Downterm.app */;
productName = CommandNotch;
productReference = 665CFC051CF185B71199608D /* CommandNotch.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -197,7 +197,7 @@
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1600;
};
buildConfigurationList = D1C4019FEAFC83BB053C9E6E /* Build configuration list for PBXProject "Downterm" */;
buildConfigurationList = D1C4019FEAFC83BB053C9E6E /* Build configuration list for PBXProject "CommandNotch" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
@@ -213,7 +213,7 @@
projectDirPath = "";
projectRoot = "";
targets = (
1485207FA11756EC2DF4F08B /* Downterm */,
1485207FA11756EC2DF4F08B /* CommandNotch */,
);
};
/* End PBXProject section */
@@ -236,7 +236,7 @@
files = (
81A912E3E16165D999882078 /* AppDelegate.swift in Sources */,
888C45C650327089EBD39B2E /* ContentView.swift in Sources */,
247C6F84E7ADE7AED43381E2 /* DowntermApp.swift in Sources */,
247C6F84E7ADE7AED43381E2 /* CommandNotchApp.swift in Sources */,
88EBFBB2292659EA7C42A8F9 /* HotkeyBinding.swift in Sources */,
4D5125E11B4DDBDB3DFACBAF /* HotkeyManager.swift in Sources */,
7BD705CA6A34117929B362EC /* HotkeyRecorderView.swift in Sources */,
@@ -267,11 +267,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CLANG_USE_OPTIMIZATION_PROFILE = YES;
CODE_SIGN_ENTITLEMENTS = Downterm/Resources/Downterm.entitlements;
CODE_SIGN_ENTITLEMENTS = CommandNotch/Resources/CommandNotch.entitlements;
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
COMBINE_HIDPI_IMAGES = YES;
"DEVELOPMENT_TEAM[sdk=macosx*]" = G698BP272N;
INFOPLIST_FILE = Downterm/Resources/Info.plist;
INFOPLIST_FILE = CommandNotch/Resources/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = CommandNotch;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -279,7 +279,7 @@
);
MARKETING_VERSION = 0.0.3;
PRODUCT_BUNDLE_IDENTIFIER = com.commandnotch.app;
PRODUCT_NAME = Downterm;
PRODUCT_NAME = CommandNotch;
SDKROOT = macosx;
};
name = Release;
@@ -354,11 +354,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CLANG_USE_OPTIMIZATION_PROFILE = YES;
CODE_SIGN_ENTITLEMENTS = Downterm/Resources/Downterm.entitlements;
CODE_SIGN_ENTITLEMENTS = CommandNotch/Resources/CommandNotch.entitlements;
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
COMBINE_HIDPI_IMAGES = YES;
"DEVELOPMENT_TEAM[sdk=macosx*]" = G698BP272N;
INFOPLIST_FILE = Downterm/Resources/Info.plist;
INFOPLIST_FILE = CommandNotch/Resources/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = CommandNotch;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -366,7 +366,7 @@
);
MARKETING_VERSION = 0.0.3;
PRODUCT_BUNDLE_IDENTIFIER = com.commandnotch.app;
PRODUCT_NAME = Downterm;
PRODUCT_NAME = CommandNotch;
SDKROOT = macosx;
};
name = Debug;
@@ -431,7 +431,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
74CB98309F5464CDCB00C63A /* Build configuration list for PBXNativeTarget "Downterm" */ = {
74CB98309F5464CDCB00C63A /* Build configuration list for PBXNativeTarget "CommandNotch" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7020C02C1BDF63690CC9A3AC /* Debug */,
@@ -440,7 +440,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
D1C4019FEAFC83BB053C9E6E /* Build configuration list for PBXProject "Downterm" */ = {
D1C4019FEAFC83BB053C9E6E /* Build configuration list for PBXProject "CommandNotch" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3595A9212275B9AEC4448C64 /* Debug */,

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@@ -16,9 +16,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1485207FA11756EC2DF4F08B"
BuildableName = "Downterm.app"
BlueprintName = "Downterm"
ReferencedContainer = "container:Downterm.xcodeproj">
BuildableName = "CommandNotch.app"
BlueprintName = "CommandNotch"
ReferencedContainer = "container:CommandNotch.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@@ -45,9 +45,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1485207FA11756EC2DF4F08B"
BuildableName = "Downterm.app"
BlueprintName = "Downterm"
ReferencedContainer = "container:Downterm.xcodeproj">
BuildableName = "CommandNotch.app"
BlueprintName = "CommandNotch"
ReferencedContainer = "container:CommandNotch.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
@@ -62,9 +62,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1485207FA11756EC2DF4F08B"
BuildableName = "Downterm.app"
BlueprintName = "Downterm"
ReferencedContainer = "container:Downterm.xcodeproj">
BuildableName = "CommandNotch.app"
BlueprintName = "CommandNotch"
ReferencedContainer = "container:CommandNotch.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>

View File

@@ -16,9 +16,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1485207FA11756EC2DF4F08B"
BuildableName = "Downterm.app"
BlueprintName = "Downterm"
ReferencedContainer = "container:Downterm.xcodeproj">
BuildableName = "CommandNotch.app"
BlueprintName = "CommandNotch"
ReferencedContainer = "container:CommandNotch.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@@ -45,9 +45,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1485207FA11756EC2DF4F08B"
BuildableName = "Downterm.app"
BlueprintName = "Downterm"
ReferencedContainer = "container:Downterm.xcodeproj">
BuildableName = "CommandNotch.app"
BlueprintName = "CommandNotch"
ReferencedContainer = "container:CommandNotch.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
@@ -62,9 +62,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1485207FA11756EC2DF4F08B"
BuildableName = "Downterm.app"
BlueprintName = "Downterm"
ReferencedContainer = "container:Downterm.xcodeproj">
BuildableName = "CommandNotch.app"
BlueprintName = "CommandNotch"
ReferencedContainer = "container:CommandNotch.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>

View File

@@ -4,12 +4,12 @@
<dict>
<key>SchemeUserState</key>
<dict>
<key>Downterm.xcscheme_^#shared#^_</key>
<key>CommandNotch.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
<key>Release-Downterm.xcscheme_^#shared#^_</key>
<key>Release-CommandNotch.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>

View File

@@ -1,10 +1,10 @@
import SwiftUI
/// Main entry point for the Downterm application.
/// Main entry point for the CommandNotch application.
/// Provides a MenuBarExtra for quick access to settings and app controls.
/// The notch windows and terminal sessions are managed by AppDelegate + ScreenManager.
@main
struct DowntermApp: App {
struct CommandNotchApp: App {
@NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@@ -12,7 +12,7 @@ struct DowntermApp: App {
private var showMenuBarIcon = NotchSettings.Defaults.showMenuBarIcon
var body: some Scene {
MenuBarExtra("Downterm", systemImage: "terminal", isInserted: $showMenuBarIcon) {
MenuBarExtra("CommandNotch", systemImage: "terminal", isInserted: $showMenuBarIcon) {
Button("Toggle Notch") {
ScreenManager.shared.toggleNotchOnActiveScreen()
}
@@ -27,7 +27,7 @@ struct DowntermApp: App {
Divider()
Button("Quit Downterm") {
Button("Quit CommandNotch") {
NSApplication.shared.terminate(nil)
}
.keyboardShortcut("Q", modifiers: .command)

View File

@@ -33,7 +33,7 @@ class SettingsWindowController: NSObject, NSWindowDelegate {
backing: .buffered,
defer: false
)
win.title = "Downterm Settings"
win.title = "CommandNotch Settings"
win.contentView = hostingView
win.center()
win.delegate = self

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.2.0</string>
<string>0.0.3</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
@@ -25,6 +25,6 @@
<key>LSUIElement</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2026 Downterm. All rights reserved.</string>
<string>Copyright © 2026 CommandNotch. All rights reserved.</string>
</dict>
</plist>

View File

@@ -370,7 +370,7 @@ struct AboutSettingsView: View {
Image(systemName: "terminal")
.font(.system(size: 64))
.foregroundStyle(.secondary)
Text("Downterm")
Text("CommandNotch")
.font(.largeTitle.bold())
Text("Version 0.3.0")
.foregroundStyle(.secondary)

View File

@@ -1,6 +1,6 @@
name: Downterm
name: CommandNotch
options:
bundleIdPrefix: com.downterm
bundleIdPrefix: com.commandnotch
deploymentTarget:
macOS: "14.0"
xcodeVersion: "16.0"
@@ -15,34 +15,34 @@ packages:
url: https://github.com/migueldeicaza/SwiftTerm.git
from: "1.2.0"
targets:
Downterm:
CommandNotch:
type: application
platform: macOS
sources:
- path: Downterm
- path: CommandNotch
excludes:
- Resources/Info.plist
dependencies:
- package: SwiftTerm
info:
path: Downterm/Resources/Info.plist
path: CommandNotch/Resources/Info.plist
properties:
CFBundleName: Downterm
CFBundleDisplayName: Downterm
CFBundleIdentifier: com.downterm.app
CFBundleName: CommandNotch
CFBundleDisplayName: CommandNotch
CFBundleIdentifier: com.commandnotch.app
CFBundleVersion: "1"
CFBundleShortVersionString: "0.2.0"
CFBundlePackageType: APPL
CFBundleExecutable: Downterm
CFBundleExecutable: CommandNotch
LSMinimumSystemVersion: "14.0"
LSUIElement: true
NSHumanReadableCopyright: "Copyright © 2026 Downterm. All rights reserved."
NSHumanReadableCopyright: "Copyright © 2026 CommandNotch. All rights reserved."
entitlements:
path: Downterm/Resources/Downterm.entitlements
path: CommandNotch/Resources/CommandNotch.entitlements
settings:
base:
CODE_SIGN_ENTITLEMENTS: Downterm/Resources/Downterm.entitlements
INFOPLIST_FILE: Downterm/Resources/Info.plist
PRODUCT_BUNDLE_IDENTIFIER: com.downterm.app
PRODUCT_NAME: Downterm
CODE_SIGN_ENTITLEMENTS: CommandNotch/Resources/CommandNotch.entitlements
INFOPLIST_FILE: CommandNotch/Resources/Info.plist
PRODUCT_BUNDLE_IDENTIFIER: com.commandnotch.app
PRODUCT_NAME: CommandNotch
COMBINE_HIDPI_IMAGES: true