LINUX.ORG.RU

Зогатко: wmctrl работает если вызывать через system(), не работает через fork() + exec().

 , ,


0

1

Имеется Qt-прога myapp. Её главное окно соответственно имеет WM_CLASS=myapp (это неизменяемое поведение Qt) и заголовок «mycaption». Имеется открытый QtCreator с заголовком окна «globals.h (src @ myapp) …».

Вызываемое из самой этой проги fork() + execl("/usr/bin/wmctrl", "-x", "-a", "myapp", (char*)nullptr) не работает (активирует QtCreator если в заголовке его окна есть myapp, иначе ничего не делает), а вот system("wmctrl -x -a myapp") работает (активирует окно проги).

В чём может быть фокус? Не хочу лишний шелл вызывать.

// myMainWindow->activateWindow() не предлагать, оно поднимает окно в своём виртуальном десктопе, который может быть неактивен. Средствами Qt это не решается, задрачиваться с EWMH не имею желания.

★★★★★

Ответ на: комментарий от deadNightTiger

Мать моя в коньках на босу ногу, точняк! Сенькс. =)

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