Advertisement
Guest User

Untitled

a guest
Oct 4th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. import sys
  2. import subprocess
  3. import os
  4. import __main__
  5. import i3
  6. import time
  7.  
  8. #Check if already running
  9. def isOnlyInstance():
  10. return os.system("(( $(ps -ef | grep python | grep '[" + __main__.__file__[0] + "]" + __main__.__file__[1:] + "' | wc -l) > 1 ))") != 0
  11.  
  12. #Determine nodes of selected container
  13. def focusedNodes():
  14. nodes = i3.filter(focused=True)[0]['nodes']
  15.  
  16. for node in nodes:
  17. if(len(node['nodes']) > 0):
  18. nodes.remove(node)
  19. for i in node['nodes']:
  20. nodes.append(i)
  21. return nodes
  22.  
  23. #Only one instance allowed
  24. if(isOnlyInstance()):
  25.  
  26. oldNodes = []
  27. nodes = focusedNodes()
  28.  
  29. #Keep running as long as more than one window in container
  30. while( len(nodes) > 0):
  31. nodes = focusedNodes()
  32.  
  33. #Action needed when number of windows changed
  34. if(len(nodes) != len(oldNodes)):
  35. if(len(nodes) > len(oldNodes)):
  36. temp = [item for item in nodes if item not in oldNodes]
  37. for node in temp: #set opacity for all windows
  38. subprocess.call(['compton-trans','-w',str(node['window']),'-o', '50'])
  39. else:
  40. temp = [item for item in oldNodes if item not in nodes]
  41. for node in temp:
  42. subprocess.call(['compton-trans','-w',str(node['window']),'-o','100'])
  43. oldNodes = nodes
  44. time.sleep(.1)
  45.  
  46. #Only one window selected, so reset to default compton profile
  47. subprocess.call(['compton-trans','--reset'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement