[dirty hack][untested][utopia][just for fun]...
собсна по быстрому накатал патч для одного из инструментов которым частенько пользуюсь при работе с ваном (авось скоро будет один :) )
вкратце :
при указании DISPLAY: [ :1 ] в параметрах иконки (пусть будет :1)
* создает|перезаписывает файлик с командой запуска приложения
* запускает через /usr/bin/startx файлик — :1
напоминаю, жжоский хак. работать будет только у тех , у кого 1 монитор с 1 иксами клавой и мышкой, одно слово в названии иконки в префиксе ... вобшшем для тех, кто действительно ждет запуска иксов при указании DISPLAY ;)
его никогда в таком виде не примут , ибо много если. писал чисто под себя. просто делюсь.
diff --git a/src/q4wine-lib/q4wine-lib.cpp b/src/q4wine-lib/q4wine-lib.cpp
index f5ba8ef..be36ae3 100644
--- a/src/q4wine-lib/q4wine-lib.cpp
+++ b/src/q4wine-lib/q4wine-lib.cpp
@@ -955,7 +955,34 @@ QStringList corelib::getCdromDevices(void) const{
qDebug()<<"[ii] corelib::runWineBinary: "<<binary<<args<<" at: "<<wrkdir;
#endif
- if (detach){
+ if (!execObj.display.isEmpty()){
+ QString runFileName = QDir::homePath();
+ runFileName.append("/.config/");
+ runFileName.append(APP_SHORT_NAME);
+ runFileName.append("/tmp/");
+ runFileName.append(prefix_name);
+ runFileName.append(".");
+ runFileName.append(execObj.name);
+
+ QFile file(runFileName);
+ file.open(QIODevice::Truncate | QIODevice::WriteOnly);
+
+ QTextStream out(&file);
+ out<<binary;
+ for(int p=0;p<args.count();p+=2) {
+ out<<" " << args[p];
+ out<<" \"" << args[p+1] << "\"";
+ }
+ out<<endl;
+ file.close();
+
+ QProcess proc(0);
+ QStringList xarg;
+ xarg.append(runFileName);
+ xarg.append("--");
+ xarg.append(execObj.display);
+ return proc.startDetached("/usr/bin/startx", xarg, wrkdir);
+ }else if (detach){
QProcess proc(0);
return proc.startDetached(binary, args, wrkdir);
} else {