summaryrefslogtreecommitdiff
path: root/ext/tk/sample/remote-ip_sample2.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-22 05:22:09 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-22 05:22:09 +0000
commit961d66abc26f9e491d5c622664f8e49b717ebbf1 (patch)
treed69abfd31ed2c17365c1620670ab9d33acf5ebb6 /ext/tk/sample/remote-ip_sample2.rb
parentedf9c3da4b680da9d6ac89a82212d943fab11804 (diff)
* ext/tk/sample/remote-ip_sample2.rb: modify
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample/remote-ip_sample2.rb')
-rw-r--r--ext/tk/sample/remote-ip_sample2.rb20
1 files changed, 10 insertions, 10 deletions
diff --git a/ext/tk/sample/remote-ip_sample2.rb b/ext/tk/sample/remote-ip_sample2.rb
index 51b950387a..fcc34b73de 100644
--- a/ext/tk/sample/remote-ip_sample2.rb
+++ b/ext/tk/sample/remote-ip_sample2.rb
@@ -1,22 +1,20 @@
#!/usr/bin/env ruby
-ip_name = 'remote_ip'
+require 'remote-tk'
+# start sub-process
+ip_name = 'remote_ip'
+ip_list = TkWinfo.interps
fork{
exec "/usr/bin/env ruby -r tk -e \"Tk.appname('#{ip_name}');Tk.mainloop\""
}
-
-require 'remote-tk'
-
-15.times{
- break if TkWinfo.interps.find{|ip| ip =~ /^#{ip_name}/}
- sleep 1
-}
-
+sleep 1 until (app = (TkWinfo.interps - ip_list)[0]) && app =~ /^#{ip_name}/
p TkWinfo.interps
-ip = RemoteTkIp.new(ip_name)
+# create RemoteTkIp object
+ip = RemoteTkIp.new(app)
+# setup remote-ip window
btns = []
ip.eval_proc{
btns <<
@@ -41,6 +39,7 @@ ip.eval_proc{
TkButton.new(:command=>'exit', :text=>'QUIT').pack(:fill=>:x)
}
+# setup controller-ip window
btns.each_with_index{|b, idx|
TkButton.new(:command=>proc{ip.eval_proc{b.flash}},
:text=>"flash button-#{idx}",
@@ -50,4 +49,5 @@ btns.each_with_index{|b, idx|
TkButton.new(:command=>proc{exit}, :text=>'QUIT',
:padx=>10, :pady=>7).pack(:padx=>10, :pady=>7)
+# start eventloop
Tk.mainloop