Hi Ruby Student,

> I tried subscribing to shoes / librelist.org but it was impossible!
`.org`?
I'm not sure it's okay or not.
But according to this Librelist web page: http://librelist.com/
You should send your email to shoes / librelist.com.

Try again and if you couldn't subscribe. You may be better to send your mail to meta / librelist.com like this: http://librelist.com/browser//meta/2010/7/28/cannot-subscribe-flask-librelist-com/

> I am attaching my image so you can analyze it and comment on it. 
> The image was rejected by the ruby forum.
Could you upload the image to some free web site?

> 1 -
> how can I tell Shoes to place them on the center of the pane, 
> without having to specify margin?
How about the following?

Shoes.app do
  five_buttons_width = (46 + 2) * 5
  seven_buttons_height = (40 + 2) * 7
	
  flow :width => five_buttons_width, 
    :left => (width - five_buttons_width) / 2, 
    :top => (height - seven_buttons_height) / 2 do
    %w(7 8 9 + sin 
       4 5 6 - cos 
       1 2 3 * sinh 
       tan cot 0 ln / 
       cosh Exp log tanh = 
       Mod n! sqrt x*2 x*y 
       % e Pi Clr Ce 
    ).each do |btn|
      button(btn, :width => 46, :height => 46){}
    end
  end
end

> 2 - 
> using a stack to keep items within a flow one on top of the other
Oh, good idea.
But if you need two groups of radio buttons, you should add something like this:

Shoes.app do
  flow :margin => 6 do
    radio :a; para strong("512b BK")
    radio :a; para strong("1K BK")
    radio :a; para strong("MB")
    radio :a; para strong("GB")
    radio :a; para strong("TB")
    stack
    radio :b; para strong("Deg")
    radio :b; para strong("Rad")
    radio :b; para strong("Grad")
    radio :b; para strong("DEC")
    radio :b; para strong("HEX")
    radio :b; para strong("BIN")
  end
end

Or simply use two flows in one stack like this: 

Shoes.app do
  stack do
    flow :margin => 6 do
      radio; para strong("512b BK")
      radio; para strong("1K BK")
      radio; para strong("MB")
      radio; para strong("GB")
      radio; para strong("TB")
    end
    flow :margin => 6 do
      radio; para strong("Deg")
      radio; para strong("Rad")
      radio; para strong("Grad")
      radio; para strong("DEC")
      radio; para strong("HEX")
      radio; para strong("BIN")
    end
  end
end

> 3 -
> I tried to use the Pi symbol and the square root symbol and
> other symbols as caption/lable for the corresponding buttons
Need to add some encoding like this:

Shoes.app do
  root = [8730].pack 'U'
  pi = [928].pack 'U'
  button root.force_encoding "UTF-8"
  button pi.force_encoding "UTF-8"
end

You can find unicode number on this website:
http://ideas.paunix.org/utfrefcon.htm

> 4 -
> What is the difference between para and caption?
Almost the same, except font size.
Look at Shoes manual: http://shoes.heroku.com/manual/TextBlock.html

> 5 - 
> How can I reduce the space between flows?
Umm,.. I'm not sure what you want to do. Does the following help you?

Shoes.app do
  flow{para 'aaa'}
  flow{para 'aaa'}
  flow(height: 20){para 'aaa'}
  flow(height: 20){para 'aaa'}
end

Cheers,
ashbb