Добавить кнопку на экран блокировки OSX

Можно ли изменить существующий экран блокировки OSX? Например, если я хочу добавить кнопку над изображением профиля пользователя, которая при нажатии говорит «Hello World»... возможно ли это?

Цель состоит в том, чтобы запустить AppleScript при нажатии кнопки.

РЕДАКТИРОВАТЬ -

/System/Library/PrivateFrameworks/LoginUIKit.framework

Здесь у вас есть возможность изменить изображения экрана входа в систему и тому подобное, но также он содержит несколько скомпилированных файлов nib, сокращенно «LUI», что, как я предполагаю, означает «заблокированный пользовательский интерфейс». Я собираюсь настроить параллели и попытаться открыть их в Snow Leopard с помощью xcode 3.2.6 и посмотреть, смогу ли я отредактировать перья. Если я смогу это сделать, будет ли редактирование таких файлов нарушением их TOS?

Другая возможность заключалась в том, чтобы запустить окно над ним. При блокировке экрана я могу открыть окно над заставкой, просто сказав

[window setLevel:NSScreenSaverLevel]

но тем не менее, это не перекрывает экран входа в систему.

Я чувствую, что это даже не должно быть возможным, но я видел нечто подобное в приложении Knock to Unlock.


person brdu    schedule 06.06.2014    source источник
comment
Ты когда-нибудь находил решение, брду?   -  person MorganR    schedule 30.07.2014
comment
@MorganR .. да .. вроде того. Использование NSScreenSaverLevel недостаточно для отображения на экране блокировки. NSScreenSaverLevel+10, например, будет работать. Пользователь ndominati2 опубликовал еще лучшее решение :)   -  person brdu    schedule 05.11.2014


Ответы (1)


Вы пытались использовать следующую строку?

[window setLevel:CGShieldingWindowLevel()+1];

Я использую его, чтобы сделать то же самое, что и KnockToUnlock, и он работает как шарм. Я вижу свое окно над экраном входа в систему, если я выхожу на экран входа в систему из спящего режима или из заставки.

Надеюсь это поможет.

person ndominati2    schedule 08.08.2014
comment
Вы гений! Как вы это понимаете? Я был очень впечатлен, когда увидел, как работает Knock. И потратить много времени, чтобы найти свой ответ! - person skywinder; 22.10.2014
comment
Блестящий. Я использовал NSScreenSaverLevel+10, но это намного чище. Спасибо! - person brdu; 05.11.2014