Как сделать водяной знак всегда плавающим над экраном в MacOS - PullRequest
0 голосов
/ 22 апреля 2019

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

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

  2. Я заметил, что NSWindowLevel и CGWindowLevelKey , Кто-нибудь знает, как использовать в моей ситуации?

  3. Это другие способы сделать это приложение плавающим над другим приложением, используя другой API? Я привел мою реализацию для вашей справки со следующими кодами, чтобы окно водяного знака могло всплывать над другими окнами.

прикрепленный скриншот

Нажмите здесь, чтобы загрузить мой проект

class WaterMarkWindow: NSWindow {

    override func awakeFromNib() {
        super.awakeFromNib()
        self.level = .floating;
        self.ignoresMouseEvents = true;
        self.isReleasedWhenClosed = false;
        self.isMovableByWindowBackground = false;
        self.alphaValue = 0.3
        self.backgroundColor = NSColor.clear;
        self.isOpaque = false;
        self.hasShadow = false;
        self.contentView?.wantsLayer = true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...