Class: Durt::UpworkTracker

Inherits:
TimeTracker show all
Defined in:
lib/durt/upwork_tracker.rb

Class Method Summary collapse

Methods inherited from TimeTracker

active?

Class Method Details

.close_edit_memoObject



27
28
29
30
31
# File 'lib/durt/upwork_tracker.rb', line 27

def self.close_edit_memo
  `xdotool key ctrl+alt+t`
  `xdotool key super+7`
  sleep(1)
end

.edit_memo(issue) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/durt/upwork_tracker.rb', line 15

def self.edit_memo(issue)
  `xdotool key ctrl+shift+BackSpace`

  `xdotool type '#{issue}'`
  sleep(0.5)

  `xdotool key Tab`
  `xdotool key Tab`
  `xdotool key Return`
  sleep(0.5)
end

.enter(issue) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/durt/upwork_tracker.rb', line 33

def self.enter(issue)
  open_edit_memo
  edit_memo(issue)
  close_edit_memo

  stop
end

.open_edit_memoObject



7
8
9
10
11
12
13
# File 'lib/durt/upwork_tracker.rb', line 7

def self.open_edit_memo
  `xdotool key super+7`

  reset_workspace

  `xdotool key ctrl+alt+e`
end

.reset_workspaceObject

private



81
82
83
84
85
86
# File 'lib/durt/upwork_tracker.rb', line 81

def self.reset_workspace
  # Ensure that the time tracking window moves to current workspace
  `xdotool key ctrl+alt+t`
  `xdotool key ctrl+alt+t`
  sleep(0.5)
end

.startObject



41
42
43
# File 'lib/durt/upwork_tracker.rb', line 41

def self.start
  `xdotool key ctrl+alt+0x005D`
end

.stopObject



45
46
47
# File 'lib/durt/upwork_tracker.rb', line 45

def self.stop
  `xdotool key ctrl+alt+0x005B`
end

.switch_project(project) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/durt/upwork_tracker.rb', line 49

def self.switch_project(project)
  open_edit_memo

  `xdotool key Escape`
  sleep(0.5)

  toggle_fullscreen

  `xdotool mousemove --sync 400 50 click 1`
  sleep(0.5)

  `xdotool key Tab`
  sleep(0.5)

  `xdotool type #{project.name}`
  sleep(0.5)

  `xdotool mousemove --sync 400 150 click 1`
  sleep(0.5)

  toggle_fullscreen

  close_edit_memo
end

.toggle_fullscreenObject



74
75
76
77
# File 'lib/durt/upwork_tracker.rb', line 74

def self.toggle_fullscreen
  `xdotool key super+f`
  sleep(0.5)
end