LINUX.ORG.RU

Фейковый фокус для окна [Решено]

 insurgency, , , ,


0

1

Как сделать так что-бы заданное мною окно думало что оно в фокусе всегда, но никакого пользовательского ввода ему не шло, мышка, клава там?

Нужно для игры, когда её сворачиваю альт-таб она там звук икает страшно.

UDP: Ничего патчить не нужно игра INSURGENCY но тут подойдёт любая игра на SOURCE ENGINE. Есть параметр engine_no_focus_sleep 0 отключающий задержку sleep по умолчанию значение 50 миллисекунд. Оно ловит эвенты window_minimised/widow_unfocus/и подобное и начинает на заданное время стопорить игру целиком.

★★★★★

Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)

Ответ на: комментарий от XoFfiCEr

Как вариант запускать в виртухалке

нееее ))

или звук временно выключать.

Он нужен, что-бы понять что новая волна началась и тебя оживило. Наблюдать 40 секунд бой, или конец раунда когда тебя окончательно убили и больше не будет спавнов минут 5 неинтересно, я альтабаюсь на лор на это время =)

Звук то от игры идёт, но видимо игра снижает кадры (это норм) но с этим видимо блокируется и звук поэтому если например был высрел в момент альт таба он будет повторно заикаться секунд 5 потом новый звук и тоже повторно проигрывается 5 секунд и так далее это жуть. Пусть уж лучше молотит кадры будучи скрыто, не страшно.

LINUX-ORG-RU ★★★★★
() автор топика

Например, запатчить window manager, чтобы он FocusOut окну не слал. Не думаю, что это можно как-то сбоку прикрутить, придётся патчить.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Хм. Раз с наружи никак то ладно.Буим патчить. В mutter сразу лезть не охота поиграюсь с dwm сначала наверное.

LINUX-ORG-RU ★★★★★
() автор топика

Может, проще написать скрипт, который отключает на некоторое короткое время звук (ну или не на короткое время, а у самой игры) при нажатии Alt+Tab?

sudopacman ★★★★★
()
Последнее исправление: sudopacman (всего исправлений: 1)
Ответ на: комментарий от i-rinat

идея откуда-то не из той стороны, имхо это на стороне браузера должно быть

(как в мобильном Firefox есть аддон, который блокирует Fullscreen API)
https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/

annerleen ★★★★☆
()
Последнее исправление: annerleen (всего исправлений: 1)
Ответ на: комментарий от i-rinat

а что игра в браузере?
я про другое.

не WM должен держать браузер в фокусе, а браузер не должен знать, что он не в фокусе (%

(не знаю, как ещё объяснить)

annerleen ★★★★☆
()
Ответ на: комментарий от annerleen

а что игра в браузере?

Переформулирую.

Разве игра является веб-приложением и выполняется внутри браузера? Ставлю данный тезис под сомнение.

i-rinat ★★★★★
()
Ответ на: комментарий от XoFfiCEr

Я было уже начал, но оказалось ненадо =) Но вот тебе всё что нужно для патча чего угодно.

get:
	sudo apt build-dep mutter;
	apt source mutter;

build:
	cd mutter-3.38.6 && debuild -b -uc -us

install:
	sudo dpkg -i ./*.deb 

Скачал зависимости и сорцы make get, поправил сорцы и make build install и всё… Надейся что у тебя всё не упадёт :D

Нужное сразу можно найти

ack  FocusOut ./src 

И оно сразу выплюнет где оно существует, ну, а дальше нудное гуляние по вызовам функций ибо там не всё прямолинейно.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.