Hammerspoon Mac如何进行多窗口布局?
时间:2022-10-12 03:10:51
Hammerspoon mac这是一款macOS平台的自动化工具,可以帮助我们大大提高效率,适用于窗口管理、音乐播放、应用管理,甚至是网络请求……基本可以做到指哪打哪。应用场景:常用软件使用快捷键启动、高效快速的窗口管理、高效的音乐播放控制等。
Hammerspoon for Mac(自动化批处理软件)
立即下载
Hammerspoon mac这是一款macOS平台的自动化工具,可以帮助我们大大提高效率,适用于窗口管理、音乐播放、应用管理,甚至是网络请求……基本可以做到指哪打哪。应用场景:常用软件使用快捷键启动、高效快速的窗口管理、高效的音乐播放控制等。
2022-03-318.05 MB英文软件
Hammerspoon Mac如何进行多窗口布局?
当您想要一直打开多个应用程序,并以特定方式安排他们的窗口时,您可以使用hs.layout
扩展名:
local laptopscreen = "Color LCD" local windowLayout = { {"Safari", nil, laptopscreen, hs.layout.left50, nil, nil}, {"MAIl", nil, laptopscreen, hs.layout.right50, nil, nil}, {"iTunes", "iTunes", laptopscreen, hs.layout.maximized, nil, nil}, {"iTunes", "MiniPlayer", laptopscreen, nil, nil, hs.geometry.rect(0, -48, 400, 48)}, } hs.layout.apply(windowLayout)
为了解决这个问题,我们首先在Mac上创建一个带有主屏幕名称的变量。您可以:name()
在hs.screen
对象上使用该方法找到这些名称(例如hs.screen.allScreens()[1]:name()
,在Hammerspoon控制台中键入)。
然后,我们创建一个描述我们想要的布局的表。表中的每个条目windowLayout
都是另一个表,它选择我们感兴趣的窗口,并指定它们所需的位置和大小。
表格中的第一项是我们希望影响的应用程序的名称,第二项是我们希望影响的窗口的标题。这些项目中的任何一项都可以nil
,但不能两者兼而有之。如果应用程序名称是,nil
那么我们将在所有应用程序中匹配给定的窗口标题。如果窗口标题项是,nil
那么我们将匹配给定应用程序的所有窗口。
第三项是放置窗口的屏幕名称
第四,第五和第六项用于以不同方式描述匹配窗口的布局。只有这些项目中的一个可具有一个值,并且该值应为包含四个项目,一个表x
,y
,w
和h
(水平位置,垂直位置,宽度和高度,分别地)。
第四项是将给予的矩形hs.window:moveToUnit()
。的x
,y
,w
,和h
该矩形的值,是值之间0.0
并且1.0
,允许你位置的窗口作为显示器的级分,而不必关心显示器的精确分辨率(例如hs.layout.left50
是一个预先定义的矩形{x=0, y=0, w=0.5, h=1}
)。
第五项是一个矩形,它将被赋予hs.window:setFrame()
并且应该将位置/大小值指定为屏幕上的像素位置,但不考虑OS菜单栏和底座。
第六项类似于第五项,但它确实考虑了OS菜单栏和停靠。这在上面的例子中显示,它将iTunes Mini Player窗口放在屏幕的最左下方,即使底座在那里。请注意,我们使用hs.geometry.rect()
辅助函数来构造rect表,并且y
值为负,这意味着窗口的顶部应该在显示屏底部上方48个像素处开始。
这可能看起来是一组相当复杂的选项,但值得花一些时间学习,因为它允许极其强大的窗口布局,特别是对系统事件的反应(例如插入监视器时屏幕数量的变化,或者甚至只需按一个特定的热键即可恢复窗户的健全状况。
更多Mac软件教程,尽在macdown!