Пользователь нажимает кнопку «сделать снимок экрана за 10 секунд» в своем приложении. Затем пользователь фокусирует другое приложение и делает его полноэкранным. Хотя пользователь сосредоточен в этом полноэкранном приложении, мой 10-секундный таймер теперь достигает 0. Мое приложение открывает окно с полным размером монитора, оно рисует скриншот на нем. Но теперь я хочу, чтобы окно отображалось на всех пространствах. Я попытался это:setCollectionBehavior не влияет на уже открытое окно
[window setCollectionBehavior:(16 | 1 | 256)];
Но это не делает окно шоу над пользователями текущего пространства (Который полноэкранное приложение) вы, ребята, знаете, Что вверх?
Просто проверить, магические числа для этих констант:
var NSWindowCollectionBehaviorStationary = 1 << 4; // 16
var NSWindowCollectionBehaviorCanJoinAllSpaces = 1 << 0; // 1
var NSWindowCollectionBehaviorFullScreenAuxiliary = 1 << 8; // 256
var NSWindowCollectionBehaviorMoveToActiveSpace = 1 << 1;// 2
Правильно ли это? Я делаю это через ctypes, поэтому приходится использовать магические числа.
Я также попытался:
[window setCanBeVisibleOnAllSpaces:YES]
Но это не работало.
Благодаря
Edit: Так это окно уже открыто, и я не имею доступа к раскадровке и т.д., как указано в ответе ˙a2 в ниже, мы обсуждали это в чате, и мы должны вклиниться в него каким-то образом, чтобы сделать это влиять, есть ли кто-нибудь с идеями?
Ах, что делать, если окно уже имеющееся окно уже открыто, его невозможно? Я делаю это через ctypes :( – Noitidart
Нет, вы не можете сделать это в существующем окне, если вы его не владеете. Не могли бы вы разработать свой подход? Не знакомы с ctypes – StefanS
Ах спасибо, что вы используете firefox? Можете ли вы общаться с чатом stackoverflow? :) – Noitidart