>Have you looked at the Tk widget demos on RAA? It's been a while since I >looked at them, but I wouldn't be surprised if pieces of what you wanted >were already there. Yes. The problem is, of course, that apart from grep-ing for things it's hard to find code that gives a clue to how to handle a specific problem. I was able to get something happening using the following code ... g = "+#{x + 5}+#{y + 5}" tl = TkToplevel.new() { geometry g } tl.overrideredirect(1) t1 = TkVariable.new('Hello') t2 = TkLabel.new(tl, 'textvariable' => t1) t2.pack where the variable names were not chosen for documentation purposes, because I'm just playing, trying to get something going :-). This works, but because tl is a separate window, it's hard to control it to keep it in the right place relative to the canvas. The problem is I can't work out how to get the TkLabel into a specific position within the canvas without putting it in a separate frame. The reason I ended up using a TkToplevel was that I obviously don't want the frame border and I found that trick about overrideredirect somewhere, and it doesn't apply to frames :-(. If someone can tell me how to use just a frame, which I then should be able to bind to the canvas, but get rid of the decorations, that would be great. Sorry, I realise I'm trying to do things after a week that maybe people normally would know how to do if they'd taken some time to learn Tk. The problem is I have an actual application that I want working in about another 10 days!