Mouse Hover

using Makie
 using Colors, Observables

 r = range(0, stop=5pi, length=100)
 scene = Scene(resolution = (500, 500))
 lines!(scene, r, sin.(r), linewidth = 3)
 lineplot = scene[end]
 visible = node(:visible, false)
 poprect = lift(scene.events.mouseposition) do mp
     FRect((mp .+ 5), 250, 40)
 end
 textpos = lift(scene.events.mouseposition) do mp
     Vec3f0((mp .+ 5 .+ (250/2, 40 / 2))..., 120)
 end
 popup = poly!(campixel(scene), poprect, raw = true, color = :white, strokewidth = 2, strokecolor = :black, visible = visible)
 rect = popup[end]
 translate!(rect, Vec3f0(0, 0, 100))
 text!(popup, "( 0.000,  0.000)", textsize = 30, position = textpos, color = :darkred, align = (:center, :center), raw = true, visible = visible)
 text_field = popup[end]
 scene
 x = Node(false)
 on(scene.events.mouseposition) do event
     plot, idx = mouse_selection(scene)
     if plot == lineplot && idx > 0
         visible[] = true
         text_field[1] = sprint(io-> print(io, round.(Float64.(Tuple(lineplot[1][][idx])), digits = 3)))
     else
         visible[] = false
     end
     return
 end
 RecordEvents(scene, "output")