Blog | Phodal - A Growth Engineerhttp://www.phodal.com/blog/2016-08-25T13:40:33.736886+00:00Blog制作简易Mac OS上的伪锁屏工具2016-08-25T13:31:11+00:002016-08-25T13:40:33.736886+00:00Phodal Huanghttp://www.phodal.com/blog/author/root/http://www.phodal.com/blog/mac-os-create-mock-screen-lock/今天中午在锁屏的时候,想到一件有意思的事。平时我会有两种“锁屏方式”:
- 传统的锁屏方式:command + alt + 电源,适用于长时间离开。
- 将屏幕亮度调暗,适用于上个厕所什么的。
然后在我回来的时候,我在想如果别人都知道我的屏幕是变暗的话,那么就有意思了。。。然后我就想做个简单的工具,来Mock当前的屏幕:
1. 一键截取当前屏幕
2. 打开截图将设为最大化
3. 降低屏幕亮度
接着,我就开始编写了。
### Mac OS Python截图
在Mac OS上有一个工具``screencapture``,可以用于截取当前屏幕。如:
```
screencapture screen.png
```
将图片存储为screen.png,我们只需要调用Python调用系统的命令,即可:
```bash
import os
os.system("screencapture screen.png")
```
### Mac OS Python调节亮度
在Mac OS上有一个工具叫``brightness``,可以用百分比调节屏幕的亮度,如
```bash
brightness 0
```
可以将屏幕的亮度调到0,即最低。所以,先安装这个工具:
```bash
brew install brightness
```
然后用Python的os模块,即可调用 。
### Mac OS Python GTK 全屏图片
随后,用GTK简单的弄了个全屏图片的脚本,就完成了。
```python
import os
import pygtk
import gtk
os.system("screencapture screen.png")
os.system("brightness 0")
win = gtk.Window()
im = gtk.Image()
pixbuf = gtk.gdk.pixbuf_new_from_file("screen.png")
scaled_buf = pixbuf.scale_simple(1440,900,gtk.gdk.INTERP_BILINEAR)
im.set_from_pixbuf(scaled_buf)
im.show()
vbox = gtk.VBox()
vbox.pack_start (im)
win.add(vbox)
win.fullscreen()
win.show_all()
win.set_keep_above(True);
gtk.main()
```
最后,再写个简单的函数即可:
```bash
function ss() {
python "/Users/fdhuang/learing/mock-screen/main.py"
}
```