как можно узнать что уже запущено нужное мне внешнее приложение (например опеноффис)
под иксами что-то в этом роде:
bool isUnuqueApplication(const char * name)
{
Display *dpy = QPaintDevice::x11AppDisplay();
WId rootW = getRootWindow();
if (rootW == None) return true;
Atom XA_APP_NAME = XInternAtom(dpy,name,False);
if (XA_APP_NAME == None) return true;
if (XGetSelectionOwner(dpy, XA_APP_NAME)==None)
{
XSetSelectionOwner(dpy, XA_APP_NAME, rootW, CurrentTime);
return true;
}
return false;
}
а вообще, зависит оконного менеджера.