Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30d5aff906 | ||
|
|
6f55861be7 | ||
|
|
ccc172d218 |
@@ -103,6 +103,13 @@ wants it in the final answer every time. Keep it to the cask upgrade commands
|
||||
(see the README release section for the exact block), because the app is
|
||||
installed through the tap.
|
||||
|
||||
Notarization: `release.sh` submits to Apple when the `SIMPLETOPBAR_NOTARY_*`
|
||||
env vars are set (provider, `.p8` path, key id, issuer id). The credentials are
|
||||
the same App Store Connect key used by Kapture (`~/.config/kapture/AuthKey_*.p8`,
|
||||
team `RX6767S6BW`); the issuer id is a non-secret UUID from App Store Connect.
|
||||
Verify with `spctl -a -vv SimpleTopBar.app` → `source=Notarized Developer ID`.
|
||||
Without the vars it still builds, zips and prints the sha, just unnotarized.
|
||||
|
||||
## Status item placement (why not MenuBarExtra)
|
||||
|
||||
On a full menu bar, a newly created status item is placed leftmost, which on a
|
||||
|
||||
@@ -35,15 +35,11 @@ automatically.
|
||||
What it can and cannot hide:
|
||||
|
||||
- It hides **other third-party apps' icons** (cmux, Kapture, moomoo, WireGuard).
|
||||
- It **keeps Wi-Fi, Now Playing, Spotlight, Clock, Battery and Control Center**
|
||||
visible, with the **hamburger at the left edge of that group**. The spacer's
|
||||
boundary (preferred position 300) falls just left of Now Playing. macOS
|
||||
reserves the far-right area, so an item can never be placed to the right of
|
||||
the system icons.
|
||||
- The input-source indicator is the one system icon that ends up hidden (it sits
|
||||
immediately left of where the hamburger can go). To keep it, set
|
||||
`defaults write dev.tzgyn.simpletopbar debug.spacerPos -float 350` (and
|
||||
`debug.hamburgerPos -float 100`), which moves the hamburger one slot right.
|
||||
- It **keeps Wi-Fi, Now Playing, the input-source indicator, Spotlight, Clock,
|
||||
Battery and Control Center** visible, with the **hamburger at the left edge of
|
||||
that group**. The spacer's boundary (preferred position 330) falls just left
|
||||
of the input-source indicator. macOS reserves the far-right area, so an item
|
||||
can never be placed to the right of the system icons.
|
||||
- Newly launched apps are placed to the left of the spacer, so they are hidden
|
||||
automatically.
|
||||
- Advanced: set `defaults write dev.tzgyn.simpletopbar debug.spacerPos -float <n>`
|
||||
@@ -59,7 +55,8 @@ brew install --cask simpletopbar
|
||||
```
|
||||
|
||||
The tap is hosted on Gitea, so the full URL is required. Homebrew may print an
|
||||
"Unsupported tap" warning — it's harmless.
|
||||
"Unsupported tap" warning — it's harmless. Releases from 0.4.8 on are notarized,
|
||||
so the app opens without a Gatekeeper warning.
|
||||
|
||||
## Upgrade
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
if let override = UserDefaults.standard.object(forKey: "debug.hamburgerPos") as? Double {
|
||||
UserDefaults.standard.set(override, forKey: positionKey)
|
||||
} else if UserDefaults.standard.object(forKey: positionKey) == nil {
|
||||
UserDefaults.standard.set(290.0, forKey: positionKey)
|
||||
UserDefaults.standard.set(320.0, forKey: positionKey)
|
||||
}
|
||||
|
||||
let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
|
||||
|
||||
@@ -313,14 +313,15 @@ final class MenuBarHider: ObservableObject {
|
||||
// The boundary between "hidden" and "kept" falls just left of Wi-Fi at
|
||||
// ~250, so the other apps hide while Apple's Wi-Fi/Clock/Battery/Control
|
||||
// Center/Spotlight stay visible. `debug.spacerPos` overrides the seed.
|
||||
// The boundary sits just left of Now Playing, so every Control Center
|
||||
// item stays visible while the apps hide. It must stay *above* the
|
||||
// hamburger's preferred position (see AppDelegate) for the hamburger to
|
||||
// remain on the visible side. `debug.spacerPos` overrides the seed.
|
||||
// The boundary sits just left of the input-source indicator, so every
|
||||
// system item (input source, Now Playing, Wi-Fi, …) stays visible while
|
||||
// the apps hide. It must stay *above* the hamburger's preferred position
|
||||
// (see AppDelegate) for the hamburger to remain on the visible side.
|
||||
// `debug.spacerPos` overrides the seed.
|
||||
if let override = UserDefaults.standard.object(forKey: "debug.spacerPos") as? Double {
|
||||
UserDefaults.standard.set(override, forKey: key)
|
||||
} else if UserDefaults.standard.object(forKey: key) == nil {
|
||||
UserDefaults.standard.set(300.0, forKey: key)
|
||||
UserDefaults.standard.set(330.0, forKey: key)
|
||||
}
|
||||
let item = NSStatusBar.system.statusItem(withLength: 0)
|
||||
item.autosaveName = name
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
VERSION="${1:-0.4.6}"
|
||||
VERSION="${1:-0.4.8}"
|
||||
|
||||
swift build -c release
|
||||
|
||||
@@ -58,7 +58,7 @@ chmod +x scripts/make-icon.sh
|
||||
|
||||
if [ -n "$IDENT" ]; then
|
||||
security unlock-keychain "$HOME/Library/Keychains/login.keychain-db" 2>/dev/null || true
|
||||
codesign --force --options runtime --sign "$IDENT" "$APP"
|
||||
codesign --force --options runtime --timestamp --sign "$IDENT" "$APP"
|
||||
echo "Built $APP ${VERSION} (signed with Developer ID '$IDENT') — open $APP"
|
||||
else
|
||||
codesign --force --sign - "$APP"
|
||||
|
||||
Reference in New Issue
Block a user