Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import subprocess
- import os
- import __main__
- import i3
- import time
- #Check if already running
- def isOnlyInstance():
- return os.system("(( $(ps -ef | grep python | grep '[" + __main__.__file__[0] + "]" + __main__.__file__[1:] + "' | wc -l) > 1 ))") != 0
- #Determine nodes of selected container
- def focusedNodes():
- nodes = i3.filter(focused=True)[0]['nodes']
- for node in nodes:
- if(len(node['nodes']) > 0):
- nodes.remove(node)
- for i in node['nodes']:
- nodes.append(i)
- return nodes
- #Only one instance allowed
- if(isOnlyInstance()):
- oldNodes = []
- nodes = focusedNodes()
- #Keep running as long as more than one window in container
- while( len(nodes) > 0):
- nodes = focusedNodes()
- #Action needed when number of windows changed
- if(len(nodes) != len(oldNodes)):
- if(len(nodes) > len(oldNodes)):
- temp = [item for item in nodes if item not in oldNodes]
- for node in temp: #set opacity for all windows
- subprocess.call(['compton-trans','-w',str(node['window']),'-o', '50'])
- else:
- temp = [item for item in oldNodes if item not in nodes]
- for node in temp:
- subprocess.call(['compton-trans','-w',str(node['window']),'-o','100'])
- oldNodes = nodes
- time.sleep(.1)
- #Only one window selected, so reset to default compton profile
- subprocess.call(['compton-trans','--reset'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement