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

时间:2017-09-12 12:38:19

标签: lua 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()
如果控制台位于显示屏的右半部分,它会在窗口外绘制一条线,而不是在标题栏上。请参阅随附的屏幕截图。事实上,红线的位置和长度会根据控制台窗口的位置而改变,如果控制台位于显示屏的左半部分,则可以在标题栏上绘制所需的红线。我完全糊涂了。代码有什么问题? 有人可以帮忙吗?

enter image description here

修改

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

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

按原样,代码会将条形窗口宽度远离屏幕左侧。看似固定的位置是因为窗口宽度相同。使用:

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

将第二个点设置为偏离第一个点。