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

问题描述:

我想在聚焦的窗口的标题栏中绘制一条红线。对于这一点,我创建类似于以下代码(它意味着是一个最小的示例):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

+0

红线是否每次都在同一个地方开始?一些更好的描述或红色线的确切图像会有所帮助。 –

+0

@AzureHeights更多照片已添加。 –

+0

在所有情况下,似乎'f.w'或多或少都固定在同一点。 –

AS是,该代码将放置杆窗口宽度从屏幕的左侧远。看似固定的位置是因为窗口宽度相同。使用:

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

将第二个点放置在距第一个点的偏移处。