Akwbw commited on
Commit
f5daecf
·
verified ·
1 Parent(s): 8ada0ab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -4
app.py CHANGED
@@ -1,12 +1,12 @@
1
  import os
2
  import time
3
- # Set Display FIRST
4
  os.environ["DISPLAY"] = ":99"
5
  os.environ["XAUTHORITY"] = "/root/.Xauthority"
6
 
7
  import base64
8
  import subprocess
9
- from flask import Flask, request, jsonify
10
  from flask_cors import CORS
11
  import pyautogui
12
 
@@ -16,10 +16,11 @@ CORS(app)
16
  SCREEN_WIDTH = 1024
17
  SCREEN_HEIGHT = 768
18
 
 
19
  pyautogui.FAILSAFE = False
20
  pyautogui.PAUSE = 0.1
21
 
22
- # EMBEDDED HTML UI
23
  HTML_TEMPLATE = """
24
  <!DOCTYPE html>
25
  <html>
@@ -41,6 +42,7 @@ HTML_TEMPLATE = """
41
  <div class="btn" onclick="sendKey('win')">⊞</div>
42
  <div class="btn" onclick="sendKey('enter')">↵</div>
43
  <div class="btn" onclick="launchApp('chrome')">🌐</div>
 
44
  </div>
45
  </div>
46
  <script>
@@ -89,8 +91,23 @@ def interact():
89
  x = int(data.get('x') * SCREEN_WIDTH)
90
  y = int(data.get('y') * SCREEN_HEIGHT)
91
  pyautogui.click(x, y)
 
92
  elif action == 'key':
93
  k = data.get('key')
94
  if k == 'win': pyautogui.press('super')
95
  else: pyautogui.press(k)
96
- elif action == 'launch':
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import os
2
  import time
3
+ # Display Setup
4
  os.environ["DISPLAY"] = ":99"
5
  os.environ["XAUTHORITY"] = "/root/.Xauthority"
6
 
7
  import base64
8
  import subprocess
9
+ from flask import Flask, request, jsonify, Response
10
  from flask_cors import CORS
11
  import pyautogui
12
 
 
16
  SCREEN_WIDTH = 1024
17
  SCREEN_HEIGHT = 768
18
 
19
+ # PyAutoGUI Config
20
  pyautogui.FAILSAFE = False
21
  pyautogui.PAUSE = 0.1
22
 
23
+ # --- EMBEDDED UI ---
24
  HTML_TEMPLATE = """
25
  <!DOCTYPE html>
26
  <html>
 
42
  <div class="btn" onclick="sendKey('win')">⊞</div>
43
  <div class="btn" onclick="sendKey('enter')">↵</div>
44
  <div class="btn" onclick="launchApp('chrome')">🌐</div>
45
+ <div class="btn" onclick="launchApp('terminal')">_></div>
46
  </div>
47
  </div>
48
  <script>
 
91
  x = int(data.get('x') * SCREEN_WIDTH)
92
  y = int(data.get('y') * SCREEN_HEIGHT)
93
  pyautogui.click(x, y)
94
+
95
  elif action == 'key':
96
  k = data.get('key')
97
  if k == 'win': pyautogui.press('super')
98
  else: pyautogui.press(k)
99
+
100
+ elif action == 'launch':
101
+ app_name = data.get('app')
102
+ if app_name == 'chrome':
103
+ subprocess.Popen("google-chrome --no-sandbox --start-maximized &", shell=True)
104
+ elif app_name == 'terminal':
105
+ subprocess.Popen("xfce4-terminal &", shell=True)
106
+
107
+ return jsonify({"status": "ok"})
108
+ except Exception as e:
109
+ print(e)
110
+ return jsonify({"error": "err"}), 500
111
+
112
+ if __name__ == '__main__':
113
+ app.run(host='0.0.0.0', port=7860, threaded=True)