当前位置:  开发笔记 > 编程语言 > 正文

Lua Hammerspoon:hs.window.focusedWindow()在分配给变量时为零

如何解决《LuaHammerspoon:hs.window.focusedWindow()在分配给变量时为零》经验,为你挑选了0个好方法。

我在osx上使用名为hammerspoon的自动化软件.

当我在hammerspoon的控制台中使用以下代码时,win为零:

> local win = hs.window.focusedWindow()
> win
nil

但实际上函数返回一些值:

> hs.window.focusedWindow()
hs.window: Hammerspoon Console (0x60000025f798)

这种奇怪的行为会破坏所有窗口移动/大小调整功能,例如:

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "H", function()
    local win = hs.window.focusedWindow()
    local f = win:frame()

    f.x = f.x - 10
    win:setFrame(f)
end)

Hammerspoon给出了这个错误:

/Users/mertnuhoglu/.hammerspoon/init.lua:6: attempt to index a nil value (local 'win')
stack traceback:
    /Users/mertnuhoglu/.hammerspoon/init.lua:6: in function 
stack traceback:

我不知道这个问题是由我的电脑还是其他原因引起的.

我有osx yosemite,版本10.10.5和hammerspoon 0.9.43.

更新:

我找到了错误的解决方案.这是由于osx的隐私设置.

解:

Prefences > Security > Privacy > Allow Apps: Hammerspoon

但是,我仍然不明白为什么hs.window.focusedWindow()如果它没有分配给变量就会返回一些东西,并且nil当它被赋值给变量时它会返回.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有