Сделать электронное окно способным получать событие клика, когда выше основное приложение

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

win.setAlwaysOnTop(true, "screen-saver");

Теперь он остается поверх всех других открытых приложений и режима презентации основного приложения, я хочу, чтобы пользователь мог нажимать кнопки внутри моего окна, но теперь проблема возникает, как только пользователь нажимает кнопку или просто окно в моем дочернем окне, основное окно сворачивает (поскольку фокус смещается на мое окно).

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

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

введите здесь описание изображения

введите здесь описание изображения


person www.amitpatil.me    schedule 21.01.2018    source источник


Ответы (1)


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

Вы можете следить за этой проблемой в репозитории Electron, поскольку введенные там флаги должны решить вашу проблему или, по крайней мере, дать вам точку входа для создания собственного PR или node_module.

https://github.com/electron/electron/issues/10078

person Hans Koch    schedule 22.01.2018
comment
Я уже рассмотрел эту проблему, эта проблема больше связана с сохранением окна поверх других полноэкранных приложений, я хочу, чтобы мое дочернее окно было поверх только основного сообщения и могло получать клики без закрытия основного сообщения. Считаете ли вы, что приведенное выше решение решает мою проблему? - person www.amitpatil.me; 22.01.2018
comment
Тот же флаг окна, насколько я знаю, как указано, нет способа сделать это без исправления электрона. - person Hans Koch; 22.01.2018
comment
Спасибо, что вернулись, на данный момент у меня нет другого потенциального решения, поэтому я думаю, что должен попробовать. Спасибо друг. - person www.amitpatil.me; 22.01.2018
comment
@www.amitpatil.me просто интересно, выяснили ли вы что-нибудь, у меня та же проблема с электронным приложением, которое минимизирует основной доклад - person davekr; 08.02.2018
comment
@davekr: Нет, я все еще ищу решение. Если найдёшь, тоже дай знать. - person www.amitpatil.me; 12.02.2018
comment
Кто-нибудь нашел ответ? Мне нужна помощь. - person Ankush Rishi; 09.08.2018