From 8b6e7fe9de7e15dd81a985b47e137beca9ca945f Mon Sep 17 00:00:00 2001 From: nagai Date: Sat, 22 May 2004 05:22:09 +0000 Subject: * 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 --- ext/tk/sample/remote-ip_sample2.rb | 20 ++++++++++---------- 1 file 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 -- cgit