aboutsummaryrefslogtreecommitdiff
path: root/src/Watcher/get_windows.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/Watcher/get_windows.py')
-rwxr-xr-xsrc/Watcher/get_windows.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/Watcher/get_windows.py b/src/Watcher/get_windows.py
new file mode 100755
index 0000000..6b1960f
--- /dev/null
+++ b/src/Watcher/get_windows.py
@@ -0,0 +1,50 @@
+import os
+import time
+
+class window:
+ def __init__(self, class_name, title_name):
+ self.class_name = class_name
+ self.title_name = title_name
+
+# get classname of app that user working on
+def active_window():
+ # running bash command and storing result as a string
+ active_window = os.popen("xdotool getwindowfocus getwindowclassname").read()
+ active_window = active_window[0:-1]
+ return active_window
+
+# get title name of app that user working on
+def active_window_title():
+ active_window_title = os.popen("xdotool getwindowfocus getwindowname").read()
+ active_window_title = active_window_title[0:-1]
+ return active_window_title
+
+# get list of opened apps in background as well as in foreground
+def opened_windows_list():
+ raw_data = os.popen('''wmctrl -lx | awk '{print $3}' ''').read()
+ raw_data_ls = raw_data.split('\n')
+ windows_list = []
+ for x in raw_data_ls:
+ last = x.rfind(".")
+ windows_list.append(x[last+1::])
+ windows_list.remove('')
+ windows_list = list(set(windows_list))
+ return windows_list
+
+# returns true if user has move to next app which is not the same as previous
+def is_window_changed(a):
+ result = False
+ while not(result):
+ time.sleep(1)
+ b = active_window()
+ if a != b :
+ result = True
+ else:
+ result = False
+ return result
+
+
+### what to do after window get change I've to append one line in csv data file in following format
+### opened-time closed-time time-spent window_class_name window_title_name
+
+### and whenever the user puts particular command it will make report till the time for that day and shows that report in terminal