Repository navigation
Hello work 0.9.15 — Ice approach (физическое перемещение items)
Hider реально работает
Отказались от Hidden Bar «separator widget» техники — она сломана в macOS Sequoia. Перешли на Ice approach: физическое перемещение чужих menubar items через CGEvent simulation.
Как работает
При click на иконку H (или хоткей):
- Получаем список текущих menubar items через приватный CGS API (
CGSGetProcessMenuBarWindowList) - Фильтруем — только те что не Apple-managed (Time, Control Center, Spotlight, IME защищены)
- Для каждого item создаём
CGEventпары:mouseDownс.maskCommandв текущей позиции (имитация ⌘+click+hold)mouseUpв позицииx = -1000(за левым краем экрана)
- Маршрутизируем event через
postToPid(item.pid)— macOS думает что юзер сам двигает - Item физически уезжает за край экрана
При повторном click — восстанавливаем в сохранённые X-позиции.
Что юзер делает
- Click на иконку H в menubar (или хоткей
⌃⇧B) - Все ваши menubar-иконки уезжают за левый край экрана
- Иконка H превращается из solid (заливка) в outline (контур) — индикатор «свёрнуто»
- Click ещё раз — иконки возвращаются на места, H снова solid
Apple-managed иконки (Time, Control Center, Spotlight, IME, Notification Center) остаются — это macOS hard limitation, никакое third-party приложение их двинуть не может.
Требуется Accessibility permission
Для CGEvent simulation на чужие apps нужно Accessibility разрешение. Если у тебя его нет — Hello work попросит при первом использовании. Можно дать через Settings → Приложение → «Точное определение окна», либо в System Settings → Privacy & Security → Accessibility.
Лицензия
Hello work теперь GPLv3 — наследуется от Ice (https://github.com/jordanbaird/Ice), чьи приватные API wrappers и CGEvent simulation код мы адаптировали.
Установка
killall HelloWork 2>/dev/null
rm -rf ~/Library/Application\ Support/HelloWork/HelloWork.app
curl -fsSL https://raw.githubusercontent.com/a2rk/hello-work/main/install.sh | bashИли авто-апдейт engine'а.