28    Q_ASSERT(qobject_cast<X11Window *>(window) || qobject_cast<XdgToplevelWindow *>(window));
 
   30    m_process.setProcessChannelMode(QProcess::ForwardedChannels);
 
   32    const QFileInfo binaryInfo(KWIN_KILLER_BIN);
 
   33    const QFileInfo buildDirBinary{QDir{QCoreApplication::applicationDirPath()}, binaryInfo.fileName()};
 
   35    if (buildDirBinary.exists()) {
 
   36        m_process.setProgram(buildDirBinary.absoluteFilePath());
 
   38        m_process.setProgram(KWIN_KILLER_BIN);
 
 
   53    QProcessEnvironment env = kwinApp()->processStartupEnvironment();
 
   56    QString timestampString;
 
   57    QString hostname = QStringLiteral(
"localhost");
 
   61    if (
auto *x11Window = qobject_cast<X11Window *>(m_window)) {
 
   62        platform = QStringLiteral(
"xcb");
 
   63        wid = QString::number(x11Window->window());
 
   64        timestampString = QString::number(timestamp);
 
   65        if (!x11Window->clientMachine()->isLocal()) {
 
   66            hostname = x11Window->clientMachine()->hostName();
 
   68    } 
else if (
auto *xdgToplevel = qobject_cast<XdgToplevelWindow *>(m_window)) {
 
   69        platform = QStringLiteral(
"wayland");
 
   75        env.insert(QStringLiteral(
"XDG_ACTIVATION_TOKEN"), token);
 
   77        env.remove(QStringLiteral(
"QT_WAYLAND_RECONNECT"));
 
   81        QStringLiteral(
"-platform"),
 
   83        QStringLiteral(
"--pid"),
 
   84        QString::number(m_window->
pid()),
 
   85        QStringLiteral(
"--windowname"),
 
   87        QStringLiteral(
"--applicationname"),
 
   89        QStringLiteral(
"--wid"),
 
   91        QStringLiteral(
"--hostname"),
 
   93        QStringLiteral(
"--timestamp"),
 
   97    m_process.setArguments(args);
 
   98    m_process.setProcessEnvironment(env);