Я работаю над игрой, построенной на SDL 1.2, которая использует эксклюзивный полноэкранный режим в Linux. Это означает, что он получает все данные из оконного менеджера, поэтому Alt-F4 и Alt-Tab должны быть реализованы внутри самой игры.
Alt-F4 легко. Для Alt-Tab я хочу перевести игру из полноэкранного в оконный режим, чтобы пользователь мог получить доступ к остальной части рабочего стола. Правильный способ сделать это в SDL — это уничтожить кучу OpenGL и перестроить его, что недопустимо в текущей кодовой базе и также займет много времени (подумайте 10 секунд).
Тем не менее, я заметил, что если игра открывает веб-URL с xdg-open
оконный менеджер, по крайней мере в Ubuntu 15.04, автоматически делает игру окном (чтобы иметь возможность отображать недавно открытый браузер для пользователя), и ему удается делать это быстро и без ошибок.
Есть ли способ заставить оконный менеджер сделать это из игры (нажатием клавиши), не открывая другое окно / приложение?
Задача ещё не решена.
Других решений пока нет …