I understand that it is normal to get scrollbars if the remote screen is larger than the local one.
However, in the java viewer, if I scroll to bottom right using these, there is another set of scrollbars. This is extremely annoying.
I am using the java viewer in Firefox in case that information helps.
Thanks in advance,
Gideon
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Superfluous java scrollbars
Re: Superfluous java scrollbars
Note: even if the remote screen is smaller than the available space in the Firefox window, there are still extra annoying scrollbars. Here is a screenshot:
Re: Superfluous java scrollbars
I don't know a lot about java, but I'm willing to bet this problem happens somewhere in here (from VncViewer.java):
Code: Select all
189 // Add ScrollPanel to applet mode
190
191 // Create a panel which itself is resizeable and can hold
192 // non-resizeable VncCanvas component at the top left corner.
193 Panel canvasPanel = new Panel();
194 canvasPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
195 canvasPanel.add(vc);
196
197 // Create a ScrollPane which will hold a panel with VncCanvas
198 // inside.
199 desktopScrollPane = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);
200 gbc.fill = GridBagConstraints.BOTH;
201 gridbag.setConstraints(desktopScrollPane, gbc);
202 desktopScrollPane.add(canvasPanel);
203
204 if (inSeparateFrame) {
205 // Finally, add our ScrollPane to the Frame window.
206 vncFrame.add(desktopScrollPane);
207 vncFrame.setTitle(rfb.desktopName);
208 vncFrame.pack();
209 vc.resizeDesktopFrame();
210 } else {
211 // Finally, add the scrollable panel component to the Applet.
212 gridbag.setConstraints(desktopScrollPane, gbc);
213 add(desktopScrollPane);
214
215 // Add ScrollPanel to applet mode end
216
217 validate();
218
219 }
Re: Superfluous java scrollbars
While there might be a problem in the VncViewer Java code, changing the embedding code will clear out the scrollbars. I used Firebug in Firefox to add 4 pixels to the embed width. The additional width cleared the scrollbars.
This code has superfluous scroll bars:
This code has superfluous scroll bars:
This code does not:<HTML>
<HEAD><TITLE> [mrpotatoe] </TITLE></HEAD>
<BODY>
<SPAN style='position: absolute; top:0px;left:0px'>
<OBJECT
ID='VncViewer'
classid = 'clsid:8AD9C840-044E-11D1-B3E9-00805F499D93'
codebase = 'http://java.sun.com/update/1.4.2/jinsta ... on=1,4,0,0'
WIDTH = 1280 HEIGHT = 800 >
<PARAM NAME = CODE VALUE = VncViewer.class >
<PARAM NAME = ARCHIVE VALUE = VncViewer.jar >
<PARAM NAME = 'type' VALUE = 'application/x-java-applet;version=1.4'>
<PARAM NAME = 'scriptable' VALUE = 'false'>
<PARAM NAME = PORT VALUE=5900>
<PARAM NAME = ENCODING VALUE=Tight>
<PARAM NAME = 'Open New Window' VALUE='Yes'>
<COMMENT>
<EMBED
type = 'application/x-java-applet;version=1.4' \
CODE = VncViewer.class \
ARCHIVE = VncViewer.jar \
WIDTH = 1280 \
HEIGHT = 800 \
PORT =5900 \
ENCODING =Tight \
scriptable = false \
pluginspage ='http://java.sun.com/products/plugin/index.html#download'>
<NOEMBED>
</NOEMBED>
</EMBED>
</COMMENT>
</OBJECT>
</SPAN>
</BODY>
</HTML>
It looks like I need to change vnchttpconnect.cpp<HTML>
<HEAD><TITLE> [mrpotatoe] </TITLE></HEAD>
<BODY>
<SPAN style='position: absolute; top:0px;left:0px'>
<OBJECT
ID='VncViewer'
classid = 'clsid:8AD9C840-044E-11D1-B3E9-00805F499D93'
codebase = 'http://java.sun.com/update/1.4.2/jinsta ... on=1,4,0,0'
WIDTH = 1284 HEIGHT = 800 >
<PARAM NAME = CODE VALUE = VncViewer.class >
<PARAM NAME = ARCHIVE VALUE = VncViewer.jar >
<PARAM NAME = 'type' VALUE = 'application/x-java-applet;version=1.4'>
<PARAM NAME = 'scriptable' VALUE = 'false'>
<PARAM NAME = PORT VALUE=5900>
<PARAM NAME = ENCODING VALUE=Tight>
<PARAM NAME = 'Open New Window' VALUE='Yes'>
<COMMENT>
<EMBED
type = 'application/x-java-applet;version=1.4' \
CODE = VncViewer.class \
ARCHIVE = VncViewer.jar \
WIDTH = 1284 \
HEIGHT = 800 \
PORT =5900 \
ENCODING =Tight \
scriptable = false \
pluginspage ='http://java.sun.com/products/plugin/index.html#download'>
<NOEMBED>
</NOEMBED>
</EMBED>
</COMMENT>
</OBJECT>
</SPAN>
</BODY>
</HTML>
to374 // Send the java applet page
375 sprintf(indexpage, HTTP_FMT_INDEX,
376 desktopname, width, height+32,
377 m_server->GetPort(), width, height+32,
378 m_server->GetPort()
379 );
Then recompile and test. I have never build UltraVNC from source before, so any assistance or advice would be welcome.374 // Send the java applet page
375 sprintf(indexpage, HTTP_FMT_INDEX,
376 desktopname, width+4, height+32,
377 m_server->GetPort(), width+4, height+32,
378 m_server->GetPort()
379 );
Last edited by bz922x on 2009-12-05 01:57, edited 1 time in total.
God grant me the serenity to accept the code I cannot change, the courage to change the code I can change, and the wisdom to know the difference.
Re: Superfluous java scrollbars
Devs,
Thanks to Rudi's help, I have been able to build and test winvnc incorporating the change above.
I after testing in Firefox, IE8, Chrome, and Opera, I find that there are no superfluous scrollbars when this change is made to vnchttpconnect.cpp:
The additional 4 pixels of width on line 377 seem to be required by Firefox when it embeds a Java applet. The width in line 376 is not used by Firefox so it does not need to be changed.
Could this change be incorporated into the next build?
Thanks,
Tom Goodman
Thanks to Rudi's help, I have been able to build and test winvnc incorporating the change above.
I after testing in Firefox, IE8, Chrome, and Opera, I find that there are no superfluous scrollbars when this change is made to vnchttpconnect.cpp:
Code: Select all
374 // Send the java applet page
375 sprintf(indexpage, HTTP_FMT_INDEX,
376 desktopname, width, height+32,
377 m_server->GetPort(), width+4, height+32,
378 m_server->GetPort()
379 );
Could this change be incorporated into the next build?
Thanks,
Tom Goodman
God grant me the serenity to accept the code I cannot change, the courage to change the code I can change, and the wisdom to know the difference.
Re: Superfluous java scrollbars
Does anyone know if this has been fixed yet? I'm having the same problem in 1.0.6.5.
Re: Superfluous java scrollbars
Digging this up as I just witnessed this issue and stumbled on this thread about it. It is not fixed as far as the Win x64 version 10961 Beta. Looks great in IE but in Firefox (Nightly 6.0a1) I get the scrollbars.
Re: Superfluous java scrollbars
java part was not updated at all. only java certificate and patch for mslogon for RFB protocol 3.8, no more update
there a lot of bugs report about java, but there no java developers...have a lot but not for free software...
like:
network error only after vnc authentication.
or
change color palette and codec and there no more screen update after Ctrl+Alt+Del.
there a lot of bugs report about java, but there no java developers...have a lot but not for free software...
like:
network error only after vnc authentication.
or
change color palette and codec and there no more screen update after Ctrl+Alt+Del.
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
OS Win: xp home + vista business + 7 home
only experienced user, not developer