112 lines
3.7 KiB
Markdown
112 lines
3.7 KiB
Markdown
# CommandNotch
|
|
|
|
<p align="center">
|
|
<img src="icons/Downterm-icon-256.png" width="128" alt="CommandNotch icon">
|
|
</p>
|
|
|
|
<p align="center">
|
|
A drop-down terminal for macOS that lives in the notch area.
|
|
</p>
|
|
|
|
<p align="center">
|
|
<img src="https://img.shields.io/badge/platform-macOS%2014%2B-black" alt="macOS 14+">
|
|
<img src="https://img.shields.io/badge/UI-SwiftUI%20%2B%20AppKit-black" alt="SwiftUI and AppKit">
|
|
<img src="https://img.shields.io/badge/license-MIT-black" alt="MIT License">
|
|
</p>
|
|
|
|
CommandNotch is a notch-native terminal overlay for macOS. It gives you a fast shell without switching spaces, keeping a full Terminal window open, or breaking your flow. Open it with a hotkey, drop into a shell, then get out of the way just as quickly.
|
|
|
|
The current Xcode target and bundle name are still `CommandNotch`, but the project is being presented publicly as **CommandNotch**.
|
|
|
|
## Why CommandNotch
|
|
|
|
- You want a terminal that is always one shortcut away.
|
|
- You like the idea of a terminal living in the menu bar / notch area instead of a full window.
|
|
- You work across multiple displays and want each screen to keep its own notch state.
|
|
- You want lightweight workspaces, detachable tabs, and shell access without giving up native macOS feel.
|
|
|
|
## Features
|
|
|
|
- Native macOS notch overlay with open and closed states.
|
|
- Fast shell sessions powered by SwiftTerm and a local login shell.
|
|
- Multiple tabs with hotkeys for new, close, next, previous, and direct tab switching.
|
|
- Workspace support, including shared workspaces across screens.
|
|
- Multi-display awareness with per-screen assignment and presentation state.
|
|
- Detachable tabs that can pop out into standalone terminal windows.
|
|
- Terminal themes: Classic, Xterm, Solarized Dark, Dracula, and Nord.
|
|
- Configurable terminal size presets with optional hotkeys.
|
|
- Hover-to-open behavior and animation tuning.
|
|
- Launch at login support.
|
|
- Global toggle hotkey and notch-scoped shortcut handling.
|
|
- Terminal-friendly macOS key behavior for `Command+Arrow`, `Option+Arrow`, `Command+Backspace`, and `Command+L`.
|
|
|
|
## Gallery
|
|
|
|
### Demo
|
|
|
|
[](.github/assets/CommandNotch-Demo.mp4)
|
|
|
|
Click the preview above to watch the demo recording.
|
|
|
|
### Open Notch Terminal
|
|
|
|

|
|
|
|
### Settings
|
|
|
|

|
|
|
|
## Getting Started
|
|
|
|
### Requirements
|
|
|
|
- macOS 14 or later
|
|
- Xcode 16 or later
|
|
- Homebrew `xcodegen`
|
|
|
|
### Build
|
|
|
|
```bash
|
|
cd CommandNotch
|
|
xcodegen generate --spec project.yml
|
|
open CommandNotch.xcodeproj
|
|
```
|
|
|
|
Or from the command line:
|
|
|
|
```bash
|
|
cd CommandNotch
|
|
xcodegen generate --spec project.yml
|
|
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
|
|
xcodebuild build -project CommandNotch.xcodeproj -scheme CommandNotch -destination 'platform=macOS'
|
|
```
|
|
|
|
## Project Layout
|
|
|
|
```text
|
|
CommandNotch/
|
|
├── CommandNotch/ # XcodeGen spec, app target, tests
|
|
├── docs/ # architecture and planning notes
|
|
├── icons/ # app icons and branding assets
|
|
└── .github/assets/ # README screenshots and support assets
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome. If you want to fix bugs, improve the UX, tighten the architecture, or help polish the public release, start with [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
|
|
## Help Fund Development
|
|
|
|
If CommandNotch saves you time, support helps justify more polish and faster iteration.
|
|
|
|
- Ko-fi: https://ko-fi.com/harvmaster
|
|
- BCH: `bitcoincash:zq5xlhahsk8svzk562m3kwrzgd9hrm80mcu8slnzv3`
|
|
|
|
<p align="center">
|
|
<img src=".github/assets/bch-receiving-address.png" width="220" alt="BCH receiving address QR code">
|
|
</p>
|
|
|
|
## License
|
|
|
|
CommandNotch is released under the [MIT License](LICENSE).
|