Advertisement
Guest User

Untitled

a guest
Apr 30th, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.99 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import os, sys
  3.  
  4. # получаем PID указанного окна
  5. pid = os.popen('xprop -notype _NET_WM_PID').read().split(' = ')[1].strip()
  6.  
  7. # узнаем статус этого PID c помощью ps
  8. # user      4768 50.0  2.0 575392 167484 pts/0   S    18:11  19:32 /home/user/bin/jackhammer/jackhammer
  9. parts = os.popen('ps -up {}'.format(pid)).read().split('\n')[1].split(' ')
  10. parts = [p.strip() for p in parts if p.strip()]
  11.  
  12. # ['user', '1306', '0.0', '0.5', '595328', '42912', 'tty1', 'Sl', '17:49', '0:02', 'python2', '/usr/bin/guake']
  13. # T – Stopped, either by a job control signal or because it is being traced.
  14. status = parts[7]
  15.  
  16. if 'T' in status.upper():
  17.     signal = 18 # start
  18.     msg = 'process {} started'.format(pid)
  19. else:
  20.     signal = 19 # freeze
  21.     msg = 'process {} freezed'.format(pid)
  22.  
  23. # шлем сигнал
  24. os.system('kill -{} {}'.format(signal, pid))
  25. # показываем уведомление
  26. os.system('notify-send -t 2000 "{}"'.format(msg))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement