changeset 385:b0be610bc4db

Set reconnectingID
author innparusu
date Sat, 05 Sep 2015 19:51:41 +0900
parents 0bbfc23ef8c4
children 27f4414e9e6a
files .idea/workspace.xml src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java
diffstat 5 files changed, 472 insertions(+), 873 deletions(-) [+]
line wrap: on
line diff
--- a/.idea/workspace.xml	Fri Sep 04 18:18:17 2015 +0900
+++ b/.idea/workspace.xml	Sat Sep 05 19:51:41 2015 +0900
@@ -2,8 +2,10 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="0a04b9e3-21eb-43ee-b441-59e664eecd89" name="Default" comment="">
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java" afterPath="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java" afterPath="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java" afterPath="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java" afterPath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java" afterPath="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
     </list>
     <ignored path="TreeVNC.iws" />
@@ -29,38 +31,25 @@
     <favorites_list name="TreeVNC" />
   </component>
   <component name="FileEditorManager">
-    <splitter split-orientation="horizontal" split-proportion="0.43382573">
+    <splitter split-orientation="horizontal" split-proportion="0.4635514">
       <split-first>
         <leaf>
-          <file leaf-file-name="ReceiverTask.java" pinned="false" current-in-tab="true">
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java">
+          <file leaf-file-name="ProtocolState.java" pinned="false" current-in-tab="true">
+            <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/ProtocolState.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="-1.9496344" vertical-offset="3440" max-vertical-offset="7040">
-                  <caret line="74" column="20" selection-start-line="74" selection-start-column="20" selection-end-line="74" selection-end-column="20" />
-                  <folding>
-                    <element signature="imports" expanded="true" />
-                  </folding>
+                <state vertical-scroll-proportion="0.50988877" vertical-offset="0" max-vertical-offset="1618">
+                  <caret line="61" column="0" selection-start-line="61" selection-start-column="0" selection-end-line="61" selection-end-column="0" />
+                  <folding />
                 </state>
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="Surface.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java">
+          <file leaf-file-name="ProtocolContext.java" pinned="false" current-in-tab="false">
+            <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ProtocolContext.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="2130" max-vertical-offset="3390">
-                  <caret line="182" column="13" selection-start-line="182" selection-start-column="13" selection-end-line="182" selection-end-column="13" />
-                  <folding>
-                    <element signature="e#0#8650#0" expanded="false" />
-                    <element signature="imports" expanded="false" />
-                    <element signature="e#3024#3025#0" expanded="false" />
-                    <element signature="e#3072#3073#0" expanded="false" />
-                    <element signature="e#5581#5582#0" expanded="false" />
-                    <element signature="e#5613#5614#0" expanded="false" />
-                    <element signature="e#5662#5663#0" expanded="false" />
-                    <element signature="e#5694#5695#0" expanded="false" />
-                    <element signature="e#8612#8613#0" expanded="false" />
-                    <element signature="e#8645#8646#0" expanded="false" />
-                  </folding>
+                <state vertical-scroll-proportion="0.0" vertical-offset="1427" max-vertical-offset="2828">
+                  <caret line="107" column="38" selection-start-line="107" selection-start-column="38" selection-end-line="107" selection-end-column="38" />
+                  <folding />
                 </state>
               </provider>
             </entry>
@@ -90,418 +79,19 @@
           <file leaf-file-name="ZlibDecoder.java" pinned="false" current-in-tab="false">
             <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="390" max-vertical-offset="720">
+                <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="720">
                   <caret line="56" column="57" selection-start-line="56" selection-start-column="57" selection-end-line="56" selection-end-column="57" />
-                  <folding>
-                    <element signature="e#0#2710#0" expanded="false" />
-                    <element signature="imports" expanded="false" />
-                    <element signature="e#2684#2685#0" expanded="false" />
-                    <element signature="e#2705#2706#0" expanded="false" />
-                  </folding>
+                  <folding />
                 </state>
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="Component.java" pinned="false" current-in-tab="false">
-            <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/src.zip!/java/awt/Component.java">
+          <file leaf-file-name="ProtocolSettings.java" pinned="false" current-in-tab="false">
+            <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ProtocolSettings.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="46350" max-vertical-offset="145260">
-                  <caret line="3345" column="40" selection-start-line="3345" selection-start-column="40" selection-end-line="3345" selection-end-column="40" />
-                  <folding>
-                    <element signature="e#0#377448#0" expanded="false" />
-                    <element signature="imports" expanded="false" />
-                    <element signature="e#20741#20742#0" expanded="false" />
-                    <element signature="e#20774#20775#0" expanded="false" />
-                    <element signature="e#27745#27746#0" expanded="false" />
-                    <element signature="e#27812#27813#0" expanded="false" />
-                    <element signature="e#29358#29359#0" expanded="false" />
-                    <element signature="e#29419#29420#0" expanded="false" />
-                    <element signature="e#29475#29476#0" expanded="false" />
-                    <element signature="e#29543#29544#0" expanded="false" />
-                    <element signature="e#29815#29816#0" expanded="false" />
-                    <element signature="e#29870#29871#0" expanded="false" />
-                    <element signature="e#29949#29950#0" expanded="false" />
-                    <element signature="e#30010#30011#0" expanded="false" />
-                    <element signature="e#30067#30068#0" expanded="false" />
-                    <element signature="e#30135#30136#0" expanded="false" />
-                    <element signature="e#30205#30206#0" expanded="false" />
-                    <element signature="e#30257#30258#0" expanded="false" />
-                    <element signature="e#30473#30474#0" expanded="false" />
-                    <element signature="e#30540#30541#0" expanded="false" />
-                    <element signature="e#30733#30734#0" expanded="false" />
-                    <element signature="e#30792#30793#0" expanded="false" />
-                    <element signature="e#30851#30852#0" expanded="false" />
-                    <element signature="e#30907#30908#0" expanded="false" />
-                    <element signature="e#30961#30962#0" expanded="false" />
-                    <element signature="e#31029#31030#0" expanded="false" />
-                    <element signature="e#31088#31089#0" expanded="false" />
-                    <element signature="e#31136#31137#0" expanded="false" />
-                    <element signature="e#31206#31207#0" expanded="false" />
-                    <element signature="e#31254#31255#0" expanded="false" />
-                    <element signature="e#31313#31314#0" expanded="false" />
-                    <element signature="e#31390#31391#0" expanded="false" />
-                    <element signature="e#31452#31453#0" expanded="false" />
-                    <element signature="e#31509#31510#0" expanded="false" />
-                    <element signature="e#31559#31560#0" expanded="false" />
-                    <element signature="e#31608#31609#0" expanded="false" />
-                    <element signature="e#31659#31660#0" expanded="false" />
-                    <element signature="e#31709#31710#0" expanded="false" />
-                    <element signature="e#31755#31756#0" expanded="false" />
-                    <element signature="e#31800#31801#0" expanded="false" />
-                    <element signature="e#31846#31847#0" expanded="false" />
-                    <element signature="e#31891#31892#0" expanded="false" />
-                    <element signature="e#31948#31949#0" expanded="false" />
-                    <element signature="e#32002#32003#0" expanded="false" />
-                    <element signature="e#32059#32060#0" expanded="false" />
-                    <element signature="e#32113#32114#0" expanded="false" />
-                    <element signature="e#32187#32188#0" expanded="false" />
-                    <element signature="e#32247#32248#0" expanded="false" />
-                    <element signature="e#32297#32298#0" expanded="false" />
-                    <element signature="e#32363#32364#0" expanded="false" />
-                    <element signature="e#32430#32431#0" expanded="false" />
-                    <element signature="e#32482#32483#0" expanded="false" />
-                    <element signature="e#32701#32702#0" expanded="false" />
-                    <element signature="e#32763#32764#0" expanded="false" />
-                    <element signature="e#33174#33175#0" expanded="false" />
-                    <element signature="e#33229#33230#0" expanded="false" />
-                    <element signature="e#33321#33322#0" expanded="false" />
-                    <element signature="e#33368#33369#0" expanded="false" />
-                    <element signature="e#34813#34814#0" expanded="false" />
-                    <element signature="e#34860#34861#0" expanded="false" />
-                    <element signature="e#35174#35175#0" expanded="false" />
-                    <element signature="e#35203#35204#0" expanded="false" />
-                    <element signature="e#35420#35421#0" expanded="false" />
-                    <element signature="e#35467#35468#0" expanded="false" />
-                    <element signature="e#35690#35691#0" expanded="false" />
-                    <element signature="e#35717#35718#0" expanded="false" />
-                    <element signature="e#38201#38202#0" expanded="false" />
-                    <element signature="e#38238#38239#0" expanded="false" />
-                    <element signature="e#39573#39574#0" expanded="false" />
-                    <element signature="e#39600#39601#0" expanded="false" />
-                    <element signature="e#40173#40174#0" expanded="false" />
-                    <element signature="e#40212#40213#0" expanded="false" />
-                    <element signature="e#41173#41174#0" expanded="false" />
-                    <element signature="e#41219#41220#0" expanded="false" />
-                    <element signature="e#42274#42275#0" expanded="false" />
-                    <element signature="e#42314#42315#0" expanded="false" />
-                    <element signature="e#42743#42744#0" expanded="false" />
-                    <element signature="e#42790#42791#0" expanded="false" />
-                    <element signature="e#42835#42836#0" expanded="false" />
-                    <element signature="e#42865#42866#0" expanded="false" />
-                    <element signature="e#43181#43182#0" expanded="false" />
-                    <element signature="e#43264#43265#0" expanded="false" />
-                    <element signature="e#47536#47537#0" expanded="false" />
-                    <element signature="e#47571#47572#0" expanded="false" />
-                    <element signature="e#49065#49066#0" expanded="false" />
-                    <element signature="e#49103#49104#0" expanded="false" />
-                    <element signature="e#49258#49259#0" expanded="false" />
-                    <element signature="e#49288#49289#0" expanded="false" />
-                    <element signature="e#50094#50095#0" expanded="false" />
-                    <element signature="e#50119#50120#0" expanded="false" />
-                    <element signature="e#53054#53055#0" expanded="false" />
-                    <element signature="e#53082#53083#0" expanded="false" />
-                    <element signature="e#55232#55233#0" expanded="false" />
-                    <element signature="e#55255#55256#0" expanded="false" />
-                    <element signature="e#57027#57028#0" expanded="false" />
-                    <element signature="e#57064#57065#0" expanded="false" />
-                    <element signature="e#57110#57111#0" expanded="false" />
-                    <element signature="e#57178#57179#0" expanded="false" />
-                    <element signature="e#61184#61185#0" expanded="false" />
-                    <element signature="e#61227#61228#0" expanded="false" />
-                    <element signature="e#63292#63293#0" expanded="false" />
-                    <element signature="e#63335#63336#0" expanded="false" />
-                    <element signature="e#63604#63605#0" expanded="false" />
-                    <element signature="e#63649#63650#0" expanded="false" />
-                    <element signature="e#65989#65990#0" expanded="false" />
-                    <element signature="e#66026#66027#0" expanded="false" />
-                    <element signature="e#69348#69349#0" expanded="false" />
-                    <element signature="e#69381#69382#0" expanded="false" />
-                    <element signature="e#71158#71159#0" expanded="false" />
-                    <element signature="e#71204#71205#0" expanded="false" />
-                    <element signature="e#71249#71250#0" expanded="false" />
-                    <element signature="e#71287#71288#0" expanded="false" />
-                    <element signature="e#72045#72046#0" expanded="false" />
-                    <element signature="e#72071#72072#0" expanded="false" />
-                    <element signature="e#73038#73039#0" expanded="false" />
-                    <element signature="e#73075#73076#0" expanded="false" />
-                    <element signature="e#73601#73602#0" expanded="false" />
-                    <element signature="e#73630#73631#0" expanded="false" />
-                    <element signature="e#73778#73779#0" expanded="false" />
-                    <element signature="e#73829#73830#0" expanded="false" />
-                    <element signature="e#74351#74352#0" expanded="false" />
-                    <element signature="e#74388#74389#0" expanded="false" />
-                    <element signature="e#75252#75253#0" expanded="false" />
-                    <element signature="e#75277#75278#0" expanded="false" />
-                    <element signature="e#75442#75443#0" expanded="false" />
-                    <element signature="e#75484#75485#0" expanded="false" />
-                    <element signature="e#75865#75866#0" expanded="false" />
-                    <element signature="e#75896#75897#0" expanded="false" />
-                    <element signature="e#76048#76049#0" expanded="false" />
-                    <element signature="e#76105#76106#0" expanded="false" />
-                    <element signature="e#77012#77013#0" expanded="false" />
-                    <element signature="e#77056#77057#0" expanded="false" />
-                    <element signature="e#82938#82939#0" expanded="false" />
-                    <element signature="e#82992#82993#0" expanded="false" />
-                    <element signature="e#83382#83383#0" expanded="false" />
-                    <element signature="e#83406#83407#0" expanded="false" />
-                    <element signature="e#83796#83797#0" expanded="false" />
-                    <element signature="e#83820#83821#0" expanded="false" />
-                    <element signature="e#84190#84191#0" expanded="false" />
-                    <element signature="e#84218#84219#0" expanded="false" />
-                    <element signature="e#84593#84594#0" expanded="false" />
-                    <element signature="e#84622#84623#0" expanded="false" />
-                    <element signature="e#88309#88310#0" expanded="false" />
-                    <element signature="e#88368#88369#0" expanded="false" />
-                    <element signature="e#89626#89627#0" expanded="false" />
-                    <element signature="e#89660#89661#0" expanded="false" />
-                    <element signature="e#89901#89902#0" expanded="false" />
-                    <element signature="e#89939#89940#0" expanded="false" />
-                    <element signature="e#91798#91799#0" expanded="false" />
-                    <element signature="e#91831#91832#0" expanded="false" />
-                    <element signature="e#92067#92068#0" expanded="false" />
-                    <element signature="e#92103#92104#0" expanded="false" />
-                    <element signature="e#93996#93997#0" expanded="false" />
-                    <element signature="e#94029#94030#0" expanded="false" />
-                    <element signature="e#94829#94830#0" expanded="false" />
-                    <element signature="e#94868#94869#0" expanded="false" />
-                    <element signature="e#95247#95248#0" expanded="false" />
-                    <element signature="e#95286#95287#0" expanded="false" />
-                    <element signature="e#97756#97757#0" expanded="false" />
-                    <element signature="e#97807#97808#0" expanded="false" />
-                    <element signature="e#98063#98064#0" expanded="false" />
-                    <element signature="e#98087#98088#0" expanded="false" />
-                    <element signature="e#102003#102004#0" expanded="false" />
-                    <element signature="e#102044#102045#0" expanded="false" />
-                    <element signature="e#108442#108443#0" expanded="false" />
-                    <element signature="e#108489#108490#0" expanded="false" />
-                    <element signature="e#109269#109270#0" expanded="false" />
-                    <element signature="e#109308#109309#0" expanded="false" />
-                    <element signature="e#112003#112004#0" expanded="false" />
-                    <element signature="e#112027#112028#0" expanded="false" />
-                    <element signature="e#113128#113129#0" expanded="false" />
-                    <element signature="e#113152#113153#0" expanded="false" />
-                    <element signature="e#114014#114015#0" expanded="false" />
-                    <element signature="e#114061#114062#0" expanded="false" />
-                    <element signature="e#114727#114728#0" expanded="false" />
-                    <element signature="e#114775#114776#0" expanded="false" />
-                    <element signature="e#118877#118878#0" expanded="false" />
-                    <element signature="e#118901#118902#0" expanded="false" />
-                    <element signature="e#120005#120006#0" expanded="false" />
-                    <element signature="e#120029#120030#0" expanded="false" />
-                    <element signature="e#127614#127615#0" expanded="false" />
-                    <element signature="e#127674#127675#0" expanded="false" />
-                    <element signature="e#130347#130348#0" expanded="false" />
-                    <element signature="e#130405#130406#0" expanded="false" />
-                    <element signature="e#138564#138565#0" expanded="false" />
-                    <element signature="e#138601#138602#0" expanded="false" />
-                    <element signature="e#148312#148313#0" expanded="false" />
-                    <element signature="e#148352#148353#0" expanded="false" />
-                    <element signature="e#150476#150477#0" expanded="false" />
-                    <element signature="e#150524#150525#0" expanded="false" />
-                    <element signature="e#150672#150673#0" expanded="false" />
-                    <element signature="e#150724#150725#0" expanded="false" />
-                    <element signature="e#150928#150929#0" expanded="false" />
-                    <element signature="e#151005#151006#0" expanded="false" />
-                    <element signature="e#154922#154923#0" expanded="false" />
-                    <element signature="e#154957#154958#0" expanded="false" />
-                    <element signature="e#157914#157915#0" expanded="false" />
-                    <element signature="e#157954#157955#0" expanded="false" />
-                    <element signature="e#160105#160106#0" expanded="false" />
-                    <element signature="e#160153#160154#0" expanded="false" />
-                    <element signature="e#160661#160662#0" expanded="false" />
-                    <element signature="e#160714#160715#0" expanded="false" />
-                    <element signature="e#161644#161645#0" expanded="false" />
-                    <element signature="e#161697#161698#0" expanded="false" />
-                    <element signature="e#162460#162461#0" expanded="false" />
-                    <element signature="e#162500#162501#0" expanded="false" />
-                    <element signature="e#162554#162555#0" expanded="false" />
-                    <element signature="e#162589#162590#0" expanded="false" />
-                    <element signature="e#162633#162634#0" expanded="false" />
-                    <element signature="e#162677#162678#0" expanded="false" />
-                    <element signature="e#162717#162718#0" expanded="false" />
-                    <element signature="e#162753#162754#0" expanded="false" />
-                    <element signature="e#162797#162798#0" expanded="false" />
-                    <element signature="e#162833#162834#0" expanded="false" />
-                    <element signature="e#163675#163676#0" expanded="false" />
-                    <element signature="e#163725#163726#0" expanded="false" />
-                    <element signature="e#163943#163944#0" expanded="false" />
-                    <element signature="e#163979#163980#0" expanded="false" />
-                    <element signature="e#164421#164422#0" expanded="false" />
-                    <element signature="e#164456#164457#0" expanded="false" />
-                    <element signature="e#164612#164613#0" expanded="false" />
-                    <element signature="e#164686#164687#0" expanded="false" />
-                    <element signature="e#165116#165117#0" expanded="false" />
-                    <element signature="e#165157#165158#0" expanded="false" />
-                    <element signature="e#166243#166244#0" expanded="false" />
-                    <element signature="e#166278#166279#0" expanded="false" />
-                    <element signature="e#166442#166443#0" expanded="false" />
-                    <element signature="e#166493#166494#0" expanded="false" />
-                    <element signature="e#166747#166748#0" expanded="false" />
-                    <element signature="e#166794#166795#0" expanded="false" />
-                    <element signature="e#166968#166969#0" expanded="false" />
-                    <element signature="e#166996#166997#0" expanded="false" />
-                    <element signature="e#167304#167305#0" expanded="false" />
-                    <element signature="e#167340#167341#0" expanded="false" />
-                    <element signature="e#181686#181687#0" expanded="false" />
-                    <element signature="e#181731#181732#0" expanded="false" />
-                    <element signature="e#188454#188455#0" expanded="false" />
-                    <element signature="e#188514#188515#0" expanded="false" />
-                    <element signature="e#191025#191026#0" expanded="false" />
-                    <element signature="e#191081#191082#0" expanded="false" />
-                    <element signature="e#194580#194581#0" expanded="false" />
-                    <element signature="e#194640#194641#0" expanded="false" />
-                    <element signature="e#198856#198857#0" expanded="false" />
-                    <element signature="e#198880#198881#0" expanded="false" />
-                    <element signature="e#203947#203948#0" expanded="false" />
-                    <element signature="e#204001#204002#0" expanded="false" />
-                    <element signature="e#206482#206483#0" expanded="false" />
-                    <element signature="e#206538#206539#0" expanded="false" />
-                    <element signature="e#212050#212051#0" expanded="false" />
-                    <element signature="e#212111#212112#0" expanded="false" />
-                    <element signature="e#218458#218459#0" expanded="false" />
-                    <element signature="e#218485#218486#0" expanded="false" />
-                    <element signature="e#222684#222703#0" expanded="false" />
-                    <element signature="e#223683#223684#0" expanded="false" />
-                    <element signature="e#223772#223773#0" expanded="false" />
-                    <element signature="e#225586#225587#0" expanded="false" />
-                    <element signature="e#225627#225628#0" expanded="false" />
-                    <element signature="e#240839#240840#0" expanded="false" />
-                    <element signature="e#240867#240868#0" expanded="false" />
-                    <element signature="e#246552#246553#0" expanded="false" />
-                    <element signature="e#246580#246581#0" expanded="false" />
-                    <element signature="e#246767#246768#0" expanded="false" />
-                    <element signature="e#246795#246796#0" expanded="false" />
-                    <element signature="e#246974#246975#0" expanded="false" />
-                    <element signature="e#247002#247003#0" expanded="false" />
-                    <element signature="e#247189#247190#0" expanded="false" />
-                    <element signature="e#247217#247218#0" expanded="false" />
-                    <element signature="e#247399#247400#0" expanded="false" />
-                    <element signature="e#247427#247428#0" expanded="false" />
-                    <element signature="e#247608#247609#0" expanded="false" />
-                    <element signature="e#247636#247637#0" expanded="false" />
-                    <element signature="e#247806#247807#0" expanded="false" />
-                    <element signature="e#247834#247835#0" expanded="false" />
-                    <element signature="e#248002#248003#0" expanded="false" />
-                    <element signature="e#248030#248031#0" expanded="false" />
-                    <element signature="e#248260#248261#0" expanded="false" />
-                    <element signature="e#248288#248289#0" expanded="false" />
-                    <element signature="e#256331#256332#0" expanded="false" />
-                    <element signature="e#256359#256360#0" expanded="false" />
-                    <element signature="e#256539#256540#0" expanded="false" />
-                    <element signature="e#256567#256568#0" expanded="false" />
-                    <element signature="e#257418#257419#0" expanded="false" />
-                    <element signature="e#257461#257462#0" expanded="false" />
-                    <element signature="e#258426#258427#0" expanded="false" />
-                    <element signature="e#258508#258509#0" expanded="false" />
-                    <element signature="e#269717#269718#0" expanded="false" />
-                    <element signature="e#269765#269766#0" expanded="false" />
-                    <element signature="e#271448#271449#0" expanded="false" />
-                    <element signature="e#271495#271496#0" expanded="false" />
-                    <element signature="e#271553#271554#0" expanded="false" />
-                    <element signature="e#271614#271615#0" expanded="false" />
-                    <element signature="e#274925#274926#0" expanded="false" />
-                    <element signature="e#274983#274984#0" expanded="false" />
-                    <element signature="e#277514#277515#0" expanded="false" />
-                    <element signature="e#277569#277570#0" expanded="false" />
-                    <element signature="e#277635#277636#0" expanded="false" />
-                    <element signature="e#277697#277698#0" expanded="false" />
-                    <element signature="e#280950#280951#0" expanded="false" />
-                    <element signature="e#281009#281010#0" expanded="false" />
-                    <element signature="e#291507#291508#0" expanded="false" />
-                    <element signature="e#291557#291558#0" expanded="false" />
-                    <element signature="e#291771#291772#0" expanded="false" />
-                    <element signature="e#291798#291799#0" expanded="false" />
-                    <element signature="e#291939#291940#0" expanded="false" />
-                    <element signature="e#291975#291976#0" expanded="false" />
-                    <element signature="e#294689#294690#0" expanded="false" />
-                    <element signature="e#294733#294734#0" expanded="false" />
-                    <element signature="e#298870#298871#0" expanded="false" />
-                    <element signature="e#298903#298904#0" expanded="false" />
-                    <element signature="e#299165#299166#0" expanded="false" />
-                    <element signature="e#299216#299217#0" expanded="false" />
-                    <element signature="e#299263#299264#0" expanded="false" />
-                    <element signature="e#299313#299314#0" expanded="false" />
-                    <element signature="e#301954#301955#0" expanded="false" />
-                    <element signature="e#302025#302026#0" expanded="false" />
-                    <element signature="e#302242#302243#0" expanded="false" />
-                    <element signature="e#302277#302278#0" expanded="false" />
-                    <element signature="e#302546#302547#0" expanded="false" />
-                    <element signature="e#302574#302575#0" expanded="false" />
-                    <element signature="e#303366#303367#0" expanded="false" />
-                    <element signature="e#303394#303395#0" expanded="false" />
-                    <element signature="e#332438#332439#0" expanded="false" />
-                    <element signature="e#332481#332482#0" expanded="false" />
-                    <element signature="e#335264#335265#0" expanded="false" />
-                    <element signature="e#335323#335324#0" expanded="false" />
-                    <element signature="e#336370#336371#0" expanded="false" />
-                    <element signature="e#336410#336411#0" expanded="false" />
-                    <element signature="e#342195#342196#0" expanded="false" />
-                    <element signature="e#342240#342241#0" expanded="false" />
-                    <element signature="e#343179#343180#0" expanded="false" />
-                    <element signature="e#343231#343232#0" expanded="false" />
-                    <element signature="e#343523#343524#0" expanded="false" />
-                    <element signature="e#343582#343583#0" expanded="false" />
-                    <element signature="e#343902#343903#0" expanded="false" />
-                    <element signature="e#343971#343972#0" expanded="false" />
-                    <element signature="e#345100#345101#0" expanded="false" />
-                    <element signature="e#345174#345175#0" expanded="false" />
-                    <element signature="e#345561#345562#0" expanded="false" />
-                    <element signature="e#345627#345628#0" expanded="false" />
-                    <element signature="e#345906#345907#0" expanded="false" />
-                    <element signature="e#345975#345976#0" expanded="false" />
-                    <element signature="e#346138#346139#0" expanded="false" />
-                    <element signature="e#346195#346196#0" expanded="false" />
-                    <element signature="e#346480#346481#0" expanded="false" />
-                    <element signature="e#346515#346516#0" expanded="false" />
-                    <element signature="e#346809#346810#0" expanded="false" />
-                    <element signature="e#346870#346871#0" expanded="false" />
-                    <element signature="e#347163#347164#0" expanded="false" />
-                    <element signature="e#347218#347219#0" expanded="false" />
-                    <element signature="e#347460#347461#0" expanded="false" />
-                    <element signature="e#347521#347522#0" expanded="false" />
-                    <element signature="e#347721#347722#0" expanded="false" />
-                    <element signature="e#347776#347777#0" expanded="false" />
-                    <element signature="e#348021#348022#0" expanded="false" />
-                    <element signature="e#348078#348079#0" expanded="false" />
-                    <element signature="e#348468#348469#0" expanded="false" />
-                    <element signature="e#348524#348525#0" expanded="false" />
-                    <element signature="e#348761#348762#0" expanded="false" />
-                    <element signature="e#348816#348817#0" expanded="false" />
-                    <element signature="e#349005#349006#0" expanded="false" />
-                    <element signature="e#349054#349055#0" expanded="false" />
-                    <element signature="e#349733#349734#0" expanded="false" />
-                    <element signature="e#349790#349791#0" expanded="false" />
-                    <element signature="e#351304#351305#0" expanded="false" />
-                    <element signature="e#351361#351362#0" expanded="false" />
-                    <element signature="e#352836#352837#0" expanded="false" />
-                    <element signature="e#352893#352894#0" expanded="false" />
-                    <element signature="e#353362#353363#0" expanded="false" />
-                    <element signature="e#353419#353420#0" expanded="false" />
-                    <element signature="e#354444#354445#0" expanded="false" />
-                    <element signature="e#354503#354504#0" expanded="false" />
-                    <element signature="e#354689#354690#0" expanded="false" />
-                    <element signature="e#354742#354743#0" expanded="false" />
-                    <element signature="e#355135#355136#0" expanded="false" />
-                    <element signature="e#355192#355193#0" expanded="false" />
-                    <element signature="e#355548#355549#0" expanded="false" />
-                    <element signature="e#355599#355600#0" expanded="false" />
-                    <element signature="e#356158#356159#0" expanded="false" />
-                    <element signature="e#356213#356214#0" expanded="false" />
-                    <element signature="e#356430#356431#0" expanded="false" />
-                    <element signature="e#356479#356480#0" expanded="false" />
-                    <element signature="e#357066#357067#0" expanded="false" />
-                    <element signature="e#357135#357136#0" expanded="false" />
-                    <element signature="e#357349#357350#0" expanded="false" />
-                    <element signature="e#357415#357416#0" expanded="false" />
-                    <element signature="e#357520#357521#0" expanded="false" />
-                    <element signature="e#357573#357574#0" expanded="false" />
-                    <element signature="e#357805#357806#0" expanded="false" />
-                    <element signature="e#357863#357864#0" expanded="false" />
-                    <element signature="e#358115#358116#0" expanded="false" />
-                    <element signature="e#358176#358177#0" expanded="false" />
-                    <element signature="e#377393#377394#0" expanded="false" />
-                    <element signature="e#377443#377444#0" expanded="false" />
-                  </folding>
+                <state vertical-scroll-proportion="0.0" vertical-offset="1474" max-vertical-offset="8448">
+                  <caret line="42" column="21" selection-start-line="42" selection-start-column="20" selection-end-line="42" selection-end-column="21" />
+                  <folding />
                 </state>
               </provider>
             </entry>
@@ -516,11 +106,11 @@
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="TreeVncCommandChannelListener.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java">
+          <file leaf-file-name="TreeManagement.java" pinned="false" current-in-tab="false">
+            <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeManagement.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="1575" max-vertical-offset="3960">
-                  <caret line="127" column="33" selection-start-line="127" selection-start-column="33" selection-end-line="127" selection-end-column="33" />
+                <state vertical-scroll-proportion="0.0" vertical-offset="398" max-vertical-offset="6550">
+                  <caret line="102" column="29" selection-start-line="102" selection-start-column="29" selection-end-line="102" selection-end-column="29" />
                   <folding />
                 </state>
               </provider>
@@ -536,19 +126,6 @@
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="HandshakeState.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/HandshakeState.java">
-              <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="1140">
-                  <caret line="56" column="0" selection-start-line="56" selection-start-column="0" selection-end-line="56" selection-end-column="0" />
-                  <folding>
-                    <element signature="e#0#4038#0" expanded="false" />
-                    <element signature="imports" expanded="false" />
-                  </folding>
-                </state>
-              </provider>
-            </entry>
-          </file>
         </leaf>
       </split-first>
       <split-second>
@@ -556,12 +133,13 @@
           <file leaf-file-name="Viewer.java" pinned="false" current-in-tab="false">
             <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="-12.3" vertical-offset="5288" max-vertical-offset="9600">
-                  <caret line="299" column="0" selection-start-line="299" selection-start-column="0" selection-end-line="299" selection-end-column="0" />
+                <state vertical-scroll-proportion="-12.175" vertical-offset="8813" max-vertical-offset="12000">
+                  <caret line="388" column="56" selection-start-line="388" selection-start-column="56" selection-end-line="388" selection-end-column="56" />
                   <folding>
                     <element signature="e#0#16299#0" expanded="true" />
                     <element signature="imports" expanded="true" />
                     <element signature="e#1732#1759#0" expanded="true" />
+                    <element signature="e#9689#9690#0" expanded="true" />
                     <element signature="e#9717#9718#0" expanded="true" />
                     <element signature="e#10452#10612#0" expanded="true" />
                     <element signature="e#10611#10612#0" expanded="true" />
@@ -582,43 +160,43 @@
           <file leaf-file-name="ConnectionPresenter.java" pinned="false" current-in-tab="false">
             <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="-21.975" vertical-offset="7785" max-vertical-offset="8976">
-                  <caret line="399" column="28" selection-start-line="399" selection-start-column="28" selection-end-line="399" selection-end-column="28" />
+                <state vertical-scroll-proportion="-25.175" vertical-offset="7489" max-vertical-offset="8976">
+                  <caret line="392" column="24" selection-start-line="392" selection-start-column="24" selection-end-line="392" selection-end-column="24" />
                   <folding>
-                    <element signature="e#3436#3437#0" expanded="true" />
-                    <element signature="e#3473#3474#0" expanded="true" />
-                    <element signature="e#3532#3533#0" expanded="true" />
-                    <element signature="e#3584#3585#0" expanded="true" />
-                    <element signature="e#3637#3638#0" expanded="true" />
-                    <element signature="e#3676#3677#0" expanded="true" />
-                    <element signature="e#3750#3751#0" expanded="true" />
-                    <element signature="e#3806#3807#0" expanded="true" />
-                    <element signature="e#5105#5106#0" expanded="true" />
-                    <element signature="e#5178#5179#0" expanded="true" />
-                    <element signature="e#7334#7335#0" expanded="true" />
-                    <element signature="e#7420#7421#0" expanded="true" />
-                    <element signature="e#11983#11984#0" expanded="true" />
-                    <element signature="e#12052#12053#0" expanded="true" />
-                    <element signature="e#12086#12087#0" expanded="true" />
-                    <element signature="e#12117#12118#0" expanded="true" />
-                    <element signature="e#12686#12687#0" expanded="true" />
-                    <element signature="e#12753#12754#0" expanded="true" />
-                    <element signature="e#12794#12795#0" expanded="true" />
-                    <element signature="e#12827#12828#0" expanded="true" />
-                    <element signature="e#12875#12876#0" expanded="true" />
-                    <element signature="e#12909#12910#0" expanded="true" />
-                    <element signature="e#12950#12951#0" expanded="true" />
-                    <element signature="e#12989#12990#0" expanded="true" />
-                    <element signature="e#13042#13043#0" expanded="true" />
-                    <element signature="e#13081#13082#0" expanded="true" />
-                    <element signature="e#13122#13123#0" expanded="true" />
-                    <element signature="e#13161#13162#0" expanded="true" />
-                    <element signature="e#13207#13208#0" expanded="true" />
-                    <element signature="e#13239#13240#0" expanded="true" />
-                    <element signature="e#13283#13284#0" expanded="true" />
-                    <element signature="e#13313#13314#0" expanded="true" />
-                    <element signature="e#13522#13523#0" expanded="true" />
-                    <element signature="e#13576#13577#0" expanded="true" />
+                    <element signature="e#3441#3442#0" expanded="true" />
+                    <element signature="e#3478#3479#0" expanded="true" />
+                    <element signature="e#3537#3538#0" expanded="true" />
+                    <element signature="e#3589#3590#0" expanded="true" />
+                    <element signature="e#3642#3643#0" expanded="true" />
+                    <element signature="e#3681#3682#0" expanded="true" />
+                    <element signature="e#3755#3756#0" expanded="true" />
+                    <element signature="e#3811#3812#0" expanded="true" />
+                    <element signature="e#5110#5111#0" expanded="true" />
+                    <element signature="e#5183#5184#0" expanded="true" />
+                    <element signature="e#7339#7340#0" expanded="true" />
+                    <element signature="e#7425#7426#0" expanded="true" />
+                    <element signature="e#11988#11989#0" expanded="true" />
+                    <element signature="e#12057#12058#0" expanded="true" />
+                    <element signature="e#12091#12092#0" expanded="true" />
+                    <element signature="e#12122#12123#0" expanded="true" />
+                    <element signature="e#12691#12692#0" expanded="true" />
+                    <element signature="e#12758#12759#0" expanded="true" />
+                    <element signature="e#12799#12800#0" expanded="true" />
+                    <element signature="e#12832#12833#0" expanded="true" />
+                    <element signature="e#12880#12881#0" expanded="true" />
+                    <element signature="e#12914#12915#0" expanded="true" />
+                    <element signature="e#12955#12956#0" expanded="true" />
+                    <element signature="e#12994#12995#0" expanded="true" />
+                    <element signature="e#13047#13048#0" expanded="true" />
+                    <element signature="e#13086#13087#0" expanded="true" />
+                    <element signature="e#13127#13128#0" expanded="true" />
+                    <element signature="e#13166#13167#0" expanded="true" />
+                    <element signature="e#13212#13213#0" expanded="true" />
+                    <element signature="e#13244#13245#0" expanded="true" />
+                    <element signature="e#13288#13289#0" expanded="true" />
+                    <element signature="e#13318#13319#0" expanded="true" />
+                    <element signature="e#13527#13528#0" expanded="true" />
+                    <element signature="e#13581#13582#0" expanded="true" />
                   </folding>
                 </state>
               </provider>
@@ -637,18 +215,18 @@
           <file leaf-file-name="TreeVncCommand.java" pinned="false" current-in-tab="false">
             <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="1212" max-vertical-offset="4023">
-                  <caret line="68" column="30" selection-start-line="68" selection-start-column="30" selection-end-line="68" selection-end-column="30" />
+                <state vertical-scroll-proportion="0.0" vertical-offset="2495" max-vertical-offset="4023">
+                  <caret line="143" column="24" selection-start-line="143" selection-start-column="24" selection-end-line="143" selection-end-column="24" />
                   <folding />
                 </state>
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="SwingConnectionWorkerFactory.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingConnectionWorkerFactory.java">
+          <file leaf-file-name="TreeViewer.java" pinned="false" current-in-tab="false">
+            <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="990">
-                  <caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="22" selection-end-column="2" />
+                <state vertical-scroll-proportion="0.0" vertical-offset="968" max-vertical-offset="4532">
+                  <caret line="79" column="18" selection-start-line="79" selection-start-column="18" selection-end-line="79" selection-end-column="18" />
                   <folding />
                 </state>
               </provider>
@@ -664,21 +242,21 @@
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="SwingViewerWindow.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java">
+          <file leaf-file-name="SwingRfbConnectionWorker.java" pinned="false" current-in-tab="false">
+            <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="16433" max-vertical-offset="19895">
-                  <caret line="862" column="124" selection-start-line="862" selection-start-column="124" selection-end-line="862" selection-end-column="124" />
+                <state vertical-scroll-proportion="0.0" vertical-offset="2159" max-vertical-offset="5865">
+                  <caret line="171" column="52" selection-start-line="171" selection-start-column="52" selection-end-line="171" selection-end-column="52" />
                   <folding />
                 </state>
               </provider>
             </entry>
           </file>
-          <file leaf-file-name="Protocol.java" pinned="false" current-in-tab="false">
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/Protocol.java">
+          <file leaf-file-name="SwingViewerWindow.java" pinned="false" current-in-tab="false">
+            <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="6762">
-                  <caret line="90" column="71" selection-start-line="90" selection-start-column="71" selection-end-line="90" selection-end-column="71" />
+                <state vertical-scroll-proportion="-29.7" vertical-offset="18454" max-vertical-offset="19941">
+                  <caret line="1015" column="22" selection-start-line="1015" selection-start-column="22" selection-end-line="1015" selection-end-column="22" />
                   <folding />
                 </state>
               </provider>
@@ -687,86 +265,87 @@
           <file leaf-file-name="TreeRFBProto.java" pinned="false" current-in-tab="true">
             <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java">
               <provider selected="true" editor-type-id="text-editor">
-                <state vertical-scroll-proportion="0.6708648" vertical-offset="24709" max-vertical-offset="25900">
-                  <caret line="940" column="13" selection-start-line="940" selection-start-column="13" selection-end-line="940" selection-end-column="13" />
+                <state vertical-scroll-proportion="2.2332268" vertical-offset="3825" max-vertical-offset="21960">
+                  <caret line="334" column="0" selection-start-line="334" selection-start-column="0" selection-end-line="334" selection-end-column="0" />
                   <folding>
-                    <element signature="e#4355#7595#0" expanded="true" />
-                    <element signature="e#7594#7595#0" expanded="true" />
-                    <element signature="e#7762#14315#0" expanded="true" />
-                    <element signature="e#11482#11808#0" expanded="true" />
-                    <element signature="e#11807#11808#0" expanded="true" />
-                    <element signature="e#12053#12379#0" expanded="true" />
-                    <element signature="e#12378#12379#0" expanded="true" />
-                    <element signature="e#12610#12936#0" expanded="true" />
-                    <element signature="e#12935#12936#0" expanded="true" />
-                    <element signature="e#13158#13484#0" expanded="true" />
-                    <element signature="e#13483#13484#0" expanded="true" />
-                    <element signature="e#14314#14315#0" expanded="true" />
-                    <element signature="e#16633#16634#0" expanded="true" />
-                    <element signature="e#16674#16675#0" expanded="true" />
-                    <element signature="e#16727#16728#0" expanded="true" />
-                    <element signature="e#16765#16766#0" expanded="true" />
-                    <element signature="e#16806#16807#0" expanded="true" />
-                    <element signature="e#16839#16840#0" expanded="true" />
-                    <element signature="e#16904#16905#0" expanded="true" />
-                    <element signature="e#16945#16946#0" expanded="true" />
-                    <element signature="e#18175#18176#0" expanded="true" />
-                    <element signature="e#18201#18202#0" expanded="true" />
-                    <element signature="e#18243#18244#0" expanded="true" />
-                    <element signature="e#18272#18273#0" expanded="true" />
-                    <element signature="e#18437#18438#0" expanded="true" />
-                    <element signature="e#18480#18481#0" expanded="true" />
-                    <element signature="e#18523#18524#0" expanded="true" />
-                    <element signature="e#18563#18564#0" expanded="true" />
-                    <element signature="e#19156#19157#0" expanded="true" />
-                    <element signature="e#19189#19190#0" expanded="true" />
-                    <element signature="e#19231#19232#0" expanded="true" />
-                    <element signature="e#19268#19269#0" expanded="true" />
-                    <element signature="e#19307#19308#0" expanded="true" />
-                    <element signature="e#19340#19341#0" expanded="true" />
-                    <element signature="e#19388#19389#0" expanded="true" />
-                    <element signature="e#19421#19422#0" expanded="true" />
-                    <element signature="e#22357#22358#0" expanded="true" />
-                    <element signature="e#22395#22396#0" expanded="true" />
-                    <element signature="e#23239#23240#0" expanded="true" />
-                    <element signature="e#23271#23272#0" expanded="true" />
-                    <element signature="e#26978#26990#0" expanded="true" />
-                    <element signature="e#30476#30477#0" expanded="true" />
-                    <element signature="e#30504#30505#0" expanded="true" />
-                    <element signature="e#30532#30533#0" expanded="true" />
-                    <element signature="e#30557#30558#0" expanded="true" />
-                    <element signature="e#30697#30698#0" expanded="true" />
-                    <element signature="e#30733#30734#0" expanded="true" />
-                    <element signature="e#30766#30767#0" expanded="true" />
-                    <element signature="e#30795#30796#0" expanded="true" />
-                    <element signature="e#30866#30867#0" expanded="true" />
-                    <element signature="e#30916#30917#0" expanded="true" />
-                    <element signature="e#32739#32740#0" expanded="true" />
-                    <element signature="e#32774#32775#0" expanded="true" />
-                    <element signature="e#32857#32858#0" expanded="true" />
-                    <element signature="e#32900#32901#0" expanded="true" />
-                    <element signature="e#32957#32958#0" expanded="true" />
-                    <element signature="e#32982#32983#0" expanded="true" />
-                    <element signature="e#33016#33017#0" expanded="true" />
-                    <element signature="e#33048#33049#0" expanded="true" />
-                    <element signature="e#33091#33092#0" expanded="true" />
-                    <element signature="e#33120#33121#0" expanded="true" />
-                    <element signature="e#33169#33170#0" expanded="true" />
-                    <element signature="e#33213#33214#0" expanded="true" />
-                    <element signature="e#33266#33267#0" expanded="true" />
-                    <element signature="e#33310#33311#0" expanded="true" />
-                    <element signature="e#33367#33368#0" expanded="true" />
-                    <element signature="e#33416#33417#0" expanded="true" />
-                    <element signature="e#33872#33873#0" expanded="true" />
-                    <element signature="e#33916#33917#0" expanded="true" />
-                    <element signature="e#33987#33988#0" expanded="true" />
-                    <element signature="e#34049#34050#0" expanded="true" />
-                    <element signature="e#34655#34656#0" expanded="true" />
-                    <element signature="e#34689#34690#0" expanded="true" />
-                    <element signature="e#34725#34726#0" expanded="true" />
-                    <element signature="e#34760#34761#0" expanded="true" />
-                    <element signature="e#34794#34795#0" expanded="true" />
-                    <element signature="e#34825#34826#0" expanded="true" />
+                    <element signature="e#4355#6952#0" expanded="true" />
+                    <element signature="e#6951#6952#0" expanded="true" />
+                    <element signature="e#7119#13672#0" expanded="true" />
+                    <element signature="e#10839#11165#0" expanded="true" />
+                    <element signature="e#11164#11165#0" expanded="true" />
+                    <element signature="e#11410#11736#0" expanded="true" />
+                    <element signature="e#11735#11736#0" expanded="true" />
+                    <element signature="e#11967#12293#0" expanded="true" />
+                    <element signature="e#12292#12293#0" expanded="true" />
+                    <element signature="e#12515#12841#0" expanded="true" />
+                    <element signature="e#12840#12841#0" expanded="true" />
+                    <element signature="e#13671#13672#0" expanded="true" />
+                    <element signature="e#15990#15991#0" expanded="true" />
+                    <element signature="e#16031#16032#0" expanded="true" />
+                    <element signature="e#16084#16085#0" expanded="true" />
+                    <element signature="e#16122#16123#0" expanded="true" />
+                    <element signature="e#16163#16164#0" expanded="true" />
+                    <element signature="e#16196#16197#0" expanded="true" />
+                    <element signature="e#16261#16262#0" expanded="true" />
+                    <element signature="e#16302#16303#0" expanded="true" />
+                    <element signature="e#17532#17533#0" expanded="true" />
+                    <element signature="e#17558#17559#0" expanded="true" />
+                    <element signature="e#17600#17601#0" expanded="true" />
+                    <element signature="e#17629#17630#0" expanded="true" />
+                    <element signature="e#17794#17795#0" expanded="true" />
+                    <element signature="e#17837#17838#0" expanded="true" />
+                    <element signature="e#17880#17881#0" expanded="true" />
+                    <element signature="e#17920#17921#0" expanded="true" />
+                    <element signature="e#18513#18514#0" expanded="true" />
+                    <element signature="e#18546#18547#0" expanded="true" />
+                    <element signature="e#18588#18589#0" expanded="true" />
+                    <element signature="e#18625#18626#0" expanded="true" />
+                    <element signature="e#18664#18665#0" expanded="true" />
+                    <element signature="e#18697#18698#0" expanded="true" />
+                    <element signature="e#18745#18746#0" expanded="true" />
+                    <element signature="e#18778#18779#0" expanded="true" />
+                    <element signature="e#20149#20161#0" expanded="true" />
+                    <element signature="e#21714#21715#0" expanded="true" />
+                    <element signature="e#21752#21753#0" expanded="true" />
+                    <element signature="e#22596#22597#0" expanded="true" />
+                    <element signature="e#22628#22629#0" expanded="true" />
+                    <element signature="e#26335#26347#0" expanded="true" />
+                    <element signature="e#29833#29834#0" expanded="true" />
+                    <element signature="e#29861#29862#0" expanded="true" />
+                    <element signature="e#29889#29890#0" expanded="true" />
+                    <element signature="e#29914#29915#0" expanded="true" />
+                    <element signature="e#30054#30055#0" expanded="true" />
+                    <element signature="e#30090#30091#0" expanded="true" />
+                    <element signature="e#30123#30124#0" expanded="true" />
+                    <element signature="e#30152#30153#0" expanded="true" />
+                    <element signature="e#30223#30224#0" expanded="true" />
+                    <element signature="e#30273#30274#0" expanded="true" />
+                    <element signature="e#32096#32097#0" expanded="true" />
+                    <element signature="e#32131#32132#0" expanded="true" />
+                    <element signature="e#32214#32215#0" expanded="true" />
+                    <element signature="e#32257#32258#0" expanded="true" />
+                    <element signature="e#32314#32315#0" expanded="true" />
+                    <element signature="e#32339#32340#0" expanded="true" />
+                    <element signature="e#32373#32374#0" expanded="true" />
+                    <element signature="e#32405#32406#0" expanded="true" />
+                    <element signature="e#32448#32449#0" expanded="true" />
+                    <element signature="e#32477#32478#0" expanded="true" />
+                    <element signature="e#32526#32527#0" expanded="true" />
+                    <element signature="e#32570#32571#0" expanded="true" />
+                    <element signature="e#32623#32624#0" expanded="true" />
+                    <element signature="e#32667#32668#0" expanded="true" />
+                    <element signature="e#32724#32725#0" expanded="true" />
+                    <element signature="e#32773#32774#0" expanded="true" />
+                    <element signature="e#33229#33230#0" expanded="true" />
+                    <element signature="e#33273#33274#0" expanded="true" />
+                    <element signature="e#33344#33345#0" expanded="true" />
+                    <element signature="e#33406#33407#0" expanded="true" />
+                    <element signature="e#34012#34013#0" expanded="true" />
+                    <element signature="e#34046#34047#0" expanded="true" />
+                    <element signature="e#34082#34083#0" expanded="true" />
+                    <element signature="e#34117#34118#0" expanded="true" />
+                    <element signature="e#34151#34152#0" expanded="true" />
+                    <element signature="e#34182#34183#0" expanded="true" />
                   </folding>
                 </state>
               </provider>
@@ -1059,23 +638,23 @@
         <option value="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/FramebufferUpdateRectangle.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java" />
-        <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java" />
         <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ViewerInterface.java" />
-        <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java" />
         <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/RfbConnectionWorker.java" />
         <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/CuiViewer.java" />
         <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java" />
-        <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java" />
+        <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java" />
+        <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java" />
         <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java" />
-        <option value="$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java" />
+        <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java" />
+        <option value="$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java" />
       </list>
     </option>
   </component>
   <component name="ProjectFrameBounds">
-    <option name="x" value="1" />
-    <option name="y" value="30" />
+    <option name="x" value="-16" />
+    <option name="y" value="23" />
     <option name="width" value="3836" />
-    <option name="height" value="2058" />
+    <option name="height" value="2136" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="true">
     <OptionsSetting value="true" id="Add" />
@@ -1502,7 +1081,7 @@
       </extension>
       <option name="MAIN_CLASS_NAME" value="com.glavsoft.viewer.TreeViewer" />
       <option name="VM_PARAMETERS" value="" />
-      <option name="PROGRAM_PARAMETERS" value="-d" />
+      <option name="PROGRAM_PARAMETERS" value="--host 127.0.0.1:5950 --direct" />
       <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" value="" />
@@ -1745,8 +1324,8 @@
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="1" y="30" width="3836" height="2058" extended-state="6" />
-    <editor active="true" />
+    <frame x="-16" y="23" width="3836" height="2136" extended-state="6" />
+    <editor active="false" />
     <layout>
       <window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@@ -1756,7 +1335,7 @@
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32940573" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.19518442" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.18226601" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
@@ -1767,9 +1346,9 @@
       <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.13529718" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
-      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.14520334" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.34118852" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15745568" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.15172054" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.34118852" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
@@ -1826,18 +1405,6 @@
     <breakpoint-manager>
       <breakpoints>
         <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java</url>
-          <line>860</line>
-          <properties />
-          <option name="timeStamp" value="6" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>201</line>
-          <properties />
-          <option name="timeStamp" value="13" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java</url>
           <line>483</line>
           <properties />
@@ -1845,7 +1412,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java</url>
-          <line>885</line>
+          <line>887</line>
           <properties />
           <option name="timeStamp" value="31" />
         </line-breakpoint>
@@ -1875,7 +1442,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>558</line>
+          <line>548</line>
           <properties />
           <option name="timeStamp" value="76" />
         </line-breakpoint>
@@ -1886,12 +1453,6 @@
           <option name="timeStamp" value="77" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
-          <line>290</line>
-          <properties />
-          <option name="timeStamp" value="79" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/InitState.java</url>
           <line>82</line>
           <properties />
@@ -1899,7 +1460,7 @@
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>844</line>
+          <line>834</line>
           <properties />
           <option name="timeStamp" value="85" />
         </line-breakpoint>
@@ -1910,12 +1471,6 @@
           <option name="timeStamp" value="89" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>817</line>
-          <properties />
-          <option name="timeStamp" value="90" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java</url>
           <line>60</line>
           <properties />
@@ -1989,28 +1544,76 @@
           <option name="timeStamp" value="117" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
-          <line>319</line>
-          <properties />
-          <option name="timeStamp" value="118" />
-        </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
           <line>227</line>
           <properties />
           <option name="timeStamp" value="119" />
         </line-breakpoint>
-        <line-breakpoint enabled="true" type="java-line">
+        <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java</url>
           <line>163</line>
           <properties />
           <option name="timeStamp" value="120" />
         </line-breakpoint>
+        <line-breakpoint type="java-line">
+          <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java</url>
+          <line>867</line>
+          <properties />
+          <option name="timeStamp" value="123" />
+        </line-breakpoint>
+        <line-breakpoint type="java-line">
+          <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java</url>
+          <line>390</line>
+          <properties />
+          <option name="timeStamp" value="125" />
+        </line-breakpoint>
+        <line-breakpoint type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
+          <line>191</line>
+          <properties />
+          <option name="timeStamp" value="126" />
+        </line-breakpoint>
+        <line-breakpoint type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
+          <line>809</line>
+          <properties />
+          <option name="timeStamp" value="127" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java</url>
+          <line>286</line>
+          <properties />
+          <option name="timeStamp" value="129" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java</url>
+          <line>403</line>
+          <properties />
+          <option name="timeStamp" value="130" />
+        </line-breakpoint>
+        <line-breakpoint type="java-line">
+          <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java</url>
+          <line>188</line>
+          <properties />
+          <option name="timeStamp" value="131" />
+        </line-breakpoint>
+        <line-breakpoint type="java-line">
+          <url>file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java</url>
+          <line>348</line>
+          <properties />
+          <option name="timeStamp" value="133" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java</url>
+          <line>309</line>
+          <properties />
+          <option name="timeStamp" value="134" />
+        </line-breakpoint>
       </breakpoints>
       <breakpoints-dialog>
         <breakpoints-dialog />
       </breakpoints-dialog>
-      <option name="time" value="121" />
+      <option name="time" value="135" />
     </breakpoint-manager>
     <watches-manager />
   </component>
@@ -2019,28 +1622,6 @@
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/src.zip!/java/util/HashMap.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="6220" max-vertical-offset="34710">
-          <caret line="555" column="0" selection-start-line="555" selection-start-column="0" selection-end-line="555" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/src.zip!/java/util/jar/Attributes.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="4.9937186" vertical-offset="0" max-vertical-offset="8805">
-          <caret line="612" column="81" selection-start-line="612" selection-start-column="81" selection-end-line="612" selection-end-column="81" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="jar://$PROJECT_DIR$/src/libs/jsch-0.1.50.jar!/META-INF/MANIFEST.MF">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1323">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/META-INF/MANIFEST.MF">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1323">
@@ -2238,8 +1819,8 @@
         <state vertical-scroll-proportion="0.44896933" vertical-offset="0" max-vertical-offset="2641">
           <caret line="51" column="14" selection-start-line="51" selection-start-column="14" selection-end-line="51" selection-end-column="14" />
           <folding>
-            <element signature="e#1009#1010#0" expanded="true" />
-            <element signature="e#1027#1028#0" expanded="true" />
+            <element signature="e#1009#1010#0" expanded="false" />
+            <element signature="e#1027#1028#0" expanded="false" />
           </folding>
         </state>
       </provider>
@@ -2252,13 +1833,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ProtocolSettings.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="1646" max-vertical-offset="7680">
-          <caret line="42" column="13" selection-start-line="42" selection-start-column="13" selection-end-line="42" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/InitState.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="121" max-vertical-offset="1700">
@@ -2272,23 +1846,17 @@
         <state vertical-scroll-proportion="0.30339196" vertical-offset="0" max-vertical-offset="1592">
           <caret line="46" column="8" selection-start-line="46" selection-start-column="8" selection-end-line="46" selection-end-column="8" />
           <folding>
-            <element signature="e#1938#1939#0" expanded="true" />
-            <element signature="e#1959#1960#0" expanded="true" />
+            <element signature="e#1938#1939#0" expanded="false" />
+            <element signature="e#1959#1960#0" expanded="false" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/ProtocolState.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.056532662" vertical-offset="0" max-vertical-offset="1592">
-          <caret line="32" column="22" selection-start-line="32" selection-start-column="22" selection-end-line="32" selection-end-column="22" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/AuthenticationState.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1452">
           <caret line="57" column="9" selection-start-line="57" selection-start-column="9" selection-end-line="57" selection-end-column="9" />
+          <folding />
         </state>
       </provider>
     </entry>
@@ -2318,14 +1886,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="900" max-vertical-offset="3090">
-          <caret line="65" column="38" selection-start-line="65" selection-start-column="38" selection-end-line="65" selection-end-column="38" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/SendSound.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="897" max-vertical-offset="3275">
@@ -2334,14 +1894,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeManagement.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="2937" max-vertical-offset="5764">
-          <caret line="158" column="23" selection-start-line="158" selection-start-column="23" selection-end-line="158" selection-end-column="23" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/HandshakeState.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="314" max-vertical-offset="2280">
@@ -2353,14 +1905,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="923" max-vertical-offset="6072">
-          <caret line="127" column="33" selection-start-line="127" selection-start-column="33" selection-end-line="127" selection-end-column="33" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="3251" max-vertical-offset="6102">
@@ -2792,19 +2336,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1200">
-          <caret line="56" column="57" selection-start-line="56" selection-start-column="57" selection-end-line="56" selection-end-column="57" />
-          <folding>
-            <element signature="e#0#2710#0" expanded="false" />
-            <element signature="imports" expanded="false" />
-            <element signature="e#2684#2685#0" expanded="false" />
-            <element signature="e#2705#2706#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVNCNode.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510">
@@ -2861,26 +2392,18 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingNetworkConnectionWorker.java">
+    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/KeyEventListener.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3097">
-          <caret line="48" column="6" selection-start-line="48" selection-start-column="6" selection-end-line="48" selection-end-column="6" />
+        <state vertical-scroll-proportion="-1.6173842" vertical-offset="2099" max-vertical-offset="3330">
+          <caret line="34" column="13" selection-start-line="34" selection-start-column="13" selection-end-line="34" selection-end-column="13" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/VncProxyService.java">
+    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/LocalMouseCursorShape.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1185">
-          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/SenderTask.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1656">
-          <caret line="56" column="13" selection-start-line="56" selection-start-column="13" selection-end-line="56" selection-end-column="13" />
+        <state vertical-scroll-proportion="0.1085209" vertical-offset="0" max-vertical-offset="1244">
+          <caret line="5" column="12" selection-start-line="5" selection-start-column="12" selection-end-line="5" selection-end-column="12" />
           <folding />
         </state>
       </provider>
@@ -2893,51 +2416,97 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ProtocolContext.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-1.9496344" vertical-offset="3440" max-vertical-offset="7040">
-          <caret line="74" column="20" selection-start-line="74" selection-start-column="20" selection-end-line="74" selection-end-column="20" />
+        <state vertical-scroll-proportion="0.0" vertical-offset="1427" max-vertical-offset="2828">
+          <caret line="107" column="38" selection-start-line="107" selection-start-column="38" selection-end-line="107" selection-end-column="38" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommandChannelListener.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.14947197" vertical-offset="0" max-vertical-offset="6072">
+          <caret line="25" column="40" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="40" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#900#916#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/Protocol.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1200">
+          <caret line="56" column="57" selection-start-line="56" selection-start-column="57" selection-end-line="56" selection-end-column="57" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ProtocolSettings.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="6762">
-          <caret line="90" column="71" selection-start-line="90" selection-start-column="71" selection-end-line="90" selection-end-column="71" />
+        <state vertical-scroll-proportion="0.0" vertical-offset="1474" max-vertical-offset="8448">
+          <caret line="42" column="21" selection-start-line="42" selection-start-column="20" selection-end-line="42" selection-end-column="21" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeManagement.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="398" max-vertical-offset="6550">
+          <caret line="102" column="29" selection-start-line="102" selection-start-column="29" selection-end-line="102" selection-end-column="29" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/SenderTask.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="1.9193954" vertical-offset="0" max-vertical-offset="4608">
-          <caret line="170" column="8" selection-start-line="170" selection-start-column="8" selection-end-line="170" selection-end-column="8" />
-          <folding>
-            <element signature="e#9205#9206#0" expanded="true" />
-            <element signature="e#9255#9256#0" expanded="true" />
-          </folding>
+        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1656">
+          <caret line="56" column="13" selection-start-line="56" selection-start-column="13" selection-end-line="56" selection-end-column="13" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/VncProxyService.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1185">
+          <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="2495" max-vertical-offset="4023">
+          <caret line="143" column="24" selection-start-line="143" selection-start-column="24" selection-end-line="143" selection-end-column="24" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingNetworkConnectionWorker.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="15954" max-vertical-offset="19895">
-          <caret line="862" column="124" selection-start-line="862" selection-start-column="124" selection-end-line="862" selection-end-column="124" />
+        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3097">
+          <caret line="48" column="6" selection-start-line="48" selection-start-column="6" selection-end-line="48" selection-end-column="6" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="968" max-vertical-offset="4532">
+          <caret line="79" column="18" selection-start-line="79" selection-start-column="18" selection-end-line="79" selection-end-column="18" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-12.3" vertical-offset="5288" max-vertical-offset="9600">
-          <caret line="299" column="0" selection-start-line="299" selection-start-column="0" selection-end-line="299" selection-end-column="0" />
+        <state vertical-scroll-proportion="-12.175" vertical-offset="8813" max-vertical-offset="12000">
+          <caret line="388" column="56" selection-start-line="388" selection-start-column="56" selection-end-line="388" selection-end-column="56" />
           <folding>
             <element signature="e#0#16299#0" expanded="true" />
             <element signature="imports" expanded="true" />
             <element signature="e#1732#1759#0" expanded="true" />
+            <element signature="e#9689#9690#0" expanded="true" />
             <element signature="e#9717#9718#0" expanded="true" />
             <element signature="e#10452#10612#0" expanded="true" />
             <element signature="e#10611#10612#0" expanded="true" />
@@ -2956,137 +2525,174 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-21.975" vertical-offset="7785" max-vertical-offset="8976">
-          <caret line="399" column="28" selection-start-line="399" selection-start-column="28" selection-end-line="399" selection-end-column="28" />
+        <state vertical-scroll-proportion="-25.175" vertical-offset="7489" max-vertical-offset="8976">
+          <caret line="392" column="24" selection-start-line="392" selection-start-column="24" selection-end-line="392" selection-end-column="24" />
           <folding>
-            <element signature="e#3436#3437#0" expanded="true" />
-            <element signature="e#3473#3474#0" expanded="true" />
-            <element signature="e#3532#3533#0" expanded="true" />
-            <element signature="e#3584#3585#0" expanded="true" />
-            <element signature="e#3637#3638#0" expanded="true" />
-            <element signature="e#3676#3677#0" expanded="true" />
-            <element signature="e#3750#3751#0" expanded="true" />
-            <element signature="e#3806#3807#0" expanded="true" />
-            <element signature="e#5105#5106#0" expanded="true" />
-            <element signature="e#5178#5179#0" expanded="true" />
-            <element signature="e#7334#7335#0" expanded="true" />
-            <element signature="e#7420#7421#0" expanded="true" />
-            <element signature="e#11983#11984#0" expanded="true" />
-            <element signature="e#12052#12053#0" expanded="true" />
-            <element signature="e#12086#12087#0" expanded="true" />
-            <element signature="e#12117#12118#0" expanded="true" />
-            <element signature="e#12686#12687#0" expanded="true" />
-            <element signature="e#12753#12754#0" expanded="true" />
-            <element signature="e#12794#12795#0" expanded="true" />
-            <element signature="e#12827#12828#0" expanded="true" />
-            <element signature="e#12875#12876#0" expanded="true" />
-            <element signature="e#12909#12910#0" expanded="true" />
-            <element signature="e#12950#12951#0" expanded="true" />
-            <element signature="e#12989#12990#0" expanded="true" />
-            <element signature="e#13042#13043#0" expanded="true" />
-            <element signature="e#13081#13082#0" expanded="true" />
-            <element signature="e#13122#13123#0" expanded="true" />
-            <element signature="e#13161#13162#0" expanded="true" />
-            <element signature="e#13207#13208#0" expanded="true" />
-            <element signature="e#13239#13240#0" expanded="true" />
-            <element signature="e#13283#13284#0" expanded="true" />
-            <element signature="e#13313#13314#0" expanded="true" />
-            <element signature="e#13522#13523#0" expanded="true" />
-            <element signature="e#13576#13577#0" expanded="true" />
+            <element signature="e#3441#3442#0" expanded="true" />
+            <element signature="e#3478#3479#0" expanded="true" />
+            <element signature="e#3537#3538#0" expanded="true" />
+            <element signature="e#3589#3590#0" expanded="true" />
+            <element signature="e#3642#3643#0" expanded="true" />
+            <element signature="e#3681#3682#0" expanded="true" />
+            <element signature="e#3755#3756#0" expanded="true" />
+            <element signature="e#3811#3812#0" expanded="true" />
+            <element signature="e#5110#5111#0" expanded="true" />
+            <element signature="e#5183#5184#0" expanded="true" />
+            <element signature="e#7339#7340#0" expanded="true" />
+            <element signature="e#7425#7426#0" expanded="true" />
+            <element signature="e#11988#11989#0" expanded="true" />
+            <element signature="e#12057#12058#0" expanded="true" />
+            <element signature="e#12091#12092#0" expanded="true" />
+            <element signature="e#12122#12123#0" expanded="true" />
+            <element signature="e#12691#12692#0" expanded="true" />
+            <element signature="e#12758#12759#0" expanded="true" />
+            <element signature="e#12799#12800#0" expanded="true" />
+            <element signature="e#12832#12833#0" expanded="true" />
+            <element signature="e#12880#12881#0" expanded="true" />
+            <element signature="e#12914#12915#0" expanded="true" />
+            <element signature="e#12955#12956#0" expanded="true" />
+            <element signature="e#12994#12995#0" expanded="true" />
+            <element signature="e#13047#13048#0" expanded="true" />
+            <element signature="e#13086#13087#0" expanded="true" />
+            <element signature="e#13127#13128#0" expanded="true" />
+            <element signature="e#13166#13167#0" expanded="true" />
+            <element signature="e#13212#13213#0" expanded="true" />
+            <element signature="e#13244#13245#0" expanded="true" />
+            <element signature="e#13288#13289#0" expanded="true" />
+            <element signature="e#13318#13319#0" expanded="true" />
+            <element signature="e#13527#13528#0" expanded="true" />
+            <element signature="e#13581#13582#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.67518497" vertical-offset="7271" max-vertical-offset="8850">
+          <caret line="356" column="16" selection-start-line="356" selection-start-column="16" selection-end-line="356" selection-end-column="16" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#16552#16553#0" expanded="true" />
+            <element signature="e#16585#16586#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/state/ProtocolState.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="1212" max-vertical-offset="4023">
-          <caret line="68" column="30" selection-start-line="68" selection-start-column="30" selection-end-line="68" selection-end-column="30" />
+        <state vertical-scroll-proportion="0.50988877" vertical-offset="0" max-vertical-offset="1618">
+          <caret line="61" column="0" selection-start-line="61" selection-start-column="0" selection-end-line="61" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/Protocol.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.42727274" vertical-offset="5174" max-vertical-offset="7056">
+          <caret line="307" column="30" selection-start-line="307" selection-start-column="30" selection-end-line="307" selection-end-column="30" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-29.7" vertical-offset="18454" max-vertical-offset="19941">
+          <caret line="1015" column="22" selection-start-line="1015" selection-start-column="22" selection-end-line="1015" selection-end-column="22" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="2159" max-vertical-offset="5865">
+          <caret line="171" column="52" selection-start-line="171" selection-start-column="52" selection-end-line="171" selection-end-column="52" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.6708648" vertical-offset="24709" max-vertical-offset="25900">
-          <caret line="940" column="13" selection-start-line="940" selection-start-column="13" selection-end-line="940" selection-end-column="13" />
+        <state vertical-scroll-proportion="2.2332268" vertical-offset="3825" max-vertical-offset="21960">
+          <caret line="334" column="0" selection-start-line="334" selection-start-column="0" selection-end-line="334" selection-end-column="0" />
           <folding>
-            <element signature="e#4355#7595#0" expanded="true" />
-            <element signature="e#7594#7595#0" expanded="true" />
-            <element signature="e#7762#14315#0" expanded="true" />
-            <element signature="e#11482#11808#0" expanded="true" />
-            <element signature="e#11807#11808#0" expanded="true" />
-            <element signature="e#12053#12379#0" expanded="true" />
-            <element signature="e#12378#12379#0" expanded="true" />
-            <element signature="e#12610#12936#0" expanded="true" />
-            <element signature="e#12935#12936#0" expanded="true" />
-            <element signature="e#13158#13484#0" expanded="true" />
-            <element signature="e#13483#13484#0" expanded="true" />
-            <element signature="e#14314#14315#0" expanded="true" />
-            <element signature="e#16633#16634#0" expanded="true" />
-            <element signature="e#16674#16675#0" expanded="true" />
-            <element signature="e#16727#16728#0" expanded="true" />
-            <element signature="e#16765#16766#0" expanded="true" />
-            <element signature="e#16806#16807#0" expanded="true" />
-            <element signature="e#16839#16840#0" expanded="true" />
-            <element signature="e#16904#16905#0" expanded="true" />
-            <element signature="e#16945#16946#0" expanded="true" />
-            <element signature="e#18175#18176#0" expanded="true" />
-            <element signature="e#18201#18202#0" expanded="true" />
-            <element signature="e#18243#18244#0" expanded="true" />
-            <element signature="e#18272#18273#0" expanded="true" />
-            <element signature="e#18437#18438#0" expanded="true" />
-            <element signature="e#18480#18481#0" expanded="true" />
-            <element signature="e#18523#18524#0" expanded="true" />
-            <element signature="e#18563#18564#0" expanded="true" />
-            <element signature="e#19156#19157#0" expanded="true" />
-            <element signature="e#19189#19190#0" expanded="true" />
-            <element signature="e#19231#19232#0" expanded="true" />
-            <element signature="e#19268#19269#0" expanded="true" />
-            <element signature="e#19307#19308#0" expanded="true" />
-            <element signature="e#19340#19341#0" expanded="true" />
-            <element signature="e#19388#19389#0" expanded="true" />
-            <element signature="e#19421#19422#0" expanded="true" />
-            <element signature="e#22357#22358#0" expanded="true" />
-            <element signature="e#22395#22396#0" expanded="true" />
-            <element signature="e#23239#23240#0" expanded="true" />
-            <element signature="e#23271#23272#0" expanded="true" />
-            <element signature="e#26978#26990#0" expanded="true" />
-            <element signature="e#30476#30477#0" expanded="true" />
-            <element signature="e#30504#30505#0" expanded="true" />
-            <element signature="e#30532#30533#0" expanded="true" />
-            <element signature="e#30557#30558#0" expanded="true" />
-            <element signature="e#30697#30698#0" expanded="true" />
-            <element signature="e#30733#30734#0" expanded="true" />
-            <element signature="e#30766#30767#0" expanded="true" />
-            <element signature="e#30795#30796#0" expanded="true" />
-            <element signature="e#30866#30867#0" expanded="true" />
-            <element signature="e#30916#30917#0" expanded="true" />
-            <element signature="e#32739#32740#0" expanded="true" />
-            <element signature="e#32774#32775#0" expanded="true" />
-            <element signature="e#32857#32858#0" expanded="true" />
-            <element signature="e#32900#32901#0" expanded="true" />
-            <element signature="e#32957#32958#0" expanded="true" />
-            <element signature="e#32982#32983#0" expanded="true" />
-            <element signature="e#33016#33017#0" expanded="true" />
-            <element signature="e#33048#33049#0" expanded="true" />
-            <element signature="e#33091#33092#0" expanded="true" />
-            <element signature="e#33120#33121#0" expanded="true" />
-            <element signature="e#33169#33170#0" expanded="true" />
-            <element signature="e#33213#33214#0" expanded="true" />
-            <element signature="e#33266#33267#0" expanded="true" />
-            <element signature="e#33310#33311#0" expanded="true" />
-            <element signature="e#33367#33368#0" expanded="true" />
-            <element signature="e#33416#33417#0" expanded="true" />
-            <element signature="e#33872#33873#0" expanded="true" />
-            <element signature="e#33916#33917#0" expanded="true" />
-            <element signature="e#33987#33988#0" expanded="true" />
-            <element signature="e#34049#34050#0" expanded="true" />
-            <element signature="e#34655#34656#0" expanded="true" />
-            <element signature="e#34689#34690#0" expanded="true" />
-            <element signature="e#34725#34726#0" expanded="true" />
-            <element signature="e#34760#34761#0" expanded="true" />
-            <element signature="e#34794#34795#0" expanded="true" />
-            <element signature="e#34825#34826#0" expanded="true" />
+            <element signature="e#4355#6952#0" expanded="true" />
+            <element signature="e#6951#6952#0" expanded="true" />
+            <element signature="e#7119#13672#0" expanded="true" />
+            <element signature="e#10839#11165#0" expanded="true" />
+            <element signature="e#11164#11165#0" expanded="true" />
+            <element signature="e#11410#11736#0" expanded="true" />
+            <element signature="e#11735#11736#0" expanded="true" />
+            <element signature="e#11967#12293#0" expanded="true" />
+            <element signature="e#12292#12293#0" expanded="true" />
+            <element signature="e#12515#12841#0" expanded="true" />
+            <element signature="e#12840#12841#0" expanded="true" />
+            <element signature="e#13671#13672#0" expanded="true" />
+            <element signature="e#15990#15991#0" expanded="true" />
+            <element signature="e#16031#16032#0" expanded="true" />
+            <element signature="e#16084#16085#0" expanded="true" />
+            <element signature="e#16122#16123#0" expanded="true" />
+            <element signature="e#16163#16164#0" expanded="true" />
+            <element signature="e#16196#16197#0" expanded="true" />
+            <element signature="e#16261#16262#0" expanded="true" />
+            <element signature="e#16302#16303#0" expanded="true" />
+            <element signature="e#17532#17533#0" expanded="true" />
+            <element signature="e#17558#17559#0" expanded="true" />
+            <element signature="e#17600#17601#0" expanded="true" />
+            <element signature="e#17629#17630#0" expanded="true" />
+            <element signature="e#17794#17795#0" expanded="true" />
+            <element signature="e#17837#17838#0" expanded="true" />
+            <element signature="e#17880#17881#0" expanded="true" />
+            <element signature="e#17920#17921#0" expanded="true" />
+            <element signature="e#18513#18514#0" expanded="true" />
+            <element signature="e#18546#18547#0" expanded="true" />
+            <element signature="e#18588#18589#0" expanded="true" />
+            <element signature="e#18625#18626#0" expanded="true" />
+            <element signature="e#18664#18665#0" expanded="true" />
+            <element signature="e#18697#18698#0" expanded="true" />
+            <element signature="e#18745#18746#0" expanded="true" />
+            <element signature="e#18778#18779#0" expanded="true" />
+            <element signature="e#20149#20161#0" expanded="true" />
+            <element signature="e#21714#21715#0" expanded="true" />
+            <element signature="e#21752#21753#0" expanded="true" />
+            <element signature="e#22596#22597#0" expanded="true" />
+            <element signature="e#22628#22629#0" expanded="true" />
+            <element signature="e#26335#26347#0" expanded="true" />
+            <element signature="e#29833#29834#0" expanded="true" />
+            <element signature="e#29861#29862#0" expanded="true" />
+            <element signature="e#29889#29890#0" expanded="true" />
+            <element signature="e#29914#29915#0" expanded="true" />
+            <element signature="e#30054#30055#0" expanded="true" />
+            <element signature="e#30090#30091#0" expanded="true" />
+            <element signature="e#30123#30124#0" expanded="true" />
+            <element signature="e#30152#30153#0" expanded="true" />
+            <element signature="e#30223#30224#0" expanded="true" />
+            <element signature="e#30273#30274#0" expanded="true" />
+            <element signature="e#32096#32097#0" expanded="true" />
+            <element signature="e#32131#32132#0" expanded="true" />
+            <element signature="e#32214#32215#0" expanded="true" />
+            <element signature="e#32257#32258#0" expanded="true" />
+            <element signature="e#32314#32315#0" expanded="true" />
+            <element signature="e#32339#32340#0" expanded="true" />
+            <element signature="e#32373#32374#0" expanded="true" />
+            <element signature="e#32405#32406#0" expanded="true" />
+            <element signature="e#32448#32449#0" expanded="true" />
+            <element signature="e#32477#32478#0" expanded="true" />
+            <element signature="e#32526#32527#0" expanded="true" />
+            <element signature="e#32570#32571#0" expanded="true" />
+            <element signature="e#32623#32624#0" expanded="true" />
+            <element signature="e#32667#32668#0" expanded="true" />
+            <element signature="e#32724#32725#0" expanded="true" />
+            <element signature="e#32773#32774#0" expanded="true" />
+            <element signature="e#33229#33230#0" expanded="true" />
+            <element signature="e#33273#33274#0" expanded="true" />
+            <element signature="e#33344#33345#0" expanded="true" />
+            <element signature="e#33406#33407#0" expanded="true" />
+            <element signature="e#34012#34013#0" expanded="true" />
+            <element signature="e#34046#34047#0" expanded="true" />
+            <element signature="e#34082#34083#0" expanded="true" />
+            <element signature="e#34117#34118#0" expanded="true" />
+            <element signature="e#34151#34152#0" expanded="true" />
+            <element signature="e#34182#34183#0" expanded="true" />
           </folding>
         </state>
       </provider>
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java	Fri Sep 04 18:18:17 2015 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java	Sat Sep 05 19:51:41 2015 +0900
@@ -155,25 +155,15 @@
                                 String myHostName = null;
                                 int myHostPort = 0;
 
-                                if (isTreeManager) {
-                                    try {
-                                        rootHostName = InetAddress.getLocalHost().getHostAddress();
-                                        rootHostPort = getAcceptPort();
-                                        myHostName = rootHostName;
-                                        myHostPort = rootHostPort;
-                                    } catch (UnknownHostException e) {
-                                        e.printStackTrace();
-                                        System.out.println("cannot resolve localhost");
-                                    }
-                                } else {
+                                if (!isTreeManager) {
                                     rootHostName = getConnectionParam().getHostName();
                                     rootHostPort = getConnectionParam().getPort();
                                     myHostName = getMyAddress();
                                     myHostPort = getAcceptPort();
+                                    TreeVncProtocol echo = new TreeVncProtocol(rootHostName, rootHostPort);
+                                    echo.lostChild(myHostName, myHostPort, myId);
                                 }
-                                TreeVncProtocol echo = new TreeVncProtocol(rootHostName, rootHostPort);
-                                clients = myId;
-                                echo.lostChild(myHostName, myHostPort, myId);
+                                clients--;
                                 break;
                             }
                         }
--- a/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java	Fri Sep 04 18:18:17 2015 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/ConnectionPresenter.java	Sat Sep 05 19:51:41 2015 +0900
@@ -73,7 +73,7 @@
     private boolean noConnection = false;
     public ViewerInterface viewer;
     private ConnectionParams connectionParams;
-    private short reconnectingId;
+    private short reconnectingId = -1;
 
     public short getReconnectingId() {
         return reconnectingId;
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java	Fri Sep 04 18:18:17 2015 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java	Sat Sep 05 19:51:41 2015 +0900
@@ -186,7 +186,8 @@
             presenter.successfulRfbConnection();
         // hide VNC server's view to prevent video feed back.
         if (myRfb.hasViewer()) {
-            viewerWindow.setVisible(true);
+            boolean visibility = presenter.getReconnectingId() != myRfb.getId();
+            viewerWindow.setVisible(visibility);
             viewerWindow.zoomToFit();
         }
     }
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java	Fri Sep 04 18:18:17 2015 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java	Sat Sep 05 19:51:41 2015 +0900
@@ -860,7 +860,9 @@
                 viewer.getRfb().setSingleDisplaySize(singleWidth, singleHeight);
                 if (viewer.getRfb().hasParent()) {
                     String adr = viewer.getRfb().getMyAddress();
-                    context.sendMessage(new ScreenChangeRequest(adr, ConnectionParams.DEFAULT_VNC_ROOT, viewer.getRfb().getId(), singleWidth, singleHeight));
+                    // -1 means reqeust to reverse direct connection sorcket
+                    short id = viewer.getRfb().isTreeManager()? (short)-1 : viewer.getRfb().getId();
+                    context.sendMessage(new ScreenChangeRequest(adr, ConnectionParams.DEFAULT_VNC_ROOT, id, singleWidth, singleHeight));
                 }
                 if (viewer.getRfb().isTreeManager()) {
                     changeVncServer(viewer, singleWidth, singleHeight, viewer.getRfb().getId());