LINUX.ORG.RU
ФорумTalks

По поводу Alt-Tab в Linux

 , ,


0

2

Народ жалуется тут постоянно, что в Linux'e Alt-Tab с fullscreen приложения на desktop не возвращает оригинальное разрешение экрана.

Есть такой баг, багу уже восемь лет стукнуло (вообще то все 30).

Народ предлагает написать патчи для всех WM (window manager), для Wine, и для всех приложений, которые делают fullscreen mode with non native resolution. Только это неправильно. Проблема в Windows была решена где-то с выходом Windows 95, там у функции ChangeDisplaySettings есть флаг CDS_FULLSCREEN, который говорит, что resolution временный и тогда при смене foreground приложения Windows сама возвращает последний desktop mode.

Я полагаю, что написать патч для реализации этой возможности в Linux не составит большого труда.

1) Делаем CDS_FULLSCREEN (temporary full screen mode flag) по умолчанию.
2) На уровне X.org при запуске запоминаем resolution.
3) На уровне X.org следим за foreground приложениями.
4) Если foreground приложение крашнулось, минимизировалось, ушло в фон - возвращаем 2).
5) ...
6) Profit!

Только одним местом чую, что никто тут на ЛОРе за это не возьмётся, но придумывать X :1/Xvfb/etc. костыли будут постоянно. ;)

Или кто-то возьмётся? Я не программист - в меня помидорами не бросать!

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

Может, потому что в виндовые игры в линуксе не играю?

Проблема характерна и для нативных игр.

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

Просто я играю только в родном разрешении или в окне. Иначе некрасиво же, у меня не ЭЛТ.

CYB3R ★★★★★
()

Описанный баг — проблема вайна. Почему его вдруг нужно «чинить» в иксах или WM?

P. S. Кстати, у иксов вроде как нет понятия «полноэкранного окна». Это абстракция уровня WM.

red_eyed_peguin
()
Ответ на: комментарий от geekless

Вы, когда цитируйте, думайте:

Я вот патчи пишу, когда могу и где могу

Моего уровня не хватит для написания патча для X.org.

Мило вы себя самого поддели, мило.

juk4windows
() автор топика
Ответ на: комментарий от onon

Точно решена? Запусти игрушку и прибей. Скорее всего разрешение обратно не переключится.

Windows нет под рукой - не могу проверить. Но, говорят, разрешение восстанавливается.

juk4windows
() автор топика
Ответ на: комментарий от juk4windows

Что и требовалось доказать: ты нихрена не умеешь, но берешься судить о вещах, в которых ничерта не понимаешь.

geekless ★★
()

Или кто-то возьмётся? Я не программист - в меня помидорами не бросать!

В job. И огласи бюджет.

Только одним местом чую, что никто тут на ЛОРе за это не возьмётся

Никто не обязан работать на тебя бесплатно.

i-rinat ★★★★★
()

С массовым приходом LCD эта фича уже никому нафиг не сдалась. Приложение либо фулскрин и с разрешением родным для монитора(как следствие описанной проблемы нет), либо с другим разрешением и показывает говно, а не изображение. А править какую-то ненужную разработчикам фигню никакого fun'а. Welcome to the World of Open Source :}

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

stevejobs> X.Org - один, а WM - много. Поэтому править надо X.Org, даже если это нифига нелогично.

Если это нелогично - значит костыль и разработчик, желающий нелогичное, но сиюминутно удобное ему решение, криворукий имбецил, так как он изначально спроектировал программу неправильно и ССЗБ, но обвиняет в этом других.

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

Разрешение восстановится только потому, что при вызове диалога прибивания оно станет установленным. А если игра сама сдохла - в некоторых случаях разрешение может не возвращаться.

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

А при чём тут LCD?

Читаем ТС'а:

Народ жалуется тут постоянно, что в Linux'e Alt-Tab с fullscreen приложения на desktop не возвращает оригинальное разрешение экрана.

а потом перечитываем мой пост до просветления :}

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

хороших лсд не видел да?

Никакое качество LCD не позволит им показывать больше одного цвета на кристалл. А любое скалирование будь то аппаратно или софтварно(на уровне дровишек), делает из изображения мыльное говно.

Andru ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.