У меня есть пример приложения, которое поставляется с Qt (dialogs / standarddialogs) и модифицировало его так, чтобы оно отображало диалог на каждом экране:
for(int i=0;i<app.desktop()->screenCount();i++)
{
Dialog* dialog = new Dialog(app.desktop()->screen(i));
dialog->show();
}
return app.exec();
При тестировании на Xnest на экране приложения по умолчанию (тот, с которого было запущено приложение) все работает нормально. Однако на другом экране значки в окнах сообщений отображаются неправильно.
Проблема может быть воспроизведена как на солярисе, так и на Linux. Однако, когда я пытаюсь использовать Xephyr вместо Xnest, проблема исчезает (в Linux). С другой стороны, это не проблема с самим Xnest, так как на Exceed проблема также может быть воспроизведена (но значки не отображаются вообще).
Кто-нибудь видел такую проблему? Как вы думаете, это может быть проблема с Qt или конфигурацией X-сервера? Или, может быть, мне нужно скомпилировать Qt с некоторыми специальными опциями?