lock.md 1.9 KB

制作简易Mac OS上的伪锁屏工具

概况

背景

某天中午在锁屏的时候,想到一件有意思的事。平时我会有两种“锁屏方式”:

  • 传统的锁屏方式:command + alt + 电源,适用于长时间离开。
  • 将屏幕亮度调暗,适用于上个厕所什么的。

然后在我回来的时候,我在想如果别人都知道我的屏幕是变暗的话,那么就有意思了。。。然后我就想做个简单的工具,来Mock当前的屏幕:

  1. 一键截取当前屏幕
  2. 打开截图将设为最大化
  3. 降低屏幕亮度

接着,我就开始编写了。

步骤

Step 1:屏幕截图

在Mac OS上有一个工具screencapture,可以用于截取当前屏幕。如:

screencapture screen.png

将图片存储为screen.png,我们只需要调用Python调用系统的命令,即可:

import os

os.system("screencapture screen.png")

Step 2:调节亮度

在Mac OS上有一个工具叫brightness,可以用百分比调节屏幕的亮度,如

brightness 0

可以将屏幕的亮度调到0,即最低。所以,先安装这个工具:

brew install brightness

然后用Python的os模块,即可调用 。

Step 3:全屏图片

随后,用GTK简单的弄了个全屏图片的脚本,就完成了。


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()

最后,再写个简单的函数即可:

function ss() { 
    python "/Users/fdhuang/learing/mock-screen/main.py" 
}