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(a)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).