# Mouse coordinates in a gnome2 canvas

**URL:** <https://www.ruby-forum.com/t/mouse-coordinates-in-a-gnome2-canvas/51571>\
**Category:** Ruby\
**Created:** [January 3, 2006, 3:59pm UTC](https://www.ruby-forum.com/t/mouse-coordinates-in-a-gnome2-canvas/51571 "2006-01-03T15:59:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tool69](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/87869e/32.png) [@Tool69](https://www.ruby-forum.com/u/Tool69)\
**Post date:** [January 3, 2006, 3:59pm UTC](https://www.ruby-forum.com/t/mouse-coordinates-in-a-gnome2-canvas/51571/1 "2006-01-03T15:59:45Z")

</div>

Hi,  
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  
@label1.set\_text(“x=#{pos[1]}”)  
@label2.set\_text(“y=#{pos[2]}”)  
end

…but then all my drawings disappear.

Thanks in advance :  
6TooL9

---

<div class="post-metadata">

**Author:** ![Tool69](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/87869e/32.png) [@Tool69](https://www.ruby-forum.com/u/Tool69)\
**Post date:** [January 3, 2006, 7:16pm UTC](https://www.ruby-forum.com/t/mouse-coordinates-in-a-gnome2-canvas/51571/2 "2006-01-03T19:16:05Z")

</div>

On 1/3/06, Tool69 [removed\_email\_address@domain.invalid](mailto: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’

Gtk.init

window = Gtk::Window.new “Mouse Coordinate display”  
window.set\_default\_size 300, 300  
grid = Gtk::VBox.new  
window \<\< grid

canvas = Gnome::Canvas.new  
grid.pack\_start canvas

coord\_label = Gtk::Label.new “sup”  
grid.pack\_start coord\_label, false

window.show\_all

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 }”  
end

Gtk::main

---

<div class="post-metadata">

**Author:** ![Tool69](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/87869e/32.png) [@Tool69](https://www.ruby-forum.com/u/Tool69)\
**Post date:** [January 3, 2006, 7:59pm UTC](https://www.ruby-forum.com/t/mouse-coordinates-in-a-gnome2-canvas/51571/3 "2006-01-03T19:59:38Z")

</div>

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.
