В настоящее время с swt я иногда хочу, чтобы программа произвольно выходила на передний план (например, будильник).
Обычно работает следующее (jruby):
@shell.setMinimized(false)
@shell.forceActive
Это выводит оболочку на передний план, если она была свернута.
Создание новой оболочки в любое время также выводит (новую оболочку) на передний план.
Пока все хорошо, однако, если оболочка не свернута, приведенный выше код просто мигает (мигает) значок приложения на панели задач. Ну, на самом деле, когда вы запускаете его в первый раз, он выводит его на передний план. После этого он просто мигает в панели задач. Это окна. В Linux он мигает только на панели задач (по умолчанию в Ubuntu).
Кто-нибудь знает о кросс-платформенном способе вывести приложение на передний план в swt?
Кажется, что никакое заклинание forceActive setActive setMinimized(false) setFocus forceFocus и setVisible не может выполнить эту задачу.
Я почти уверен, что это возможно (по крайней мере, в Windows), как это делает текстовый редактор E. Ну, это не swt, но, по крайней мере, некоторые другие приложения известно, что это делают.
Я думаю, может быть, это swt-ошибка 192036?
Большое спасибо.
Связанный:
- Как вывести окно на передний план?
- Открытие оболочки
- Оставить окно на переднем плане (даже если оно теряет фокус)
- Ошибка 244597: невозможно программно активировать оболочку на gtk
- Необходимо вывести приложение на передний план в Windows
- Как вывести окно на передний план? этот пример свинга тоже может быть какая-то подсказка...