惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
B
Blog RSS Feed
小众软件
小众软件
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
WordPress大学
WordPress大学
月光博客
月光博客
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
量子位
V
Visual Studio Blog
罗磊的独立博客
Last Week in AI
Last Week in AI
The Cloudflare Blog
H
Help Net Security
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
免费又强大的 macOS 自动化工具,Hammerspoon 可以让你少买很...
2019-04-14 · via 少数派

macOS 系统最令人难以割舍的特性之一就是丰富的自动化工具支撑:内置的 AppleScript 与 Automator,还有第三方软件 Keyboard Maestro、Hazel、Alfred、LaunchBar 等。这些工具不仅仅为我们免除了许多无聊的重复工作,节省了精力和时间,也让我们时不时可以体会一些解决问题与创造工具的乐趣。今天,我们来看一款更加强大、好玩的开源软件 Hammerspoon

通过桥接操作系统与 Lua 脚本引擎,这款软件让我们能够用 Lua 脚本快速方便地与系统 API 沟通,获取各种信息或者进行控制,包括但不仅限于这些方面:窗口、键鼠、文件系统、音频、电池、屏幕、剪贴板、地理位置、Wi-Fi 等,基本上涵盖了系统中的各个方面。除此之外,创建菜单栏图标与菜单、绘制图形界面等自然也不在话下。如果这样的说明让你有些不太明白,那我们其实可将它大致看作 macOS 平台上的 JSBox 或 Pythonista

阅读本文需要使用终端与 Git。少数派网站中有丰富的相关入门教程,可搜索访问。

推荐阅读:

使用方法

Homebrew 用户可以使用 cask 进行安装:brew cask install hammerspoon,或者也可以在 GitHub 项目页面 手动下载安装。

偏好设置

首次打开 Hammerspoon 后,偏好设置窗口自动打开,点击上图中 Enable Accessibility 授予辅助功能权限。此时的 Hammerspoon 并不具备任何功能,就如同 iOS 上尚未加入任何捷径的捷径 App 一样。我们需要在 ~/.hammerspoon/init.lua 中加入自己编写的配置脚本,并且点击 Hammerspoon 菜单栏图标并选择 Reload Config(重载配置),使配置生效。

推荐配置

在动手编写代码之前,我们先来看看其他人是怎么使用 Hammerspoon 的,也可以直接使用他们公布的成熟配置。

awesome-hammerspoon configuration

下载地址:ashfinal/awesome-hammerspoon

这份配置实现了这些功能:

  • 快捷键窗口管理
  • 桌面挂件,包含时钟、日历
  • 快捷键列表 Cheatsheet
  • Aria2 前端,可以快速添加下载任务,查看当前下载情况
  • 快捷搜索,类似于 Alfred,可搜索浏览器标签页、进程、词典、Emoji 等
图片来自该配置作者介绍

其中窗口管理与常见的快捷键操作类型不同,比较有意思:按下快捷键 ⌥Option + R 后进入管理模式

  • 使用 h/j/k/l 移动为上下左右的半屏
  • 使用 y/u/i/o(即 hjkl 上方按键)移动为左上/左下/右上/右下的四分之一窗口
  • 使用 c 居中,按下 =/- 进行窗口大小缩放
  • 使用 w/s/a/d 向上下左右移动窗口
  • 使用 H/J/K/L 向左/下增减窗口大小
  • 使用方向键 上下左右 移动到相应方向上的显示器
  • 使用 / 撤销、重做上一次操作
  • 使用 q 或 Esc 退出管理

配置使用方法:在终端中运行 git clone https://github.com/ashfinal/awesome-hammerspoon.git ~/.hammerspoon,然后在 Hammerspoon 中重载配置就可以了。

点击查看中文说明及讨论:

Hammerspoon config

下载地址:wangshub/hammerspoon-config

这份配置实现了这些功能:

  • 菜单栏显示近日天气,包含未来一周的天气、气温与风向等
  • Wi-Fi 自动脚本,通过 Wi-Fi 判断所在位置并做出相应的操作
  • 窗口管理,快速切换为二分屏、三分屏
  • 蓝牙耳机自动连接等
图片来自该配置作者介绍

配置使用方法:在终端中运行 git clone https://github.com/wangshub/hammerspoon-config.git ~/.hammerspoon,然后重载配置。

点击查看中文说明及谈论:https://www.v2ex.com/t/553241

HammerSpoon config file - by S1ngS1ng

下载地址:S1ngS1ng/HammerSpoon

这份配置实现了三方面的功能,包括快捷键窗口管理、播放器 VOX 控制以及 Vim 式的光标移动快捷键。其中的窗口管理,除了常规的全屏、居中与分屏,还能够做到这些:

  • 用快捷键将当前窗口移动至其它显示器,并全屏(可选)
  • 用快捷键任意调整当前窗口的大小
图片来自该配置作者介绍

详细介绍(中文):https://github.com/S1ngS1ng/HammerSpoon/blob/master/README-cn.md

作者还写了一篇相关的文章,除了使用说明外,也介绍了原理与所使用的 API,对于想要自己编写的读者会有些帮助。

配置使用方法:在终端中运行 git clone https://github.com/S1ngS1ng/HammerSpoon.git ~/.hammerspoon,然后重载配置。

其他配置

此外,这里也收集了一些其他配置,并列出其中的亮点功能,看看有没有你感兴趣或需要的。

配置方案

功能

Braden1996/BradensPoon

划定区域打开终端、Spotify 提醒

ztomer/.hammerspoon

番茄计时器

andrewhampton/dotfiles

Gmail 新邮件提醒

tdlm/hammerspoon

菜单栏显示 GitHub PR

TwoLeaves/hammerspoon

桌面 / Space 管理

scottcs/dot_hammerspoon

电池状态提醒、系统休眠阻止、Hazel 代替等

agzam/spacehammer

Spacemacs 式的快捷键风格

你也可以访问 Hammerspoon 官网 Wiki 页面 查看更多配置方案,也可以在搜索引擎中进行搜寻。

自己动手写脚本

直接用别人的配置,难以非常妥帖地符合自己的需求。那么不如参考各种配置,规划编写我们自己的配置脚本。

如果对 Lua 语言不了解,可以看看 X分钟速成Y 网站上的中文教程 快速入门。此外,Hammerspoon 官方提供了一份 快速入门指南,围绕多个实际应用场景介绍了相关的 API 使用,并且给出了示例代码,也可以点击查看 完整的 API 文档

除了 Hammerspoon 自身提供的接口外,还有不少其它开发者贡献的 扩展 和 插件(点击查看相应列表)。扩展为 Hammerspoon 加入了额外的 API,有些还被其最终合并进去,如 Spotify 控制利用私有 API 操作桌面(Desktop/Space)的扩展。在 Hammerspoon 中插件被称为 Spoon,是使用 API 编写的较为完整的功能模块,基本上开箱即用,比如 Bingdaily 自动每天使用 bing 图片做壁纸,HSaria2 控制 Aria2 并提供一个面板可以添加任务,显示当前下载情况。

「我想玩这个,但是不会编程怎么办?」,别急,现在开始学习编程也不晚 :) 

> 下载少数派 客户端、关注 少数派公众号 ,让你的工作更有效率 ⏱

> 特惠、好用的硬件产品,尽在 少数派sspai官方店铺 🛒