Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6974947028 | |||
| 517ee943a9 | |||
| c9d0c9812d | |||
| 3521f777e9 | |||
| 8ce09fcaf6 | |||
| a1a7334772 |
@@ -1,6 +1,6 @@
|
|||||||
# Configuration and constants for MacroPad Server
|
# Configuration and constants for MacroPad Server
|
||||||
|
|
||||||
VERSION = "0.9.0"
|
VERSION = "0.9.3"
|
||||||
DEFAULT_PORT = 40000
|
DEFAULT_PORT = 40000
|
||||||
|
|
||||||
# UI Theme colors
|
# UI Theme colors
|
||||||
|
|||||||
@@ -243,7 +243,15 @@ class CommandBuilder(QWidget):
|
|||||||
|
|
||||||
elif cmd_type == "app":
|
elif cmd_type == "app":
|
||||||
from PySide6.QtWidgets import QInputDialog
|
from PySide6.QtWidgets import QInputDialog
|
||||||
cmd, ok = QInputDialog.getText(self, "App Command", "Enter application command:")
|
cmd, ok = QInputDialog.getText(
|
||||||
|
self, "App Command",
|
||||||
|
"Enter application command:\n\n"
|
||||||
|
"Examples:\n"
|
||||||
|
" Windows: notepad.exe\n"
|
||||||
|
" Windows: \"C:\\Program Files\\App\\app.exe\"\n"
|
||||||
|
" Linux: firefox https://example.com\n"
|
||||||
|
" macOS: open -a Safari"
|
||||||
|
)
|
||||||
if not ok or not cmd:
|
if not ok or not cmd:
|
||||||
return
|
return
|
||||||
command["command"] = cmd
|
command["command"] = cmd
|
||||||
@@ -314,7 +322,13 @@ class CommandBuilder(QWidget):
|
|||||||
|
|
||||||
elif cmd_type == "app":
|
elif cmd_type == "app":
|
||||||
text, ok = QInputDialog.getText(
|
text, ok = QInputDialog.getText(
|
||||||
self, "Edit App", "Enter application command:",
|
self, "Edit App",
|
||||||
|
"Enter application command:\n\n"
|
||||||
|
"Examples:\n"
|
||||||
|
" Windows: notepad.exe\n"
|
||||||
|
" Windows: \"C:\\Program Files\\App\\app.exe\"\n"
|
||||||
|
" Linux: firefox https://example.com\n"
|
||||||
|
" macOS: open -a Safari",
|
||||||
text=cmd.get("command", "")
|
text=cmd.get("command", "")
|
||||||
)
|
)
|
||||||
if ok and text:
|
if ok and text:
|
||||||
|
|||||||
@@ -540,13 +540,20 @@ class MainWindow(QMainWindow):
|
|||||||
|
|
||||||
def show_about(self):
|
def show_about(self):
|
||||||
"""Show about dialog."""
|
"""Show about dialog."""
|
||||||
QMessageBox.about(
|
about_box = QMessageBox(self)
|
||||||
self, "About MacroPad Server",
|
about_box.setWindowTitle("About MacroPad Server")
|
||||||
f"MacroPad Server v{VERSION}\n\n"
|
about_box.setTextFormat(Qt.RichText)
|
||||||
"A cross-platform macro management application\n"
|
about_box.setTextInteractionFlags(Qt.TextBrowserInteraction)
|
||||||
"with desktop and web interfaces.\n\n"
|
about_box.setText(
|
||||||
"PWA-enabled for mobile devices."
|
f"<h2>MacroPad Server v{VERSION}</h2>"
|
||||||
|
"<p>A cross-platform macro management application<br>"
|
||||||
|
"with desktop and web interfaces.</p>"
|
||||||
|
"<p><b>Author:</b> <a href='https://shadowdao.com'>ShadowDao</a></p>"
|
||||||
|
"<p><b>Updates:</b> <a href='https://shadowdao.com'>shadowdao.com</a></p>"
|
||||||
|
"<p><b>Donate:</b> <a href='https://liberapay.com/GoTakeAKnapp/'>Liberapay</a></p>"
|
||||||
)
|
)
|
||||||
|
about_box.setStandardButtons(QMessageBox.Ok)
|
||||||
|
about_box.exec()
|
||||||
|
|
||||||
def closeEvent(self, event):
|
def closeEvent(self, event):
|
||||||
"""Handle window close."""
|
"""Handle window close."""
|
||||||
|
|||||||
@@ -302,7 +302,12 @@ class MacroManager:
|
|||||||
# Press key combination
|
# Press key combination
|
||||||
keys = cmd.get("keys", [])
|
keys = cmd.get("keys", [])
|
||||||
if keys:
|
if keys:
|
||||||
pyautogui.hotkey(*keys)
|
# Ensure keys is a list, not a string
|
||||||
|
if isinstance(keys, str):
|
||||||
|
keys = [k.strip().lower() for k in keys.split(",")]
|
||||||
|
# Small delay before hotkey for reliability on Windows
|
||||||
|
time.sleep(0.05)
|
||||||
|
pyautogui.hotkey(*keys, interval=0.05)
|
||||||
|
|
||||||
elif cmd_type == "wait":
|
elif cmd_type == "wait":
|
||||||
# Delay in milliseconds
|
# Delay in milliseconds
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ app = BUNDLE(
|
|||||||
icon='Macro Pad.png',
|
icon='Macro Pad.png',
|
||||||
bundle_identifier='com.macropad.server',
|
bundle_identifier='com.macropad.server',
|
||||||
info_plist={
|
info_plist={
|
||||||
'CFBundleShortVersionString': '0.9.0',
|
'CFBundleShortVersionString': '0.9.2',
|
||||||
'CFBundleName': 'MacroPad Server',
|
'CFBundleName': 'MacroPad Server',
|
||||||
'NSHighResolutionCapable': True,
|
'NSHighResolutionCapable': True,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user