Hammerspoon:在窗口标题栏中画一条线

我试图在聚焦窗口的标题栏中画一条红线。 为此,我创建了类似于以下代码的代码(它意味着是最小示例):

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()

它会在窗口外部绘制一条线,而不是在标题栏上,如果控制台位于显示器的右半部分。 请参阅附加的截图。 实际上,红线的位置和长度会根据控制台窗口的位置而更改,并且如果控制台位于显示器的左半部分,则可以在标题栏上绘制所需的红线。 我完全搞糊涂了。 代码有什么问题吗? 有谁可以帮忙吗?

在这里输入图片描述

编辑

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

在这里输入图片描述

在这里输入图片描述

在这里输入图片描述

点赞
用户8201190
用户8201190

原代码将把窗口栏距离屏幕左侧宽度等距离,这个位置看起来是固定的,因为窗口的宽度是相同的。使用以下代码可以把第二个点设置到第一个点的偏移位置上:

hs.geometry.point(f.x + f.w, f.y)
2017-09-13 00:15:09