LINUX.ORG.RU

Wine запретить переход в полноэкранный режим

 , , ,


1

3

Нигде не могу найти такую опцию, мне просто нужно сделать так, чтобы wine игнорировал команды перехода в полноэкранный режим и рисовал окно (я про wine virtual desktop). Отключение всех флажков в разделе графика winecfg не помогло.


Включить Virtual Desktop. Больше ничего не нужно.

А если ты про разворачивание виртуального рабочего стола на весь экран, то повесь на свой менеджер окон хук, запрещающий разворачивать окна с классом “Wine” на весь экран. Если такой возможности нет, то продолжай страдать. :3

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

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

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

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

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

Я щас не про окна x11, а про окна самого wine (wine explorer /desktop=shell,1280x720)

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

Ах, ты про это…

Это нужно настраивать индивидуально каждое приложение (выключить полноэкранный режим в играх), в Windows это не предусмотрено глобально, потому и в Wine подобные костыли работать не будут — приложения будут игнорировать их.

Можешь отказаться от Virtual Desktop и написать хук для своего WM, чтобы окна не разворачивались во весь экран.

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

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

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

Я не умею создавать заглушки и всё такое (типа dxwnd, но мне такую громадину не надо, и такие же действия нужно проделать с gdi). Это должно работать так: ddraw.dll/gdi.dll в папке игры получает вызовы, и пропускает все кроме одного (кроме перехода в полноэкранный режим), или заменяет этот вызов на вызов оконного режима; и все эти команды тоже идут на реальные библиотеки. Как-то так хочу сделать.

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

Это компактно и удобно, в любой момент могу быстро переключить режим просто заменяя библиотеку, и не трогая остальную систему

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

А вот и то, что можно заменить:

hWnd = CreateWindowEx(0, NAME, TITLE, WS_POPUP, CW_USEDEFAULT, CW_USEDEFAULT, cx, cy, NULL, NULL, hInstance, NULL);

WS_POPUP - полноэкранный WS_OVERLAPPEDWINDOW - нормальный

Осталось разобраться как это всё подменять

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

Ладно, тогда придётся мне таскать с собой 2 мб файлов (dxwnd), эта программа работает идеально, любую fullscreen игру сделала оконной, и даже баги исправила.

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