Forum: Ruby mouse coordinates in a gnome2 canvas

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Tool69 (Guest)
on 2006-01-03 16:59
(Received via mailing list)
I want to show the mouse coordinates inside a label in a gnome2
application if my mouse is on a canvas. How to procede ? I' ve found no
documentation on the canvas on ruby gnome2 API. rbbr is not working on
my ubuntu (no description at all), so you're my last chance...
In fact, it's not really a canvas problem but more a gtk one. I've
tried something like :

@ecran = Gdk::Display.default
canvas.signal_connect("event") do
    pos = @ecran.window_at_pointer

....but then all my drawings disappear.

Thanks in advance :
Joe Van D. (Guest)
on 2006-01-03 20:16
(Received via mailing list)
On 1/3/06, Tool69 <removed_email_address@domain.invalid> wrote:
>     pos = @ecran.window_at_pointer
>     @label1.set_text("x=#{pos[1]}")
>     @label2.set_text("y=#{pos[2]}")
> end
> ....but then all my drawings disappear.

require 'gnomecanvas2'


window = "Mouse Coordinate display"
window.set_default_size 300, 300
grid =
window << grid

canvas =
grid.pack_start canvas

coord_label = "sup"
grid.pack_start coord_label, false


window.signal_connect("destroy") { Gtk::main_quit }

canvas.signal_connect("motion-notify-event") do |widget, event|
  x = event.x
  y = event.y
  coord_label.text = "X Pos: #{ x }, Y Pos: #{ y }"

Tool69 (Guest)
on 2006-01-03 20:59
(Received via mailing list)
Thanks Joe,
I thought that it was impossible to connect the canvas to something
other than "event".
Your code helped me a lot to understand.
This topic is locked and can not be replied to.