The branch, master has been updated via 4f41b1600794e06c5a9ec5e14b1621c52f867ae0 (commit) from 8c41c073e281b7a7d6a876381096b45458748ec1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4f41b1600794e06c5a9ec5e14b1621c52f867ae0 Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> Date: Mon May 7 15:53:37 2012 +0200 command line options for username and autostart application ----------------------------------------------------------------------- Summary of changes: debian/changelog | 4 ++++ onmainwindow.cpp | 34 ++++++++++++++++++++++++++++++++-- onmainwindow.h | 2 ++ 3 files changed, 38 insertions(+), 2 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index a54b5c2..126827b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,10 @@ x2goclient (3.99.2.1-0~x2go1) UNRELEASED; urgency=low - Support recent pulseuadio on windows - removing %USERPROFILE%\.x2go\pulse\.pulse\%COMPUTERNAME%-runtime\pid if exists under windows + - --user=<username> set username in session mode if this field is blank + in session settings. + - --autostart=<app> launch "app" by session start in "published + applications" mode [ Daniel Lindgren ] * New upstream version (3.99.2.1): diff --git a/onmainwindow.cpp b/onmainwindow.cpp index 6879c39..9a55755 100644 --- a/onmainwindow.cpp +++ b/onmainwindow.cpp @@ -2581,6 +2581,9 @@ void ONMainWindow::slotSelectedFromList ( SessionButton* session ) userName=st.setting()->value ( sid+"/user", ( QVariant ) QString::null ).toString(); + if (defaultUser && userName.length()<1) + userName=defaultUserName; + sshPort=st.setting()->value ( sid+"/sshport", ( QVariant ) defaultSshPort ).toString(); @@ -3235,6 +3238,7 @@ void ONMainWindow::startNewSession() QString xdmcpServer; runRemoteCommand=true; QString host=QString::null; + runStartApp=true; removeAppsFromTray(); if ( useLdap ) { @@ -3545,6 +3549,7 @@ void ONMainWindow::startNewSession() void ONMainWindow::resumeSession ( const x2goSession& s ) { newSession=false; + runStartApp=false; applications.clear(); removeAppsFromTray(); QString passwd=getCurrentPass(); @@ -4991,9 +4996,13 @@ void ONMainWindow::slotProxyStderr() localGraphicPort+"' established" ) !=-1 ) { if ( newSession ) + { setStatStatus ( tr ( "starting" ) ); + } else + { setStatStatus ( tr ( "resuming" ) ); + } } if ( stInfo->toPlainText().indexOf ( @@ -5599,6 +5608,7 @@ void ONMainWindow::slotReadApplications(bool result, QString output, applications.clear(); QString locallong=QLocale::system().name(); QString localshort=QLocale::system().name().split("_")[0]; + bool startAppFound=false; foreach(QString appstr, output.split("</desktop>",QString::SkipEmptyParts)) { @@ -5625,6 +5635,8 @@ void ONMainWindow::slotReadApplications(bool result, QString output, if (line.indexOf("Name=")!=-1 && !localname) { app.name=line.split("=")[1]; + if (app.name==autostartApp) + startAppFound=true; // x2goDebug<<"name: "<<app.name<<endl; } if (line.indexOf("Comment=")!=-1 && !localcomment) @@ -5635,8 +5647,12 @@ void ONMainWindow::slotReadApplications(bool result, QString output, if (line.indexOf("Exec=")!=-1) { app.exec=line.split("=")[1]; + app.exec.replace(" %f","",Qt::CaseInsensitive); + app.exec.replace(" %u","",Qt::CaseInsensitive); app.exec.replace("%f","",Qt::CaseInsensitive); app.exec.replace("%u","",Qt::CaseInsensitive); + if (app.exec==autostartApp) + startAppFound=true; // x2goDebug<<"exec: "<<app.exec<<endl; } if (line.indexOf("Categories=")!=-1) @@ -5702,6 +5718,13 @@ void ONMainWindow::slotReadApplications(bool result, QString output, qSort(applications.begin(), applications.end(),Application::lessThen); plugAppsInTray(); + if (runStartApp && autostartApp.length()>1) + { + if (!startAppFound) + x2goDebug<<"Autostart application "<<autostartApp<< " not found in Desktop files"<<endl; + else + runApplication(autostartApp); + } } @@ -5921,6 +5944,11 @@ bool ONMainWindow::parseParameter ( QString param ) config.brokerName=value; return true; } + if ( setting == "--autostart") + { + autostartApp=value; + return true; + } if ( setting == "--auth-id") { QFile file(value); @@ -6230,7 +6258,7 @@ void ONMainWindow::showHelp() "default 22\n" "--command=<cmd>\t\t\t Set default command, default value 'KDE'\n" "--session=<session>\t\t Start session 'session'\n" - "--user=<username>\t\t in LDAP mode, select user 'username'\n" + "--user=<username>\t\t select user 'username'\n" "--geomerty=<W>x<H>|fullscreen\t set default geometry, default " "value '800x600'\n" "--dpi=<dpi>\t\t\t set dpi of x2goagent to dpi, default not set\n" @@ -6243,7 +6271,9 @@ void ONMainWindow::showHelp() "--kbd-type=<typed>\t\t set default keyboard type\n" "--home=<dir>\t\t\t set users home directory\n" "--set-kbd=<0|1>\t\t\t overwrite current keyboard settings\n" - "--session-conf=<file>\t\t\t path to alternative session config\n"; + "--autostart=<app> \t\t launch \"app\" by session start in \"published " + "applications\" mode\n" + "--session-conf=<file>\t\t path to alternative session config\n"; qCritical ( "%s",helpMsg.toLocal8Bit().data() ); QMessageBox::information ( this,tr ( "Options" ),helpMsg ); } diff --git a/onmainwindow.h b/onmainwindow.h index 7e9cb94..66b21e8 100644 --- a/onmainwindow.h +++ b/onmainwindow.h @@ -506,6 +506,7 @@ private: bool embedMode; bool thinMode; QString statusString; + QString autostartApp; int defaultLink; int defaultQuality; int defaultWidth; @@ -664,6 +665,7 @@ private: bool showToolBar; bool showHaltBtn; bool newSession; + bool runStartApp; bool ldapOnly; bool isScDaemonOk; bool parecTunnelOk; hooks/post-receive -- x2goclient.git (X2Go Client) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "x2goclient.git" (X2Go Client).