movewin.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/usr/bin/python3
  2. import os
  3. import sys
  4. import time
  5. import psutil
  6. # python3 movewin.py window-title x y
  7. # python3 movewin.py COMMA 723 943
  8. def winfo(name="WinfoWinName"):
  9. search = name
  10. cmd = "xwininfo -root -children -all | grep '{}'"
  11. cmd = cmd.format(search)
  12. print(cmd)
  13. r = os.popen(cmd)
  14. lines = r.readlines()
  15. _id = [] #"xxxx"
  16. if lines and lines[0]:
  17. _id.append( lines[0].split()[0] )
  18. print("ID:",_id)
  19. for line in lines:
  20. line = line.strip()
  21. print("-",line)
  22. return _id
  23. def movewin(_id="0xWinId",x=None,y=None):
  24. cmd="xdotool windowmove {} {} {}".format(_id,x,y)
  25. return cmd
  26. def sizewin(_id="0xWinId",x=None,y=None):
  27. cmd="xdotool windowsize {} {} {}".format(_id,x,y)
  28. return cmd
  29. def activate(_id="0xWinId"):
  30. cmd="xdotool windowactivate {}".format(_id)
  31. return cmd
  32. def system(cmd):
  33. print(cmd)
  34. os.system(cmd)
  35. def search_process(_file_path):
  36. print("search_process",_file_path)
  37. pids = psutil.pids()
  38. count = 0
  39. for pid in pids:
  40. p = psutil.Process(pid)
  41. ps = p.cmdline()
  42. if len(ps) < 2:
  43. continue
  44. if "python" not in ps[0]:
  45. continue
  46. #print(" ",[ps[1]])
  47. if str(_file_path) == str(ps[1]):
  48. print(ps)
  49. count += 1
  50. print("search_process",count)
  51. return count
  52. if __name__ == "__main__":
  53. print("# python3 movewin.py window-title x y")
  54. print("# python3 movewin.py COMMA 723 943")
  55. import random
  56. a=random.randint(100,400)
  57. b=random.randint(100,400)
  58. search = "ASD"
  59. try:
  60. search = sys.argv[1]
  61. search = search.replace("'","")
  62. except:pass
  63. try:
  64. a = sys.argv[2]
  65. except:pass
  66. try:
  67. b = sys.argv[3]
  68. except:pass
  69. _ids = winfo(search)
  70. for _id in _ids:
  71. c1 = sizewin(_id,a,b)
  72. c2 = movewin(_id,a,b)
  73. c3 = activate(_id)
  74. system(c1)
  75. time.sleep(0.1)
  76. system(c2)
  77. time.sleep(0.1)
  78. system(c3)