(см. Правки)
Я занимаюсь разработкой приложения QT / c ++ под gnome.
Приложение главное окно и дочернее окно QListBox.
Оба эти окна отображаются как отдельные главные окна, когда я покидаю приложение, нажимая клавишу alt-tab.
Как сделать так, чтобы при использовании alt-tab отображалось только одно окно, когда я (или позже пользователь) использовал?
Я предполагаю, что такое поведение происходит, потому что одно главное окно необрезать подокно - подокно расширяет границу главного окна.Gnome имеет плохое поведение alt-tab для ряда других приложений, показывая модальные диалоговые окна отдельно от основных окон.Но в случае моего приложения это действительно раздражает.
Я думаю, я мог бы сделать гигантское прозрачное окно, которое включает в себя оба существующих окна.Но было бы лучше найти «чистое» решение.
(самое логичное предположение, действительно, в том, что оно как-то связано с флагами окна. Я попробовал каждую разумную комбинацию флагов, о которой мог подумать. Типы окон описаны здесь )
Редактировать: приложение имеет QWidget в качестве основного окна (не QMainWindow), QListView содержится в объекте QWidget и создается путем передачи точки в главное окно.стилизован с помощью Qt :: Tool |Qt :: FramelessWindowHint.
Edit2: Стиль Qt :: X11BypassWindowManagerHint работает для удаления окна из списка alt-tab.Проблема в том, что оно также делает окно «неуправляемым», поэтому оно закрывает другие окна.Я мог бы спрятаться всякий раз, когда терял фокус - теперь приз за лучшее решение.