# Main application file for MacroPad Server # PySide6 version import os import sys import multiprocessing def get_app_dir(): """Get the application directory.""" if getattr(sys, 'frozen', False): # Running as compiled executable return os.path.dirname(sys.executable) else: # Running as script return os.path.dirname(os.path.abspath(__file__)) def main(): """Main entry point.""" # Required for multiprocessing on Windows multiprocessing.freeze_support() # Get app directory app_dir = get_app_dir() # Import PySide6 after freeze_support from PySide6.QtWidgets import QApplication from PySide6.QtCore import Qt from PySide6.QtGui import QIcon # Create application app = QApplication(sys.argv) app.setApplicationName("MacroPad Server") app.setOrganizationName("MacroPad") # Set application icon icon_path = os.path.join(app_dir, "Macro Pad.png") if os.path.exists(icon_path): app.setWindowIcon(QIcon(icon_path)) # Import and create main window from gui.main_window import MainWindow window = MainWindow(app_dir) window.show() # Run application sys.exit(app.exec()) if __name__ == "__main__": main()