This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 7cb7c46 x2goclient.pro: reinstate old lrelease "search" behavior if qtPrepareTool() is not available. new 58c2db0 Fixing multimonitor mode on Windows. Run VcXsrv with on selected screen without decoration. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 4 ++++ src/onmainwindow.cpp | 65 +++++++++++++++++++++++++++++--------------------- src/onmainwindow.h | 3 ++- 3 files changed, 44 insertions(+), 28 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit 58c2db08167d490797f3160d12274761f23bfaa8 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Tue Jul 7 09:54:34 2015 +0200 Fixing multimonitor mode on Windows. Run VcXsrv with on selected screen without decoration. --- debian/changelog | 4 ++++ src/onmainwindow.cpp | 65 +++++++++++++++++++++++++++++--------------------- src/onmainwindow.h | 3 ++- 3 files changed, 44 insertions(+), 28 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8e0c97c..2758813 100644 --- a/debian/changelog +++ b/debian/changelog @@ -88,6 +88,10 @@ x2goclient (4.0.4.1-0x2go1) UNRELEASED; urgency=low - x2goclient.pro: simplify lrelease path preparing for different OS and cross compiling. Fixes: #901. + [ Oleksandr Shneyder ] + - Fixing multimonitor mode on Windows. Run VcXsrv with on selected screen + without decoration. + -- X2Go Release Manager <git-admin@x2go.org> Tue, 26 May 2015 21:42:09 +0200 x2goclient (4.0.4.0-0x2go1) unstable; urgency=low diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index 0b2a924..5236748 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -3825,6 +3825,32 @@ void ONMainWindow::startNewSession() { runRemoteCommand=false; } +#ifdef Q_OS_WIN + x2goDebug<<"Fullscreen: "<<fullscreen; + maximizeProxyWin=false; + proxyWinWidth=width; + proxyWinHeight=height; + xorgMode=WIN; + if (fullscreen) + xorgMode=FS; + if (rootless) + xorgMode=SAPP; + xorgWidth=QString::number(width); + xorgHeight=QString::number(height); + uint displays=QApplication::desktop()->numScreens(); + if (st->setting()->value ( sid+"/multidisp", ( QVariant ) false ).toBool()) + { + xorgMode=MULTIDISPLAY; + uint disp=st->setting()->value ( sid+"/display",( QVariant ) 1 ).toUInt(); + if (disp>displays) + { + disp=1; + } + localDisplayNumber=disp; + } + if (! startXorgOnStart) + startXOrg(); +#endif delete st; } @@ -3840,25 +3866,6 @@ void ONMainWindow::startNewSession() QString geometry; -#ifdef Q_OS_WIN - - x2goDebug<<"Fullscreen: "<<fullscreen; - - maximizeProxyWin=false; - proxyWinWidth=width; - proxyWinHeight=height; -//#ifdef CFGCLIENT - xorgMode=WIN; - if (fullscreen) - xorgMode=FS; - if (rootless) - xorgMode=SAPP; - xorgWidth=QString::number(width); - xorgHeight=QString::number(height); - if (! startXorgOnStart) - startXOrg(); -//#endif -#endif if ( fullscreen ) { geometry="fullscreen"; @@ -5394,7 +5401,10 @@ void ONMainWindow::slotTunnelOk(int) nxproxy->start ( proxyCmd ); proxyRunning=true; -//always search for proxyWin +//allways search for proxy window on linux. On Windows only in window mode +#ifdef Q_OS_WIN + if(xorgMode==WIN) +#endif proxyWinTimer->start ( 300 ); if ( embedMode ) { @@ -9519,6 +9529,9 @@ void ONMainWindow::startXOrg () x2goDebug<<cmdLine; break; + case MULTIDISPLAY: + cmdLine=xorgMDOptions+QString::number(localDisplayNumber); + break; } } QStringList options=cmdLine.split(" ",QString::SkipEmptyParts); @@ -9919,7 +9932,7 @@ void ONMainWindow::xorgSettings() xorgWinOptions=(st.setting()->value("optionswin","-screen 0 %wx%h -notrayicon -clipboard").toString()); xorgFSOptions=(st.setting()->value("optionsfs","-fullscreen -notrayicon -clipboard").toString()); xorgSAppOptions=(st.setting()->value("optionssingle","-multiwindow -notrayicon -clipboard").toString()); - + xorgMDOptions=(st.setting()->value("optionsmd","-nodecoration -notrayicon -clipboard -screen 0 @").toString()); if (QFile::exists(appDir+"\\vcxsrv")) @@ -9941,6 +9954,7 @@ void ONMainWindow::xorgSettings() xorgWinOptions="-multiwindow -notrayicon -clipboard"+primClip; xorgFSOptions="-fullscreen -notrayicon -clipboard"+primClip; xorgSAppOptions="-multiwindow -notrayicon -clipboard"+primClip; + xorgMDOptions="-nodecoration -notrayicon -clipboard"+primClip+" -screen 0 @"; } } @@ -10227,11 +10241,6 @@ void ONMainWindow::slotSetProxyWinFullscreen() sshConnection->executeCommand("DISPLAY=:"+resumingSession.display+" xrandr --output default --mode "+geoStr); #endif -#ifdef Q_OS_WIN - wapiSetFSWindow ( ( HWND ) proxyWinId, - dispGeometry ); - -#endif } @@ -10392,9 +10401,10 @@ void ONMainWindow::slotFindProxyWin() st=new X2goSettings(config.iniFile,QSettings::IniFormat); else st= new X2goSettings( "sessions" ); - uint displays=QApplication::desktop()->numScreens(); xinerama=st->setting()->value ( sid+"/xinerama", ( QVariant ) defaultXinerama ).toBool(); +#ifndef Q_OS_WIN + uint displays=QApplication::desktop()->numScreens(); if (st->setting()->value ( sid+"/multidisp", ( QVariant ) false ).toBool()) { @@ -10408,6 +10418,7 @@ void ONMainWindow::slotFindProxyWin() resizeProxyWinOnDisplay(disp); return; } +#endif } if (xinerama) { diff --git a/src/onmainwindow.h b/src/onmainwindow.h index 18c0094..224a138 100644 --- a/src/onmainwindow.h +++ b/src/onmainwindow.h @@ -886,7 +886,8 @@ private: QString xorgWinOptions; QString xorgFSOptions; QString xorgSAppOptions; - enum {WIN,FS,SAPP} xorgMode; + QString xorgMDOptions; + enum {WIN,FS,SAPP,MULTIDISPLAY} xorgMode; QString xorgWidth; QString xorgHeight; int waitingForX; -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git