Ограничение позиций окон в других приложениях в Какао? - PullRequest
1 голос
/ 23 июня 2011

Я относительно новичок в разработке Какао. Я занимаюсь разработкой на Snow Leopard. Я имею в виду сценарий, и мне любопытно, если API поддерживает его. Я не смог ничего найти по этому поводу, поэтому я предполагаю, что это невозможно. Но я счастлив, что оказался неправ.

Предположим, я пишу приложение, которое находится вверху экрана чуть ниже строки меню. Окно плавает, поэтому оно всегда сверху. Это может раздражать, поэтому я хотел ограничить другие окна (особенно те, что в других приложениях) так, чтобы они находились ниже моего приложения. Есть ли в API что-то, что позволило бы мне это сделать? Чтобы указать максимальное происхождение для всех окон (кроме моего)?

Спасибо.

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Нет реального поддерживаемого способа сделать это.Вы можете достичь чего-то подобного, используя Accessibility API .Вам придется следить за уведомлениями о перемещении окна и сдвигать окно обратно в видимую область.

0 голосов
/ 24 июня 2011

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

Теперь, что вы можете сделать, это всегда в верхнем окне, используя NSScreenSaverWindowLevel в качестве уровня NSWindow. Один хороший трюк, который вы можете сделать, это [window setLevel: NSScreenSaverWindowLevel + 1], и он устанавливает ваше окно выше уровня заставки.

...