Hammerspoon:在 window 的标题栏中画一条线

Hammerspoon: drawing a line in the title bar of a window

我正在尝试在焦点 window 的标题栏中画一条红线。为此,我创建了类似于以下的代码(这是一个最小的示例):

function foo()
    f = hs.window.focusedWindow():frame()
    line = hs.drawing.line(hs.geometry.point(f.x, f.y),hs.geometry.point(f.w,f.y))
    line:setStrokeWidth(10)
    line:setStrokeColor(hs.drawing.color.red)
    line:show()
end

如果我将其输入 Hammerspoon 控制台,然后

foo()

它在 window 之外绘制一条线,而不是在标题栏上,如果控制台位于显示器的右半部分。请参阅随附的屏幕截图。事实上,红线的位置和长度是变化的,取决于Console的位置window,如果Console在显示的左半边,就可以在标题栏上画出想要的红线.我完全糊涂了。代码有什么问题? 有人可以帮忙吗?

编辑

添加了更多照片。请注意,使用 setStrokeWith(30)

照原样,代码会将栏放置在距屏幕左侧 windows 宽度的位置。看似固定的位置是因为window宽度相同。使用:

hs.geometry.point(f.x + f.w, f.y)

将第二个点放置在第一个点的偏移量上。