Navigate back to the homepage

自动下载并更换 OS X 壁纸

宋辰文
June 6th, 2015 · 1 min read

虽然在工作中很少能看到壁纸,但我还是希望我的壁纸能经常变一变,这样当四指划开显示桌面时,说不定还能给自己一个惊喜。

OS X 上是有一些自动设置壁纸的 App 的,比如 Behance, Kuvva。但是这些 App,要么壁纸资源太少,要么不能自动下载。总还不能满足我的需求。找来找去还是 爱壁纸 上的壁纸资源最合我意。于是我就写了一个简单的 Nodejs 脚本,根据爱壁纸的 API 来收集,并调用 Apple Script 自动更换 OS X 的壁纸。

lovebizhi-collector-1

安装

既然是一个 Nodejs 脚本,那么首先就要安装好 Nodejs 才行。使用 Homebrew 安装 Nodejs 很简单。

1brew install node

然后只需要找一个目录把这个脚本克隆到本地就可以了。当然还需要想好把下载好的壁纸保存在哪个目录下。比如我保存在了 ~/Pictures/wallpapers/

我已经准备好了用来安装的脚本。只需要替换上你用来存储壁纸的路径,运行下面的脚本就可以了。

1OUTPATH="/path/to/your/folder/for/wallpapers"
2mkdir lovebizhi-collecor
3cd lovebizhi-collecor
4git clone "https://github.com/songchenwen/lovebizhi-collector.git" .
5npm install
6touch config
7echo "OUTPATH=\"$OUTPATH\"" > config

使用

项目里有两个已经准备好的 Shell 脚本 run.shadd_launch_agent.sh。分别是用来运行和添加自动启动项目的。

更新壁纸

1sh run.sh

自动启动

OS X 的自动启动依赖于 LaunchAgents。打开 ~/Library/LaunchAgents/ 就能看到一些 .plist 文件,这些就是用来描述自动启动项目的。我们在这里添加一个 .plist 文件来调用 run.sh 就可以自动运行了。

我已经写好了添加的脚本。

1sh add_launch_agent.sh

设置

index.js 里面有一些关于要获取什么样的壁纸的配置。可以根据自己的喜好来更改这些配置。

1var categories = [API.categories.landscape, API.categories.plant]; // 壁纸类别
2var screenWidth = 2560; // 屏幕分辨率
3var screenHeight = 1600;
4var maxFileCount = 100; // 最多保留在本地的壁纸数

其中壁纸类别有如下这些:

  • API.categories.moviestar 明星
  • API.categories.landscape 风景
  • API.categories.beauty 美女
  • API.categories.plant 植物
  • API.categories.animal 动物
  • API.categories.game 游戏
  • API.categories.cartoon 卡通
  • API.categories.festival 节日
  • API.categories.car 汽车
  • API.categories.food 美食
  • API.categories.sport 运动

More articles from 宋辰文

防篡改防偷窥,OS X 上发送 PGP 加密邮件

研究比特币的人一定都听说过 PGP 加密邮件通讯。传说中本聪和小伙伴们发邮件都是要用 PGP 加密的。就连这几天热门的 CZ vs OKCoin 事件里,PGP 也来参与客串了一把。

May 19th, 2015 · 1 min read

全能高效的播放器 mpv

mpv fork 自 Mplayer 和 Mplayer2,是现在唯一仍在活跃开发的 Mplayer 系的播放器,大部分原 Mplayer 社区的开发者都已经转到 mpv 的开发上了。可见 mpv 将会是未来播放器的主流了。

May 8th, 2015 · 1 min read
© 2019 宋辰文
Link to $https://mp.weixin.qq.com/s?__biz=MzAxNTI3MTUwMA==&mid=2247483701&idx=2&sn=34613cbb3252ac5eb6c31724f3109b59Link to $https://weibo.com/songchenwenLink to $https://twitter.com/songchenwenLink to $https://stackoverflow.com/users/2210682/songchenwen