This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 5cc3729 changelog fix: password conenction libssh 0.6.0 fix occurs with 4.0.1.4 (not with released 4.0.1.3) new b3b5633 Fix multimonitor support on Linux. new 73e9b7d Merge branch 'master' of ssh://code.x2go.org:32032/srv/git/code.x2go.org/x2goclient The 2 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 | 1 + onmainwindow.cpp | 47 ++++++++++++++++++++++++++++++++++++++++------- onmainwindow.h | 1 + 3 files changed, 42 insertions(+), 7 deletions(-) -- Alioth's /srv/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 b3b56338600315afca5805ad45034a3d5e4605e1 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Tue Feb 4 14:32:42 2014 +0100 Fix multimonitor support on Linux. --- debian/changelog | 1 + onmainwindow.cpp | 47 ++++++++++++++++++++++++++++++++++++++++------- onmainwindow.h | 1 + 3 files changed, 42 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index b597a28..da1ddd7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ x2goclient (4.0.2.0-0x2go1) UNRELEASED; urgency=low - Set modmap timer timeout to 10 sec on Mac. - Fix running xmodmap if X2Go Client not started from terminal. - Setting keyboard modifiers with xmodmap. + - Fix multimonitor support on Linux. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 22 Jan 2014 09:20:08 +0100 diff --git a/onmainwindow.cpp b/onmainwindow.cpp index fd19e32..9f306f8 100644 --- a/onmainwindow.cpp +++ b/onmainwindow.cpp @@ -3753,12 +3753,21 @@ void ONMainWindow::startNewSession() ( QVariant ) defaultFullscreen ).toBool(); - //if multidisplay = true or maxdim = true we set maximun display area available for the selected monitor - if (st->setting()->value(sid + "/multidisp", (QVariant) false).toBool() || st->setting()->value(sid + "/maxdim", (QVariant) false).toBool()) { + //if maxdim = true we set maximun display area available for the selected monitor + if ( st->setting()->value(sid + "/maxdim", (QVariant) false).toBool()) + { int selectedScreen = st->setting()->value(sid + "/display", (QVariant) -1).toInt(); height=QApplication::desktop()->availableGeometry(selectedScreen).height(); width=QApplication::desktop()->availableGeometry(selectedScreen).width(); - } else { + } + else if(st->setting()->value(sid + "/multidisp", (QVariant) false).toBool()) + { + //workaround to avoid wm set windows maximized, which will break moving and resizing of window + width=800; + height=600; + } + else + { height=st->setting()->value ( sid+"/height", ( QVariant ) defaultHeight ).toInt(); width=st->setting()->value ( sid+"/width", @@ -9861,9 +9870,19 @@ void ONMainWindow::slotSetProxyWinFullscreen() { #ifdef Q_OS_LINUX + + QRect geom=QApplication::desktop()->screenGeometry(localDisplayNumber-1); + Atom atom = XInternAtom ( QX11Info::display(), "_NET_WM_STATE_FULLSCREEN", True ); + XChangeProperty ( + QX11Info::display(), proxyWinId, + XInternAtom ( QX11Info::display(), "_NET_WM_STATE", True ), + XA_ATOM, 32, PropModeReplace, + (unsigned char*) &atom, 1 ); + + XMapWindow(QX11Info::display(), proxyWinId); + XSync(QX11Info::display(),false); XEvent event; - long emask = StructureNotifyMask | ResizeRedirectMask; event.xclient.type = ClientMessage; event.xclient.serial = 0; event.xclient.send_event = True; @@ -9874,12 +9893,23 @@ void ONMainWindow::slotSetProxyWinFullscreen() event.xclient.data.l[0] = 1; event.xclient.data.l[1] = XInternAtom(QX11Info::display(),"_NET_WM_STATE_FULLSCREEN",False); event.xclient.data.l[2] = 0; - event.xclient.data.l[3] = 0; + event.xclient.data.l[3] = 1; event.xclient.data.l[4] = 0; Status st; st=XSendEvent(QX11Info::display(), DefaultRootWindow(QX11Info::display()), - False, emask,&event); + False, SubstructureNotifyMask ,&event); + if(!st) + { + x2goDebug<<"Couldn't get fullscreen"; + } XSync(QX11Info::display(),false); + XMapWindow(QX11Info::display(), proxyWinId); + + QString geoStr = QString("%1").arg(geom.width()) + "x"+ QString("%1").arg(geom.height()); + + + + sshConnection->executeCommand("DISPLAY=:"+resumingSession.display+" xrandr --output default --mode "+geoStr); #endif #ifdef Q_OS_WIN wapiSetFSWindow ( ( HWND ) proxyWinId, @@ -9902,7 +9932,9 @@ void ONMainWindow::resizeProxyWinOnDisplay(int disp) #ifdef Q_OS_LINUX XSync(QX11Info::display(),false); - XMoveWindow(QX11Info::display(), proxyWinId,geom.x(),geom.y()); + XMoveResizeWindow(QX11Info::display(), proxyWinId, geom.x(), geom.y(), 800, 600); + XMapWindow(QX11Info::display(), proxyWinId); + XFlush(QX11Info::display()); #endif #ifdef Q_OS_WIN dispGeometry=geom; @@ -10056,6 +10088,7 @@ void ONMainWindow::slotFindProxyWin() { disp=1; } + localDisplayNumber=disp; resizeProxyWinOnDisplay(disp); return; } diff --git a/onmainwindow.h b/onmainwindow.h index 8db82ec..fa535d7 100644 --- a/onmainwindow.h +++ b/onmainwindow.h @@ -793,6 +793,7 @@ private: QString lastFreeServer; QString cardLogin; QTextEdit* stInfo; + int localDisplayNumber; SVGFrame* ln; int tunnel; -- Alioth's /srv/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 73e9b7d88afea8c1a82afc5a046373f6f871e376 Merge: b3b5633 5cc3729 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Tue Feb 4 14:34:20 2014 +0100 Merge branch 'master' of ssh://code.x2go.org:32032/srv/git/code.x2go.org/x2goclient debian/changelog | 8 ++++++-- sshmasterconnection.cpp | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git