Keep the keyboard input-source icon visible
The hiding boundary sat right of the input-source indicator, so the
hamburger took the slot where the language icon had been. Move the
boundary left of it so the language icon stays, with the hamburger still
at the left edge.
💘 Generated with Crush
Assisted-by: Crush:deepseek-v4.1-flash
This commit is contained in:
@@ -35,16 +35,11 @@ automatically.
|
|||||||
What it can and cannot hide:
|
What it can and cannot hide:
|
||||||
|
|
||||||
- It hides **other third-party apps' icons** (cmux, Kapture, moomoo, WireGuard).
|
- It hides **other third-party apps' icons** (cmux, Kapture, moomoo, WireGuard).
|
||||||
- It **keeps Wi-Fi, Now Playing, Spotlight, Clock, Battery and Control Center**
|
- It **keeps Wi-Fi, Now Playing, the input-source indicator, Spotlight, Clock,
|
||||||
visible, with the **hamburger at the left edge of that group**. The spacer's
|
Battery and Control Center** visible, with the **hamburger at the left edge of
|
||||||
boundary (preferred position 300) falls just left of Now Playing. macOS
|
that group**. The spacer's boundary (preferred position 330) falls just left
|
||||||
reserves the far-right area, so an item can never be placed to the right of
|
of the input-source indicator. macOS reserves the far-right area, so an item
|
||||||
the system icons.
|
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 300`, which moves the hamburger one slot to the
|
|
||||||
right of it.
|
|
||||||
- Newly launched apps are placed to the left of the spacer, so they are hidden
|
- Newly launched apps are placed to the left of the spacer, so they are hidden
|
||||||
automatically.
|
automatically.
|
||||||
- Advanced: set `defaults write dev.tzgyn.simpletopbar debug.spacerPos -float <n>`
|
- Advanced: set `defaults write dev.tzgyn.simpletopbar debug.spacerPos -float <n>`
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
|
|||||||
if let override = UserDefaults.standard.object(forKey: "debug.hamburgerPos") as? Double {
|
if let override = UserDefaults.standard.object(forKey: "debug.hamburgerPos") as? Double {
|
||||||
UserDefaults.standard.set(override, forKey: positionKey)
|
UserDefaults.standard.set(override, forKey: positionKey)
|
||||||
} else if UserDefaults.standard.object(forKey: positionKey) == nil {
|
} 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)
|
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
|
// 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
|
// ~250, so the other apps hide while Apple's Wi-Fi/Clock/Battery/Control
|
||||||
// Center/Spotlight stay visible. `debug.spacerPos` overrides the seed.
|
// Center/Spotlight stay visible. `debug.spacerPos` overrides the seed.
|
||||||
// The boundary sits just left of Now Playing, so every Control Center
|
// The boundary sits just left of the input-source indicator, so every
|
||||||
// item stays visible while the apps hide. It must stay *above* the
|
// system item (input source, Now Playing, Wi-Fi, …) stays visible while
|
||||||
// hamburger's preferred position (see AppDelegate) for the hamburger to
|
// the apps hide. It must stay *above* the hamburger's preferred position
|
||||||
// remain on the visible side. `debug.spacerPos` overrides the seed.
|
// (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 {
|
if let override = UserDefaults.standard.object(forKey: "debug.spacerPos") as? Double {
|
||||||
UserDefaults.standard.set(override, forKey: key)
|
UserDefaults.standard.set(override, forKey: key)
|
||||||
} else if UserDefaults.standard.object(forKey: key) == nil {
|
} 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)
|
let item = NSStatusBar.system.statusItem(withLength: 0)
|
||||||
item.autosaveName = name
|
item.autosaveName = name
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
VERSION="${1:-0.4.6}"
|
VERSION="${1:-0.4.7}"
|
||||||
|
|
||||||
swift build -c release
|
swift build -c release
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user