ok-script 0.0.154__tar.gz → 0.0.155__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. {ok-script-0.0.154/ok_script.egg-info → ok-script-0.0.155}/PKG-INFO +4 -2
  2. {ok-script-0.0.154 → ok-script-0.0.155}/README.md +3 -1
  3. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/MainWindow.py +3 -1
  4. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/StartController.py +3 -1
  5. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/resources.py +224 -223
  6. {ok-script-0.0.154 → ok-script-0.0.155}/ok/interaction/PyDirectInteraction.py +10 -4
  7. {ok-script-0.0.154 → ok-script-0.0.155/ok_script.egg-info}/PKG-INFO +4 -2
  8. {ok-script-0.0.154 → ok-script-0.0.155}/setup.py +1 -1
  9. {ok-script-0.0.154 → ok-script-0.0.155}/LICENSE.txt +0 -0
  10. {ok-script-0.0.154 → ok-script-0.0.155}/ok/OK.py +0 -0
  11. {ok-script-0.0.154 → ok-script-0.0.155}/ok/__init__.py +0 -0
  12. {ok-script-0.0.154 → ok-script-0.0.155}/ok/alas/__init__.py +0 -0
  13. {ok-script-0.0.154 → ok-script-0.0.155}/ok/alas/emulator_base.py +0 -0
  14. {ok-script-0.0.154 → ok-script-0.0.155}/ok/alas/emulator_windows.py +0 -0
  15. {ok-script-0.0.154 → ok-script-0.0.155}/ok/alas/platform_base.py +0 -0
  16. {ok-script-0.0.154 → ok-script-0.0.155}/ok/alas/platform_windows.py +0 -0
  17. {ok-script-0.0.154 → ok-script-0.0.155}/ok/alas/utils.py +0 -0
  18. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/BaseCaptureMethod.py +0 -0
  19. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/HwndWindow.py +0 -0
  20. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/__init__.py +0 -0
  21. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/adb/ADBCaptureMethod.py +0 -0
  22. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/adb/DeviceManager.py +0 -0
  23. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/adb/WindowsCaptureFactory.py +0 -0
  24. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/adb/__init__.py +0 -0
  25. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/adb/bin/__init__.py +0 -0
  26. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/image/ImageCaptureMethod.py +0 -0
  27. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/image/__init__.py +0 -0
  28. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/BaseWindowsCaptureMethod.py +0 -0
  29. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/BitBltCaptureMethod.py +0 -0
  30. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/DesktopDuplicationCaptureMethod.py +0 -0
  31. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/WindowsGraphicsCaptureMethod.py +0 -0
  32. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/__init__.py +0 -0
  33. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/d3d11.py +0 -0
  34. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/dump.py +0 -0
  35. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/utils.py +0 -0
  36. {ok-script-0.0.154 → ok-script-0.0.155}/ok/capture/windows/window.py +0 -0
  37. {ok-script-0.0.154 → ok-script-0.0.155}/ok/color/Color.py +0 -0
  38. {ok-script-0.0.154 → ok-script-0.0.155}/ok/color/__init__.py +0 -0
  39. {ok-script-0.0.154 → ok-script-0.0.155}/ok/config/Config.py +0 -0
  40. {ok-script-0.0.154 → ok-script-0.0.155}/ok/config/ConfigOption.py +0 -0
  41. {ok-script-0.0.154 → ok-script-0.0.155}/ok/config/GlobalConfig.py +0 -0
  42. {ok-script-0.0.154 → ok-script-0.0.155}/ok/config/InfoDict.py +0 -0
  43. {ok-script-0.0.154 → ok-script-0.0.155}/ok/config/__init__.py +0 -0
  44. {ok-script-0.0.154 → ok-script-0.0.155}/ok/display/__init__.py +0 -0
  45. {ok-script-0.0.154 → ok-script-0.0.155}/ok/display/custom_types.py +0 -0
  46. {ok-script-0.0.154 → ok-script-0.0.155}/ok/display/display.py +0 -0
  47. {ok-script-0.0.154 → ok-script-0.0.155}/ok/display/display_adapters.py +0 -0
  48. {ok-script-0.0.154 → ok-script-0.0.155}/ok/display/display_monitors.py +0 -0
  49. {ok-script-0.0.154 → ok-script-0.0.155}/ok/display/windows_types.py +0 -0
  50. {ok-script-0.0.154 → ok-script-0.0.155}/ok/feature/Box.py +0 -0
  51. {ok-script-0.0.154 → ok-script-0.0.155}/ok/feature/CompressCoco.py +0 -0
  52. {ok-script-0.0.154 → ok-script-0.0.155}/ok/feature/Feature.py +0 -0
  53. {ok-script-0.0.154 → ok-script-0.0.155}/ok/feature/FeatureSet.py +0 -0
  54. {ok-script-0.0.154 → ok-script-0.0.155}/ok/feature/FindFeature.py +0 -0
  55. {ok-script-0.0.154 → ok-script-0.0.155}/ok/feature/__init__.py +0 -0
  56. {ok-script-0.0.154 → ok-script-0.0.155}/ok/firebase/Analytics.py +0 -0
  57. {ok-script-0.0.154 → ok-script-0.0.155}/ok/firebase/__init__.py +0 -0
  58. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/App.py +0 -0
  59. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/Communicate.py +0 -0
  60. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/MessageWindow.py +0 -0
  61. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/TabTitles.py +0 -0
  62. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/__init__.py +0 -0
  63. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/about/AboutTab.py +0 -0
  64. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/about/HttpTextEdit.py +0 -0
  65. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/about/VersionCard.py +0 -0
  66. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/about/__init__.py +0 -0
  67. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/common/OKIcon.py +0 -0
  68. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/common/__init__.py +0 -0
  69. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/common/config.py +0 -0
  70. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/common/style_sheet.py +0 -0
  71. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/config/AppConfigWidget.py +0 -0
  72. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/config/__init__.py +0 -0
  73. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/AspectRatioWidget.py +0 -0
  74. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/DebugTab.py +0 -0
  75. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/FrameWidget.py +0 -0
  76. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/InfoWidget.py +0 -0
  77. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/LogWindow.py +0 -0
  78. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/Screenshot.py +0 -0
  79. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/debug/__init__.py +0 -0
  80. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/i18n/GettextTranslator.py +0 -0
  81. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/i18n/__init__.py +0 -0
  82. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/i18n/path.py +0 -0
  83. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/i18n/update.py +0 -0
  84. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/icon/__init__.py +0 -0
  85. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/icon/icon.py +0 -0
  86. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/overlay/OverlayWindow.py +0 -0
  87. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/overlay/__init__.py +0 -0
  88. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/qss/__init__.py +0 -0
  89. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/settings/GlobalConfigCard.py +0 -0
  90. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/settings/SettingTab.py +0 -0
  91. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/settings/__init__.py +0 -0
  92. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/start/SelectCaptureListView.py +0 -0
  93. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/start/StartCard.py +0 -0
  94. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/start/StartTab.py +0 -0
  95. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/start/__init__.py +0 -0
  96. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/ConfigCard.py +0 -0
  97. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/ConfigItemFactory.py +0 -0
  98. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/ConfigLabelAndWidget.py +0 -0
  99. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndDoubleSpinBox.py +0 -0
  100. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndDropDown.py +0 -0
  101. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndLineEdit.py +0 -0
  102. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndList.py +0 -0
  103. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndSpinBox.py +0 -0
  104. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndSwitchButton.py +0 -0
  105. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/LabelAndWidget.py +0 -0
  106. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/ModifyListDialog.py +0 -0
  107. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/ModifyListItem.py +0 -0
  108. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/OneTimeTaskTab.py +0 -0
  109. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/StartButton.py +0 -0
  110. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/TaskCard.py +0 -0
  111. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/TaskOpButton.py +0 -0
  112. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/TaskTab.py +0 -0
  113. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/TooltipTableWidget.py +0 -0
  114. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/TriggerTaskTab.py +0 -0
  115. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/tasks/__init__.py +0 -0
  116. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/util/Alert.py +0 -0
  117. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/util/InitWorker.py +0 -0
  118. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/util/__init__.py +0 -0
  119. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/Card.py +0 -0
  120. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/EmptyCard.py +0 -0
  121. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/FramelessDialog.py +0 -0
  122. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/ListTableWidgetItem.py +0 -0
  123. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/NumericTableWidgetItem.py +0 -0
  124. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/StartLoadingDialog.py +0 -0
  125. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/StatusBar.py +0 -0
  126. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/Tab.py +0 -0
  127. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/TabWidget.py +0 -0
  128. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/UpdateConfigWidgetItem.py +0 -0
  129. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/YesNonWidgetItem.py +0 -0
  130. {ok-script-0.0.154 → ok-script-0.0.155}/ok/gui/widget/__init__.py +0 -0
  131. {ok-script-0.0.154 → ok-script-0.0.155}/ok/interaction/ADBInteraction.py +0 -0
  132. {ok-script-0.0.154 → ok-script-0.0.155}/ok/interaction/BaseInteraction.py +0 -0
  133. {ok-script-0.0.154 → ok-script-0.0.155}/ok/interaction/DoNothingInteraction.py +0 -0
  134. {ok-script-0.0.154 → ok-script-0.0.155}/ok/interaction/PostMessageInteraction.py +0 -0
  135. {ok-script-0.0.154 → ok-script-0.0.155}/ok/interaction/__init__.py +0 -0
  136. {ok-script-0.0.154 → ok-script-0.0.155}/ok/logging/Logger.py +0 -0
  137. {ok-script-0.0.154 → ok-script-0.0.155}/ok/logging/__init__.py +0 -0
  138. {ok-script-0.0.154 → ok-script-0.0.155}/ok/ocr/OCR.py +0 -0
  139. {ok-script-0.0.154 → ok-script-0.0.155}/ok/ocr/__init__.py +0 -0
  140. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Foundation/Collections.py +0 -0
  141. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Foundation/__init__.py +0 -0
  142. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Globalization/__init__.py +0 -0
  143. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Graphics/Capture/__init__.py +0 -0
  144. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py +0 -0
  145. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Graphics/DirectX/__init__.py +0 -0
  146. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Graphics/Imaging/__init__.py +0 -0
  147. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Graphics/__init__.py +0 -0
  148. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Media/Ocr/__init__.py +0 -0
  149. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Media/__init__.py +0 -0
  150. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Security/Cryptography/__init__.py +0 -0
  151. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Security/__init__.py +0 -0
  152. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Storage/Streams/__init__.py +0 -0
  153. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/Storage/__init__.py +0 -0
  154. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/Windows/__init__.py +0 -0
  155. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/__init__.py +0 -0
  156. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/delegate.py +0 -0
  157. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/export.py +0 -0
  158. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/idldsl.py +0 -0
  159. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/inspectable.py +0 -0
  160. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/roapi.py +0 -0
  161. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/types.py +0 -0
  162. {ok-script-0.0.154 → ok-script-0.0.155}/ok/rotypes/winstring.py +0 -0
  163. {ok-script-0.0.154 → ok-script-0.0.155}/ok/save/BlackBarProcessor.py +0 -0
  164. {ok-script-0.0.154 → ok-script-0.0.155}/ok/save/PostProcessor.py +0 -0
  165. {ok-script-0.0.154 → ok-script-0.0.155}/ok/save/SaveByInterval.py +0 -0
  166. {ok-script-0.0.154 → ok-script-0.0.155}/ok/save/SaveByKeyPress.py +0 -0
  167. {ok-script-0.0.154 → ok-script-0.0.155}/ok/save/SaveMethodBase.py +0 -0
  168. {ok-script-0.0.154 → ok-script-0.0.155}/ok/save/__init__.py +0 -0
  169. {ok-script-0.0.154 → ok-script-0.0.155}/ok/scene/FeatureScene.py +0 -0
  170. {ok-script-0.0.154 → ok-script-0.0.155}/ok/scene/Scene.py +0 -0
  171. {ok-script-0.0.154 → ok-script-0.0.155}/ok/scene/__init__.py +0 -0
  172. {ok-script-0.0.154 → ok-script-0.0.155}/ok/stats/StreamStats.py +0 -0
  173. {ok-script-0.0.154 → ok-script-0.0.155}/ok/stats/__init__.py +0 -0
  174. {ok-script-0.0.154 → ok-script-0.0.155}/ok/task/BaseTask.py +0 -0
  175. {ok-script-0.0.154 → ok-script-0.0.155}/ok/task/ExecutorOperation.py +0 -0
  176. {ok-script-0.0.154 → ok-script-0.0.155}/ok/task/TaskExecutor.py +0 -0
  177. {ok-script-0.0.154 → ok-script-0.0.155}/ok/task/TriggerTask.py +0 -0
  178. {ok-script-0.0.154 → ok-script-0.0.155}/ok/task/__init__.py +0 -0
  179. {ok-script-0.0.154 → ok-script-0.0.155}/ok/update/GithubMultiDownloader.py +0 -0
  180. {ok-script-0.0.154 → ok-script-0.0.155}/ok/update/Updater.py +0 -0
  181. {ok-script-0.0.154 → ok-script-0.0.155}/ok/update/__init__.py +0 -0
  182. {ok-script-0.0.154 → ok-script-0.0.155}/ok/update/gen_md5.py +0 -0
  183. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/Handler.py +0 -0
  184. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/__init__.py +0 -0
  185. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/exit_event.py +0 -0
  186. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/json.py +0 -0
  187. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/list.py +0 -0
  188. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/path.py +0 -0
  189. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/thread.py +0 -0
  190. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/win32_process.py +0 -0
  191. {ok-script-0.0.154 → ok-script-0.0.155}/ok/util/yaml.py +0 -0
  192. {ok-script-0.0.154 → ok-script-0.0.155}/ok_script.egg-info/SOURCES.txt +0 -0
  193. {ok-script-0.0.154 → ok-script-0.0.155}/ok_script.egg-info/dependency_links.txt +0 -0
  194. {ok-script-0.0.154 → ok-script-0.0.155}/ok_script.egg-info/requires.txt +0 -0
  195. {ok-script-0.0.154 → ok-script-0.0.155}/ok_script.egg-info/top_level.txt +0 -0
  196. {ok-script-0.0.154 → ok-script-0.0.155}/setup.cfg +0 -0
  197. {ok-script-0.0.154 → ok-script-0.0.155}/tests/__init__.py +0 -0
  198. {ok-script-0.0.154 → ok-script-0.0.155}/tests/test_updater.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ok-script
3
- Version: 0.0.154
3
+ Version: 0.0.155
4
4
  Summary: Automation with Computer Vision for Python
5
5
  Home-page: https://github.com/ok-oldking/ok-script
6
6
  Author: ok-oldking
@@ -44,5 +44,7 @@ Requires-Dist: wmi>=1.5.1
44
44
 
45
45
  自动战斗, 自动刷声骸, 跳过剧情等[ok-ww](https://github.com/ok-oldking/ok-wuthering-waves)
46
46
 
47
- ## Tasks
47
+ ## 使用
48
+
49
+ 由于目前没有文档以及修改比较频繁, 推荐fork一个版本, 然后把ok-script的ok目录, 软连接到你项目的ok目录进行使用
48
50
 
@@ -17,5 +17,7 @@
17
17
 
18
18
  自动战斗, 自动刷声骸, 跳过剧情等[ok-ww](https://github.com/ok-oldking/ok-wuthering-waves)
19
19
 
20
- ## Tasks
20
+ ## 使用
21
+
22
+ 由于目前没有文档以及修改比较频繁, 推荐fork一个版本, 然后把ok-script的ok目录, 软连接到你项目的ok目录进行使用
21
23
 
@@ -139,8 +139,10 @@ class MainWindow(MSFluentWindow):
139
139
  duration=5000, # won't disappear automatically
140
140
  parent=self.window()
141
141
  )
142
+
142
143
  if tray:
143
- self.tray.showMessage(title, message)
144
+ self.tray.showMessage(title, message, QSystemTrayIcon.Critical if error else QSystemTrayIcon.Information,
145
+ 5000)
144
146
 
145
147
  def capture_error(self):
146
148
  self.show_notification(self.tr('Please check whether the game window is selected correctly!'),
@@ -6,6 +6,7 @@ import ok.gui
6
6
  from ok.alas.platform_windows import execute
7
7
  from ok.capture.windows.BaseWindowsCaptureMethod import BaseWindowsCaptureMethod
8
8
  from ok.gui.Communicate import communicate
9
+ from ok.gui.util.Alert import alert_error
9
10
  from ok.interaction.PyDirectInteraction import is_admin
10
11
  from ok.logging.Logger import get_logger
11
12
  from ok.util.Handler import Handler
@@ -84,7 +85,8 @@ class StartController(QObject):
84
85
  return self.tr(f'Windows night light is enabled, please turn it off first.')
85
86
  from ok.display.display import is_hdr_enabled
86
87
  if is_hdr_enabled():
87
- return self.tr(f'Windows HDR is enabled, please turn it off first.')
88
+ alert_error(self.tr('Windows HDR is enabled, tasks might not work correctly!'), True)
89
+ # return self.tr(f'Windows HDR is enabled, please turn it off first.')
88
90
  if not ok.gui.device_manager.capture_method.hwnd_window.pos_valid:
89
91
  return self.tr(f'Game window is minimized or out of screen, please restore it first!')
90
92
  frame = self.try_capture_a_frame()
@@ -6,80 +6,80 @@
6
6
  from PySide6 import QtCore
7
7
 
8
8
  qt_resource_data = b"\
9
- \x00\x00)B\
9
+ \x00\x00)T\
10
10
  <\
11
11
  \xb8d\x18\xca\xef\x9c\x95\xcd!\x1c\xbf`\xa1\xbd\xdd\xa7\
12
12
  \x00\x00\x00\x05zh_CNB\x00\x00\x04X\x00\x00\
13
- \x05C\x00\x00\x1d4\x00\x00\x05O\x00\x00\x07L\x00\x00\
13
+ \x05C\x00\x00\x1dF\x00\x00\x05O\x00\x00\x07L\x00\x00\
14
14
  G\xa4\x00\x00\x01\x04\x00\x00G\xa4\x00\x00\x0a\xb2\x00\x00\
15
15
  _\xc3\x00\x00\x07y\x00\x04\x98,\x00\x00\x02K\x00\x04\
16
16
  \xa8\x8b\x00\x00\x01\x92\x00\x04\xa8\x8b\x00\x00\x0e\xae\x00\x04\
17
17
  \xb8w\x00\x00\x07\xce\x00\x04\xcf\x04\x00\x00\x08\xd2\x00\x05\
18
- \x04\xcf\x00\x00\x1f\xf3\x00\x05\x04\xcf\x00\x00\x22y\x00\x05\
19
- \xab`\x00\x00\x1e\xee\x00\x0bN\x8e\x00\x00\x1b\x02\x00\x16\
18
+ \x04\xcf\x00\x00 \x05\x00\x05\x04\xcf\x00\x00\x22\x8b\x00\x05\
19
+ \xab`\x00\x00\x1f\x00\x00\x0bN\x8e\x00\x00\x1b\x14\x00\x16\
20
20
  \xad\x8d\x00\x00\x05\xa0\x00\x19\xe3\xb1\x00\x00\x16U\x00+\
21
21
  d\x91\x00\x00\x10\xe7\x00=G\xa5\x00\x00\x0f\x5c\x00G\
22
22
  \x96\xc4\x00\x00\x07\xf4\x00J6\x95\x00\x00\x07\xa7\x00J\
23
- \xb9\xb7\x00\x00\x08~\x00J\xb9\xb7\x00\x00!\x9d\x00L\
24
- \x99b\x00\x00\x08\xaa\x00L\x99b\x00\x00\x1d\xb0\x00L\
25
- \x99b\x00\x00$\x16\x00R\xfd\xf4\x00\x00\x01\xbe\x00R\
23
+ \xb9\xb7\x00\x00\x08~\x00J\xb9\xb7\x00\x00!\xaf\x00L\
24
+ \x99b\x00\x00\x08\xaa\x00L\x99b\x00\x00\x1d\xc2\x00L\
25
+ \x99b\x00\x00$(\x00R\xfd\xf4\x00\x00\x01\xbe\x00R\
26
26
  \xfd\xf4\x00\x00\x0f\x00\x00V\x8c\x95\x00\x00\x10\xc0\x00V\
27
- \x8c\x95\x00\x00\x1er\x00Z\x8a#\x00\x00\x0a.\x00Z\
28
- \xa8\x94\x00\x00\x11z\x00Z\xa8\x94\x00\x00\x1e\xc5\x00Z\
29
- \xec5\x00\x00\x01\xeb\x00\x5c\x83\xb5\x00\x00 @\x00}\
27
+ \x8c\x95\x00\x00\x1e\x84\x00Z\x8a#\x00\x00\x0a.\x00Z\
28
+ \xa8\x94\x00\x00\x11z\x00Z\xa8\x94\x00\x00\x1e\xd7\x00Z\
29
+ \xec5\x00\x00\x01\xeb\x00\x5c\x83\xb5\x00\x00 R\x00}\
30
30
  \x9e\x01\x00\x00\x14\xf4\x00\x81(i\x00\x00\x0c*\x00\x97\
31
- \x96\x04\x00\x00\x1f\x16\x00\xaf\x88w\x00\x00\x00/\x01\x10\
31
+ \x96\x04\x00\x00\x1f(\x00\xaf\x88w\x00\x00\x00/\x01\x10\
32
32
  \xaa^\x00\x00\x09\xf9\x01*\xd0\x97\x00\x00\x02\x18\x01L\
33
- \x05#\x00\x00!&\x01\xaa\xde>\x00\x00$7\x01\xb8\
33
+ \x05#\x00\x00!8\x01\xaa\xde>\x00\x00$I\x01\xb8\
34
34
  \x13D\x00\x00\x07\x04\x01\xe7\xf5T\x00\x00\x0eW\x01\xfb\
35
- 0\xd4\x00\x00\x1c\xda\x02\x15\x14\xee\x00\x00\x1a}\x02;\
36
- \xe2\x87\x00\x00#\xad\x03P\xba\x9e\x00\x00\x08\xf9\x03v\
37
- \xe01\x00\x00\x15f\x04\x14S\xf5\x00\x00\x02\xd7\x04L\
38
- \xedM\x00\x00#O\x04lu\x90\x00\x00\x0b\x9e\x04\x8f\
39
- \x07Y\x00\x00\x0c\xca\x04\x94\xa8\x84\x00\x00\x15\xdc\x04\x98\
40
- I\xbc\x00\x00\x011\x04\x98I\xbc\x00\x00\x0a\xde\x04\xc2\
41
- \x8f\xa2\x00\x00\x1d\x09\x04\xc4y%\x00\x00\x1f\x97\x04\xe6\
42
- \xf1\xdf\x00\x00 c\x04\xedY\xc4\x00\x00\x05\x06\x05E\
43
- \xaf\xd9\x00\x00\x0b=\x05E\xaf\xd9\x00\x00\x0b\xfd\x05K\
44
- \xe0\xd4\x00\x00\x1c\xae\x05\x8cF\xc5\x00\x00\x0b\xce\x05\x8c\
45
- \xac5\x00\x00\x1e\x9b\x05\x93\xca\x17\x00\x00\x0dU\x06\x09\
46
- \xcd\xf4\x00\x00\x19\xcc\x06.\x8e)\x00\x00\x17\x83\x06\xb0\
47
- \xbe\xae\x00\x00\x00\xd3\x06\xe8\xc3G\x00\x00\x14\x90\x07\x0c\
48
- HY\x00\x00\x06_\x07\x11\x5c$\x00\x00\x04\xb3\x07h\
49
- \x80$\x00\x00\x02p\x07\x85\x93\xd1\x00\x00 \xe3\x07\xb7\
50
- U\xe4\x00\x00\x12<\x07\xdf\x0e\xf3\x00\x00\x04s\x08=\
51
- \xe1s\x00\x00\x0d\x92\x08E=\x0e\x00\x00\x00\x00\x08K\
52
- \x95\xb4\x00\x00\x1c\x1f\x08N\xb2\xf5\x00\x00\x0e\xd5\x08n\
53
- \xd9n\x00\x00\x1b\x97\x08\x81(\x11\x00\x00\x19>\x08\x96\
54
- \x1e\x8c\x00\x00\x10K\x08\xa2\x93\xc7\x00\x00#\x1d\x08\xb4\
55
- \xac\x0e\x00\x00\x12\x88\x08\xbd\x8c\xc8\x00\x00\x1dY\x08\xc2\
56
- \xb8\xc5\x00\x00\x09\xa2\x08\xc2\xb8\xc5\x00\x00\x22\xa1\x08\xcc\
57
- e\x97\x00\x00\x1d\x81\x08\xfd\xd9#\x00\x00\x0aV\x09\x16\
58
- (\xb1\x00\x00\x18\x96\x090\x8f%\x00\x00!\xc8\x09a\
59
- ~\xb5\x00\x00\x11\xa1\x09\x87\xbc\xc5\x00\x00\x08\x1c\x09\x9c\
60
- u\xa3\x00\x00\x06(\x09\xc5P\x17\x00\x00\x11O\x09\xc5\
61
- P\x17\x00\x00 \x17\x09\xd1\x8d\xf1\x00\x00\x1a<\x09\xde\
62
- \xd1\x8d\x00\x00\x13\x1b\x0a\x10d-\x00\x00\x06\xa5\x0aa\
63
- \x13>\x00\x00\x16\xe6\x0aa\x13>\x00\x00\x1d\xd9\x0ad\
35
+ 0\xd4\x00\x00\x1c\xec\x02;\xe2\x87\x00\x00#\xbf\x03P\
36
+ \xba\x9e\x00\x00\x08\xf9\x03v\xe01\x00\x00\x15f\x04\x14\
37
+ S\xf5\x00\x00\x02\xd7\x04L\xedM\x00\x00#a\x04l\
38
+ u\x90\x00\x00\x0b\x9e\x04\x8f\x07Y\x00\x00\x0c\xca\x04\x94\
39
+ \xa8\x84\x00\x00\x15\xdc\x04\x98I\xbc\x00\x00\x011\x04\x98\
40
+ I\xbc\x00\x00\x0a\xde\x04\xc2\x8f\xa2\x00\x00\x1d\x1b\x04\xc4\
41
+ y%\x00\x00\x1f\xa9\x04\xe6\xf1\xdf\x00\x00 u\x04\xed\
42
+ Y\xc4\x00\x00\x05\x06\x05E\xaf\xd9\x00\x00\x0b=\x05E\
43
+ \xaf\xd9\x00\x00\x0b\xfd\x05K\xe0\xd4\x00\x00\x1c\xc0\x05\x8c\
44
+ F\xc5\x00\x00\x0b\xce\x05\x8c\xac5\x00\x00\x1e\xad\x05\x93\
45
+ \xca\x17\x00\x00\x0dU\x06\x09\xcd\xf4\x00\x00\x19\xcc\x06.\
46
+ \x8e)\x00\x00\x17\x83\x06\xb0\xbe\xae\x00\x00\x00\xd3\x06\xe8\
47
+ \xc3G\x00\x00\x14\x90\x07\x0cHY\x00\x00\x06_\x07\x11\
48
+ \x5c$\x00\x00\x04\xb3\x07h\x80$\x00\x00\x02p\x07\x85\
49
+ \x93\xd1\x00\x00 \xf5\x07\xb7U\xe4\x00\x00\x12<\x07\xdf\
50
+ \x0e\xf3\x00\x00\x04s\x08=\xe1s\x00\x00\x0d\x92\x08E\
51
+ =\x0e\x00\x00\x00\x00\x08K\x95\xb4\x00\x00\x1c1\x08N\
52
+ \xb2\xf5\x00\x00\x0e\xd5\x08n\xd9n\x00\x00\x1b\xa9\x08\x81\
53
+ (\x11\x00\x00\x19>\x08\x96\x1e\x8c\x00\x00\x10K\x08\xa2\
54
+ \x93\xc7\x00\x00#/\x08\xb4\xac\x0e\x00\x00\x12\x88\x08\xbd\
55
+ \x8c\xc8\x00\x00\x1dk\x08\xc2\xb8\xc5\x00\x00\x09\xa2\x08\xc2\
56
+ \xb8\xc5\x00\x00\x22\xb3\x08\xcce\x97\x00\x00\x1d\x93\x08\xfd\
57
+ \xd9#\x00\x00\x0aV\x09\x16(\xb1\x00\x00\x18\x96\x090\
58
+ \x8f%\x00\x00!\xda\x09a~\xb5\x00\x00\x11\xa1\x09\x87\
59
+ \xbc\xc5\x00\x00\x08\x1c\x09\x9cu\xa3\x00\x00\x06(\x09\xc5\
60
+ P\x17\x00\x00\x11O\x09\xc5P\x17\x00\x00 )\x09\xd1\
61
+ \x8d\xf1\x00\x00\x1a<\x09\xde\xd1\x8d\x00\x00\x13\x1b\x0a\x10\
62
+ d-\x00\x00\x06\xa5\x0aK\xb7A\x00\x00\x1a}\x0aa\
63
+ \x13>\x00\x00\x16\xe6\x0aa\x13>\x00\x00\x1d\xeb\x0ad\
64
64
  \xd0\xcd\x00\x00\x01a\x0ad\xd0\xcd\x00\x00\x0a\x85\x0ad\
65
65
  \xd0\xcd\x00\x00\x0b\x0d\x0a\x9a\xaaZ\x00\x00\x00d\x0a\xae\
66
66
  \xbe\xae\x00\x00\x0f(\x0a\xd8\xc4\x11\x00\x00\x18S\x0a\xe7\
67
- \x93\x14\x00\x00\x10|\x0b\x09ye\x00\x00\x1fk\x0b0\
67
+ \x93\x14\x00\x00\x10|\x0b\x09ye\x00\x00\x1f}\x0b0\
68
68
  8\xf9\x00\x00\x03\xff\x0bc\xe2\x94\x00\x00\x14\x19\x0b\x91\
69
69
  \x1f\xcc\x00\x00\x03\x92\x0b\x9e\x96Y\x00\x00\x0f\xa2\x0b\xbd\
70
- \xf2c\x00\x00!a\x0b\xe3\xea\x81\x00\x00\x22\xce\x0c\x05\
71
- \x83\x83\x00\x00\x05\xf4\x0c*$W\x00\x00\x1c|\x0c*\
72
- $W\x00\x00\x1f\xc2\x0c+\x1a\xc5\x00\x00\x11\xd1\x0cG\
73
- \x92\xf4\x00\x00\x1fA\x0cZ\xcf\x1d\x00\x00\x05B\x0cu\
70
+ \xf2c\x00\x00!s\x0b\xe3\xea\x81\x00\x00\x22\xe0\x0c\x05\
71
+ \x83\x83\x00\x00\x05\xf4\x0c*$W\x00\x00\x1c\x8e\x0c*\
72
+ $W\x00\x00\x1f\xd4\x0c+\x1a\xc5\x00\x00\x11\xd1\x0cG\
73
+ \x92\xf4\x00\x00\x1fS\x0cZ\xcf\x1d\x00\x00\x05B\x0cu\
74
74
  \x02\xbe\x00\x00\x0bl\x0cz\xc3\x9e\x00\x00\x03R\x0c\x97\
75
75
  \x12\xac\x00\x00\x10\x1a\x0c\xa8h\x87\x00\x00\x0f\xdd\x0c\xbb\
76
76
  \x01s\x00\x00\x09\xce\x0d\x05Rs\x00\x00\x02\xa3\x0dG\
77
- c\xb4\x00\x00\x1cI\x0d\x93x%\x00\x00\x00\x9c\x0d\xaa\
77
+ c\xb4\x00\x00\x1c[\x0d\x93x%\x00\x00\x00\x9c\x0d\xaa\
78
78
  \x85^\x00\x00\x0d\xfd\x0d\xacz\xf3\x00\x00\x03\x13\x0e/\
79
79
  \xa2t\x00\x00\x03\xc1\x0e\xcb%\xa2\x00\x00\x08J\x0e\xd3\
80
- \x02\xed\x00\x00\x13\x99\x0f\x03\xb7\xa1\x00\x00\x22=\x0f\x96\
80
+ \x02\xed\x00\x00\x13\x99\x0f\x03\xb7\xa1\x00\x00\x22O\x0f\x96\
81
81
  \xf2!\x00\x00\x09.\x0f\xaa3\xb5\x00\x00\x0d\xc5\x0f\xd5\
82
- U\xb3\x00\x00\x12\x03i\x00\x00$\xc6\x03\x00\x00\x00\x06\
82
+ U\xb3\x00\x00\x12\x03i\x00\x00$\xd8\x03\x00\x00\x00\x06\
83
83
  mK\x8b\xd5rH\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\
84
84
  Beta Version\x07\x00\x00\x00\
85
85
  \x08AboutTab\x01\x03\x00\x00\x00\x0aN\
@@ -503,172 +503,173 @@ roller\x01\x03\x00\x00\x00\x0aT/R\xa8\
503
503
  \x8d\x85e\xf6\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\x13\
504
504
  Start game timeo\
505
505
  ut!\x07\x00\x00\x00\x0fStartCon\
506
- troller\x01\x03\x00\x00\x000\x00W\x00\
506
+ troller\x01\x03\x00\x00\x00<\x00W\x00\
507
507
  i\x00n\x00d\x00o\x00w\x00sf>y:\x8b\
508
508
  \xbe\x7fn\x00H\x00D\x00R]\xf2bS_\x00\x00\
509
- ,\x00 \x8b\xf7QHQs\x95\xed\x00!\x08\x00\x00\
510
- \x00\x00\x06\x00\x00\x001Windows H\
511
- DR is enabled, p\
512
- lease turn it of\
513
- f first.\x07\x00\x00\x00\x0fSta\
514
- rtController\x01\x03\x00\x00\
515
- \x008\x00W\x00i\x00n\x00d\x00o\x00w\x00s\
516
- f>y:\x8b\xbe\x7fnY\x1cpo\x00/b\xa4\
517
- w<j!_\x0f]\xf2bS_\x00\x00,\x00 \
518
- \x8b\xf7QHQs\x95\xed\x00!\x08\x00\x00\x00\x00\x06\
519
- \x00\x00\x009Windows nigh\
520
- t light is enabl\
521
- ed, please turn \
522
- it off first.\x07\x00\x00\
523
- \x00\x0fStartControlle\
524
- r\x01\x03\x00\x00\x002kcW(T/R\xa8\x00\
525
- ,\x00 \x00{\x00s\x00e\x00c\x00o\x00n\x00\
526
- d\x00s\x00_\x00l\x00e\x00f\x00t\x00}y\
527
- \xd2T\x0e\x8d\x85e\xf6\x00.\x08\x00\x00\x00\x00\x06\x00\
528
- \x00\x00/Starting, tim\
529
- eout after {seco\
530
- nds_left} second\
531
- s.\x07\x00\x00\x00\x12StartLoad\
532
- ingDialog\x01\x03\x00\x00\x00\x06[\
533
- \x89SSrH\x08\x00\x00\x00\x00\x06\x00\x00\x00\x07A\
534
- ndroid\x07\x00\x00\x00\x08Start\
535
- Tab\x01\x03\x00\x00\x00\x08b*V\xfee\xb9_\
536
- \x0f\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0eCaptu\
537
- re Method\x07\x00\x00\x00\x08St\
538
- artTab\x01\x03\x00\x00\x00\x08\x90\x09b\xe9\
539
- z\x97S\xe3\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0dCh\
540
- oose Window\x07\x00\x00\x00\x08\
541
- StartTab\x01\x03\x00\x00\x00\x06]\xf2\
542
- \x8f\xdec\xa5\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09Co\
543
- nnected\x07\x00\x00\x00\x08Star\
544
- tTab\x01\x03\x00\x00\x00\x06]\xf2e\xad_\x00\
545
- \x08\x00\x00\x00\x00\x06\x00\x00\x00\x0cDiscon\
546
- nected\x07\x00\x00\x00\x08Start\
547
- Tab\x01\x03\x00\x00\x00\x06j!b\xdfVh\x08\
548
- \x00\x00\x00\x00\x06\x00\x00\x00\x08Emulato\
549
- r\x07\x00\x00\x00\x08StartTab\x01\x03\
550
- \x00\x00\x00\x06\x00P\x00CrH\x08\x00\x00\x00\x00\x06\
551
- \x00\x00\x00\x02PC\x07\x00\x00\x00\x08Start\
552
- Tab\x01\x03\x00\x00\x00\x04R7e\xb0\x08\x00\x00\
553
- \x00\x00\x06\x00\x00\x00\x07Refresh\x07\x00\
554
- \x00\x00\x08StartTab\x01\x03\x00\x00\x00\
555
- \x08kcW(R7e\xb0\x08\x00\x00\x00\x00\x06\x00\
556
- \x00\x00\x0aRefreshing\x07\x00\x00\
557
- \x00\x08StartTab\x01\x03\x00\x00\x00\x04\
558
- \x95\x19\x8b\xef\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05Er\
559
- ror\x07\x00\x00\x00\x0bTaskButt\
560
- ons\x01\x03\x00\x00\x00*n8b\x0fz\x97S\
561
- \xe3g*\x8f\xdec\xa5\xff\x0c\x8b\xf7\x90\x09b\xe9n\
562
- 8b\x0fz\x97S\xe3T\x8cb*V\xfee\xb9_\
563
- \x0f0\x02\x08\x00\x00\x00\x00\x06\x00\x00\x00OGam\
564
- e window is not \
565
- connected, pleas\
566
- e select the gam\
567
- e window and cap\
568
- ture method.\x07\x00\x00\x00\
569
- \x0bTaskButtons\x01\x03\x00\x00\
570
- \x00\x04f\x82P\x5c\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05\
571
- Pause\x07\x00\x00\x00\x0bTaskBu\
572
- ttons\x01\x03\x00\x00\x00\x04~\xe7~\xed\x08\
573
- \x00\x00\x00\x00\x06\x00\x00\x00\x06Resume\x07\
574
- \x00\x00\x00\x0bTaskButtons\x01\
575
- \x03\x00\x00\x00\x04_\x00Y\xcb\x08\x00\x00\x00\x00\x06\x00\
576
- \x00\x00\x05Start\x07\x00\x00\x00\x0bTas\
577
- kButtons\x01\x03\x00\x00\x00\x04P\x5c\
578
- kb\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04Stop\
579
- \x07\x00\x00\x00\x0bTaskButtons\
580
- \x01\x03\x00\x00\x00\x06g*T/u(\x08\x00\x00\x00\
581
- \x00\x06\x00\x00\x00\x08Disabled\x07\x00\
582
- \x00\x00\x08TaskCard\x01\x03\x00\x00\x00\
583
- \x06]\xf2T/u(\x08\x00\x00\x00\x00\x06\x00\x00\x00\
584
- \x07Enabled\x07\x00\x00\x00\x08Tas\
585
- kCard\x01\x03\x00\x00\x00\x04y\x81u(\x08\
586
- \x00\x00\x00\x00\x06\x00\x00\x00\x07Disable\
587
- \x07\x00\x00\x00\x0cTaskOpButto\
588
- n\x01\x03\x00\x00\x00\x04T/u(\x08\x00\x00\x00\x00\
589
- \x06\x00\x00\x00\x06Enable\x07\x00\x00\x00\x0c\
590
- TaskOpButton\x01\x03\x00\x00\
591
- \x00\x08\x90\x09b\xe9z\x97S\xe3\x08\x00\x00\x00\x00\x06\
592
- \x00\x00\x00\x0dChoose Windo\
593
- w\x07\x00\x00\x00\x07TaskTab\x01\x03\x00\
594
- \x00\x00\x04O\xe1`o\x08\x00\x00\x00\x00\x06\x00\x00\x00\
595
- \x04Info\x07\x00\x00\x00\x07TaskTa\
596
- b\x01\x03\x00\x00\x00\x06\x8f\xd0\x88LN-\x08\x00\x00\
597
- \x00\x00\x06\x00\x00\x00\x07Running\x07\x00\
598
- \x00\x00\x07TaskTab\x01\x03\x00\x00\x00\x02\
599
- P<\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05Valu\
600
- e\x07\x00\x00\x00\x07TaskTab\x01\x03\x00\
601
- \x00\x00,xn[\x9af\xf4e\xb0R0\x00{\x00\
602
- v\x00e\x00r\x00s\x00i\x00o\x00n\x00}\x00\
603
- {\x00t\x00y\x00p\x00e\x00}T\x17\xff\x1f\x08\
604
- \x00\x00\x00\x00\x06\x00\x00\x004Are you\
605
- sure you want t\
606
- o update to {ver\
607
- sion} {type}?\x07\x00\x00\
509
+ ,\x00 S\xef\x80\xfd[\xfc\x81\xf4N\xfbR\xa1\x8f\
510
+ \xd0\x88L_\x02^8\x00!\x08\x00\x00\x00\x00\x06\x00\
511
+ \x00\x007Windows HDR i\
512
+ s enabled, tasks\
513
+ might not work \
514
+ correctly!\x07\x00\x00\x00\x0fS\
515
+ tartController\x01\x03\
516
+ \x00\x00\x008\x00W\x00i\x00n\x00d\x00o\x00w\
517
+ \x00sf>y:\x8b\xbe\x7fnY\x1cpo\x00/\
518
+ b\xa4w<j!_\x0f]\xf2bS_\x00\x00,\
519
+ \x00 \x8b\xf7QHQs\x95\xed\x00!\x08\x00\x00\x00\
520
+ \x00\x06\x00\x00\x009Windows ni\
521
+ ght light is ena\
522
+ bled, please tur\
523
+ n it off first.\x07\
524
+ \x00\x00\x00\x0fStartControl\
525
+ ler\x01\x03\x00\x00\x002kcW(T/R\
526
+ \xa8\x00,\x00 \x00{\x00s\x00e\x00c\x00o\x00\
527
+ n\x00d\x00s\x00_\x00l\x00e\x00f\x00t\x00\
528
+ }y\xd2T\x0e\x8d\x85e\xf6\x00.\x08\x00\x00\x00\x00\
529
+ \x06\x00\x00\x00/Starting, t\
530
+ imeout after {se\
531
+ conds_left} seco\
532
+ nds.\x07\x00\x00\x00\x12StartLo\
533
+ adingDialog\x01\x03\x00\x00\x00\
534
+ \x06[\x89SSrH\x08\x00\x00\x00\x00\x06\x00\x00\x00\
535
+ \x07Android\x07\x00\x00\x00\x08Sta\
536
+ rtTab\x01\x03\x00\x00\x00\x08b*V\xfee\
537
+ \xb9_\x0f\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0eCap\
538
+ ture Method\x07\x00\x00\x00\x08\
539
+ StartTab\x01\x03\x00\x00\x00\x08\x90\x09\
540
+ b\xe9z\x97S\xe3\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0d\
541
+ Choose Window\x07\x00\x00\
542
+ \x00\x08StartTab\x01\x03\x00\x00\x00\x06\
543
+ ]\xf2\x8f\xdec\xa5\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\
544
+ Connected\x07\x00\x00\x00\x08St\
545
+ artTab\x01\x03\x00\x00\x00\x06]\xf2e\xad\
546
+ _\x00\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0cDisc\
547
+ onnected\x07\x00\x00\x00\x08Sta\
548
+ rtTab\x01\x03\x00\x00\x00\x06j!b\xdfV\
549
+ h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x08Emula\
550
+ tor\x07\x00\x00\x00\x08StartTab\
551
+ \x01\x03\x00\x00\x00\x06\x00P\x00CrH\x08\x00\x00\x00\
552
+ \x00\x06\x00\x00\x00\x02PC\x07\x00\x00\x00\x08Sta\
553
+ rtTab\x01\x03\x00\x00\x00\x04R7e\xb0\x08\
554
+ \x00\x00\x00\x00\x06\x00\x00\x00\x07Refresh\
555
+ \x07\x00\x00\x00\x08StartTab\x01\x03\x00\
556
+ \x00\x00\x08kcW(R7e\xb0\x08\x00\x00\x00\x00\
557
+ \x06\x00\x00\x00\x0aRefreshing\x07\
558
+ \x00\x00\x00\x08StartTab\x01\x03\x00\x00\
559
+ \x00\x04\x95\x19\x8b\xef\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05\
560
+ Error\x07\x00\x00\x00\x0bTaskBu\
561
+ ttons\x01\x03\x00\x00\x00*n8b\x0fz\
562
+ \x97S\xe3g*\x8f\xdec\xa5\xff\x0c\x8b\xf7\x90\x09b\
563
+ \xe9n8b\x0fz\x97S\xe3T\x8cb*V\xfee\
564
+ \xb9_\x0f0\x02\x08\x00\x00\x00\x00\x06\x00\x00\x00OG\
565
+ ame window is no\
566
+ t connected, ple\
567
+ ase select the g\
568
+ ame window and c\
569
+ apture method.\x07\x00\
570
+ \x00\x00\x0bTaskButtons\x01\x03\
571
+ \x00\x00\x00\x04f\x82P\x5c\x08\x00\x00\x00\x00\x06\x00\x00\
572
+ \x00\x05Pause\x07\x00\x00\x00\x0bTask\
573
+ Buttons\x01\x03\x00\x00\x00\x04~\xe7~\
574
+ \xed\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06Resum\
575
+ e\x07\x00\x00\x00\x0bTaskButton\
576
+ s\x01\x03\x00\x00\x00\x04_\x00Y\xcb\x08\x00\x00\x00\x00\
577
+ \x06\x00\x00\x00\x05Start\x07\x00\x00\x00\x0bT\
578
+ askButtons\x01\x03\x00\x00\x00\x04\
579
+ P\x5ckb\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04St\
580
+ op\x07\x00\x00\x00\x0bTaskButto\
581
+ ns\x01\x03\x00\x00\x00\x06g*T/u(\x08\x00\
582
+ \x00\x00\x00\x06\x00\x00\x00\x08Disabled\
583
+ \x07\x00\x00\x00\x08TaskCard\x01\x03\x00\
584
+ \x00\x00\x06]\xf2T/u(\x08\x00\x00\x00\x00\x06\x00\
585
+ \x00\x00\x07Enabled\x07\x00\x00\x00\x08T\
586
+ askCard\x01\x03\x00\x00\x00\x04y\x81u\
587
+ (\x08\x00\x00\x00\x00\x06\x00\x00\x00\x07Disab\
588
+ le\x07\x00\x00\x00\x0cTaskOpBut\
589
+ ton\x01\x03\x00\x00\x00\x04T/u(\x08\x00\x00\
590
+ \x00\x00\x06\x00\x00\x00\x06Enable\x07\x00\x00\
591
+ \x00\x0cTaskOpButton\x01\x03\
592
+ \x00\x00\x00\x08\x90\x09b\xe9z\x97S\xe3\x08\x00\x00\x00\
593
+ \x00\x06\x00\x00\x00\x0dChoose Win\
594
+ dow\x07\x00\x00\x00\x07TaskTab\x01\
595
+ \x03\x00\x00\x00\x04O\xe1`o\x08\x00\x00\x00\x00\x06\x00\
596
+ \x00\x00\x04Info\x07\x00\x00\x00\x07Task\
597
+ Tab\x01\x03\x00\x00\x00\x06\x8f\xd0\x88LN-\x08\
598
+ \x00\x00\x00\x00\x06\x00\x00\x00\x07Running\
599
+ \x07\x00\x00\x00\x07TaskTab\x01\x03\x00\x00\
600
+ \x00\x02P<\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05Va\
601
+ lue\x07\x00\x00\x00\x07TaskTab\x01\
602
+ \x03\x00\x00\x00,xn[\x9af\xf4e\xb0R0\x00\
603
+ {\x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00\
604
+ }\x00{\x00t\x00y\x00p\x00e\x00}T\x17\xff\
605
+ \x1f\x08\x00\x00\x00\x00\x06\x00\x00\x004Are y\
606
+ ou sure you want\
607
+ to update to {v\
608
+ ersion} {type}?\x07\
609
+ \x00\x00\x00\x0bVersionCard\x01\
610
+ \x03\x00\x00\x00\x0ch\xc0g\xe5f\xf4e\xb0\x95\x19\x8b\
611
+ \xef\x08\x00\x00\x00\x00\x06\x00\x00\x00\x17Check\
612
+ for update erro\
613
+ r!\x07\x00\x00\x00\x0bVersionCa\
614
+ rd\x01\x03\x00\x00\x00\x0ah\xc0g\xe5e\xb0rH\
615
+ g,\x08\x00\x00\x00\x00\x06\x00\x00\x00\x11Chec\
616
+ k for updates\x07\x00\x00\
608
617
  \x00\x0bVersionCard\x01\x03\x00\
609
- \x00\x00\x0ch\xc0g\xe5f\xf4e\xb0\x95\x19\x8b\xef\x08\
610
- \x00\x00\x00\x00\x06\x00\x00\x00\x17Check f\
611
- or update error!\
612
- \x07\x00\x00\x00\x0bVersionCard\
613
- \x01\x03\x00\x00\x00\x0ah\xc0g\xe5e\xb0rHg,\
614
- \x08\x00\x00\x00\x00\x06\x00\x00\x00\x11Check \
615
- for updates\x07\x00\x00\x00\x0b\
616
- VersionCard\x01\x03\x00\x00\x00\
617
- \x08h\xc0g\xe5f\xf4e\xb0\x08\x00\x00\x00\x00\x06\x00\
618
- \x00\x00\x14Checking for \
619
- updates\x07\x00\x00\x00\x0bVers\
620
- ionCard\x01\x03\x00\x00\x00\x06_\x00S\
621
- \xd1rH\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05Deb\
622
- ug\x07\x00\x00\x00\x0bVersionCa\
623
- rd\x01\x03\x00\x00\x004N\x0b\x8f}N-\x00:\
624
- \x00 \x00{\x00p\x00r\x00o\x00g\x00r\x00e\
625
- \x00s\x00s\x00}\x00 \x00{\x00p\x00e\x00r\
626
- \x00c\x00e\x00n\x00t\x00}\x00%\x08\x00\x00\x00\
627
- \x00\x06\x00\x00\x00!Downloadin\
628
- g {progress} {pe\
629
- rcent}%\x07\x00\x00\x00\x0bVers\
630
- ionCard\x01\x03\x00\x00\x00\x0aS\xd1s\
631
- \xb0e\xb0rHg,\x08\x00\x00\x00\x00\x06\x00\x00\x00\
632
- \x12Found new versi\
633
- on!\x07\x00\x00\x00\x0bVersionC\
634
- ard\x01\x03\x00\x00\x00\x04O\xe1`o\x08\x00\x00\
635
- \x00\x00\x06\x00\x00\x00\x04Info\x07\x00\x00\x00\x0b\
618
+ \x00\x00\x08h\xc0g\xe5f\xf4e\xb0\x08\x00\x00\x00\x00\
619
+ \x06\x00\x00\x00\x14Checking fo\
620
+ r updates\x07\x00\x00\x00\x0bVe\
621
+ rsionCard\x01\x03\x00\x00\x00\x06_\
622
+ \x00S\xd1rH\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05D\
623
+ ebug\x07\x00\x00\x00\x0bVersion\
624
+ Card\x01\x03\x00\x00\x004N\x0b\x8f}N-\
625
+ \x00:\x00 \x00{\x00p\x00r\x00o\x00g\x00r\
626
+ \x00e\x00s\x00s\x00}\x00 \x00{\x00p\x00e\
627
+ \x00r\x00c\x00e\x00n\x00t\x00}\x00%\x08\x00\
628
+ \x00\x00\x00\x06\x00\x00\x00!Download\
629
+ ing {progress} {\
630
+ percent}%\x07\x00\x00\x00\x0bVe\
631
+ rsionCard\x01\x03\x00\x00\x00\x0aS\
632
+ \xd1s\xb0e\xb0rHg,\x08\x00\x00\x00\x00\x06\x00\
633
+ \x00\x00\x12Found new ver\
634
+ sion!\x07\x00\x00\x00\x0bVersio\
635
+ nCard\x01\x03\x00\x00\x00\x04O\xe1`o\x08\
636
+ \x00\x00\x00\x00\x06\x00\x00\x00\x04Info\x07\x00\x00\
637
+ \x00\x0bVersionCard\x01\x03\x00\
638
+ \x00\x00\x06kc_\x0frH\x08\x00\x00\x00\x00\x06\x00\
639
+ \x00\x00\x07Release\x07\x00\x00\x00\x0bV\
640
+ ersionCard\x01\x03\x00\x00\x00\x14\
641
+ v\xeeRM]\xf2~\xcff/g\x00e\xb0rH\
642
+ g,\xff\x01\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1bTh\
643
+ is is the newest\
644
+ version!\x07\x00\x00\x00\x0bVe\
645
+ rsionCard\x01\x03\x00\x00\x00\x08s\
646
+ \xb0W(f\xf4e\xb0\x08\x00\x00\x00\x00\x06\x00\x00\x00\
647
+ \x0aUpdate Now\x07\x00\x00\x00\x0b\
636
648
  VersionCard\x01\x03\x00\x00\x00\
637
- \x06kc_\x0frH\x08\x00\x00\x00\x00\x06\x00\x00\x00\
638
- \x07Release\x07\x00\x00\x00\x0bVer\
639
- sionCard\x01\x03\x00\x00\x00\x14v\xee\
640
- RM]\xf2~\xcff/g\x00e\xb0rHg,\
641
- \xff\x01\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1bThis\
642
- is the newest v\
643
- ersion!\x07\x00\x00\x00\x0bVers\
644
- ionCard\x01\x03\x00\x00\x00\x08s\xb0W\
645
- (f\xf4e\xb0\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0aU\
646
- pdate Now\x07\x00\x00\x00\x0bVe\
647
- rsionCard\x01\x03\x00\x00\x00$f\
648
- \xf4e\xb0R0\x00{\x00v\x00e\x00r\x00s\x00\
649
- i\x00o\x00n\x00}\x00{\x00t\x00y\x00p\x00\
650
- e\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1aUpd\
651
- ate to {version}\
652
- {type}\x07\x00\x00\x00\x0bVers\
653
- ionCard\x01\x03\x00\x00\x00.S\xe6N\
654
- \x00N*[\x9eO\x8b]\xf2~\xcfW(\x8f\xd0\x88\
655
- L\x00,\x00 \x8b\xf7bKR\xa8~\xd3g_S\
656
- \xe6N\x00N*[\x9eO\x8b\x00.\x08\x00\x00\x00\x00\
657
- \x06\x00\x00\x00#Another ins\
658
- tance is already\
659
- running\x07\x00\x00\x00\x03app\
660
- \x01\x03\x00\x00\x00\x04\x95\x19\x8b\xef\x08\x00\x00\x00\x00\x06\
661
- \x00\x00\x00\x05Error\x07\x00\x00\x00\x03ap\
662
- p\x01\x03\x00\x00\x006[\x89\x88\xc5v\xee_U\x00\
663
- {\x00p\x00a\x00t\x00h\x00}_\xc5\x98{f\
664
- /\x82\xf1e\x87v\xee_U\xff\x0c\x8b\xf7y\xfbR\
665
- \xa8R0\x82\xf1e\x87v\xee_U0\x02\x08\x00\x00\
666
- \x00\x00\x06\x00\x00\x00AInstall d\
667
- ir {path} must b\
668
- e an English pat\
669
- h, move to anoth\
670
- er path.\x07\x00\x00\x00\x03app\
671
- \x01\
649
+ $f\xf4e\xb0R0\x00{\x00v\x00e\x00r\x00\
650
+ s\x00i\x00o\x00n\x00}\x00{\x00t\x00y\x00\
651
+ p\x00e\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1aU\
652
+ pdate to {versio\
653
+ n} {type}\x07\x00\x00\x00\x0bVe\
654
+ rsionCard\x01\x03\x00\x00\x00.S\
655
+ \xe6N\x00N*[\x9eO\x8b]\xf2~\xcfW(\x8f\
656
+ \xd0\x88L\x00,\x00 \x8b\xf7bKR\xa8~\xd3g\
657
+ _S\xe6N\x00N*[\x9eO\x8b\x00.\x08\x00\x00\
658
+ \x00\x00\x06\x00\x00\x00#Another i\
659
+ nstance is alrea\
660
+ dy running\x07\x00\x00\x00\x03a\
661
+ pp\x01\x03\x00\x00\x00\x04\x95\x19\x8b\xef\x08\x00\x00\x00\
662
+ \x00\x06\x00\x00\x00\x05Error\x07\x00\x00\x00\x03\
663
+ app\x01\x03\x00\x00\x006[\x89\x88\xc5v\xee_\
664
+ U\x00{\x00p\x00a\x00t\x00h\x00}_\xc5\x98\
665
+ {f/\x82\xf1e\x87v\xee_U\xff\x0c\x8b\xf7y\
666
+ \xfbR\xa8R0\x82\xf1e\x87v\xee_U0\x02\x08\
667
+ \x00\x00\x00\x00\x06\x00\x00\x00AInstall\
668
+ dir {path} must\
669
+ be an English p\
670
+ ath, move to ano\
671
+ ther path.\x07\x00\x00\x00\x03a\
672
+ pp\x01\
672
673
  \x00\x00\x11t\
673
674
  \x00\
674
675
  \x00\x86\xbex\xda\xed]ypU\xd5\x19\x7fNm;\
@@ -1416,33 +1417,33 @@ qt_resource_struct = b"\
1416
1417
  \x00\x00\x00\x00\x00\x00\x00\x00\
1417
1418
  \x00\x00\x00\x0c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\
1418
1419
  \x00\x00\x00\x00\x00\x00\x00\x00\
1419
- \x00\x00\x00>\x00\x01\x00\x00\x00\x01\x00\x00)F\
1420
+ \x00\x00\x00>\x00\x01\x00\x00\x00\x01\x00\x00)X\
1420
1421
  \x00\x00\x01\x8e2\xed>\xd3\
1421
1422
  \x00\x00\x00(\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
1422
- \x00\x00\x01\x91\x04?\xe9\xb1\
1423
+ \x00\x00\x01\x91\x08)yn\
1423
1424
  \x00\x00\x00T\x00\x02\x00\x00\x00\x05\x00\x00\x00\x0d\
1424
1425
  \x00\x00\x00\x00\x00\x00\x00\x00\
1425
1426
  \x00\x00\x00b\x00\x02\x00\x00\x00\x05\x00\x00\x00\x08\
1426
1427
  \x00\x00\x00\x00\x00\x00\x00\x00\
1427
- \x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00<\xbf\
1428
+ \x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00<\xd1\
1428
1429
  \x00\x00\x01\x8e\xf4<s\xff\
1429
- \x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00A:\
1430
+ \x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00AL\
1430
1431
  \x00\x00\x01\x90\xac\x95\x12/\
1431
- \x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00>\x22\
1432
+ \x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00>4\
1432
1433
  \x00\x00\x01\x8f\x05B\xfb\xe3\
1433
- \x00\x00\x00r\x00\x01\x00\x00\x00\x01\x00\x00:\xbe\
1434
+ \x00\x00\x00r\x00\x01\x00\x00\x00\x01\x00\x00:\xd0\
1434
1435
  \x00\x00\x01\x8f\xc2y\xeb\x0e\
1435
- \x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00;[\
1436
+ \x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00;m\
1436
1437
  \x00\x00\x01\x8f\x00\x953\x08\
1437
- \x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00Hx\
1438
+ \x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00H\x8a\
1438
1439
  \x00\x00\x01\x8e\xf7\x00\xca\xd0\
1439
- \x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00L\xf7\
1440
+ \x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00M\x09\
1440
1441
  \x00\x00\x01\x8f\xd9\x88sN\
1441
- \x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00I\xdf\
1442
+ \x00\x00\x00\xd4\x00\x00\x00\x00\x00\x01\x00\x00I\xf1\
1442
1443
  \x00\x00\x01\x8f\x05B\x8a2\
1443
- \x00\x00\x00r\x00\x01\x00\x00\x00\x01\x00\x00FR\
1444
+ \x00\x00\x00r\x00\x01\x00\x00\x00\x01\x00\x00Fd\
1444
1445
  \x00\x00\x01\x8f\xc2y\xc5;\
1445
- \x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00G\x10\
1446
+ \x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00G\x22\
1446
1447
  \x00\x00\x01\x8f\x00\x95\xb7\xe2\
1447
1448
  "
1448
1449
 
@@ -112,7 +112,7 @@ class PyDirectInteraction(BaseInteraction):
112
112
  if current_x != -1 and current_y != -1:
113
113
  pydirectinput.moveTo(current_x, current_y)
114
114
 
115
- def mouse_down(self, x=-1, y=-1, name=None):
115
+ def mouse_down(self, x=-1, y=-1, name=None, key="left"):
116
116
  if not self.capture.clickable():
117
117
  logger.info(f"window in background, not clickable")
118
118
  return
@@ -120,13 +120,19 @@ class PyDirectInteraction(BaseInteraction):
120
120
  x, y = self.capture.get_abs_cords(x, y)
121
121
  logger.info(f"left_click {x, y}")
122
122
  pydirectinput.moveTo(x, y)
123
- pydirectinput.mouseDown()
123
+ button = self.get_mouse_button(key)
124
+ pydirectinput.mouseDown(button=button)
125
+
126
+ def get_mouse_button(self, key):
127
+ button = pydirectinput.LEFT if key == "left" else pydirectinput.RIGHT
128
+ return button
124
129
 
125
- def mouse_up(self):
130
+ def mouse_up(self, key="left"):
126
131
  if not self.capture.clickable():
127
132
  logger.info(f"window in background, not clickable")
128
133
  return
129
- pydirectinput.mouseUp()
134
+ button = self.get_mouse_button(key)
135
+ pydirectinput.mouseUp(button=button)
130
136
 
131
137
  def should_capture(self):
132
138
  return self.capture.clickable()