   Return, ids
 }
 
+; utility to get selected text (if any)
+GetSelectedText() {
+  temp := ClipboardAll
+  Send ^c
+  ClipWait, 0, 1
+  selection := Clipboard
+  Clipboard := temp
+  Return, selection
+}
+
 
 ; TIMEKEEPER ------------------------------------------------------------------
 

#IfWinActive ahk_class WindowsForms10.Window.8.app.0.262fb3d
  >+s::
    WinGetActiveTitle, active_title
    match_result := RegExMatch(active_title, "^Entries for")
    ; each item in the dropdown is approximately 25 pixels
    ; so item 4 (Start Timer) is 100 pixels down from the context menu
    drop_down := 100
    If(match_result > 0) {
      WinMove, 100, 100
      MouseMove, 100, 280
      Send {RButton}
      Sleep, 10 ; need to sleep to allow submenu time to come up
      MouseMove, 170, 300 + drop_down
      Send {LButton}
    }
Return


; MSOFFICE --------------------------------------------------------------------


#c::
  If(GLOBAL_DEBUG_MODE > 0) {
    ; WinGetClass, title, A
    WinGetActiveTitle, title
    MsgBox %title%    
  }
Return
