summaryrefslogtreecommitdiffstats
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
commit8b6e7fe9de7e15dd81a985b47e137beca9ca945f (patch)
treed69abfd31ed2c17365c1620670ab9d33acf5ebb6
parentf0174e598e0415100f8d9478b1e7a6ad9c74c1a2 (diff)
downloadruby-8b6e7fe9de7e15dd81a985b47e137beca9ca945f.tar.gz
ruby-8b6e7fe9de7e15dd81a985b47e137beca9ca945f.tar.xz
ruby-8b6e7fe9de7e15dd81a985b47e137beca9ca945f.zip
* ext/tk/sample/remote-ip_sample2.rb: modify
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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 51b950387..fcc34b73d 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