[X2go-Commits] x2goclient.git - master (branch) updated: 3.99.2.0-10-g4f41b16
X2Go dev team
git-admin at x2go.org
Mon May 7 15:53:44 CEST 2012
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 at 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).
More information about the x2go-commits
mailing list