#!/usr/bin/env python3 from argparse import ArgumentParser from subprocess import call import i3ipc i3 = i3ipc.Connection() parser = ArgumentParser(prog='disable-standby-fs', description=''' Disable standby (dpms) and screensaver when a window becomes fullscreen or exits fullscreen-mode. Requires `xorg-xset`. ''') args = parser.parse_args() def on_fullscreen_mode(i3, e): if e.container.props.fullscreen_mode: call(['xautolock', '-disable']) print("disabling autolock") else: call(['xautolock', '-enable']) print("enabling autolock") def on_window_close(i3, e): if e.container.props.fullscreen_mode: call(['xautolock', '-enable']) print("enabling autolock") i3.on('window::fullscreen_mode', on_fullscreen_mode) i3.on('window::close', on_window_close) i3.main()