65 lines
1.1 KiB
Python
65 lines
1.1 KiB
Python
import os
|
|
import signal
|
|
import sys
|
|
import traceback
|
|
|
|
os.environ["QT_ENABLE_HIGHDPI_SCALING"] = "1"
|
|
os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
|
|
|
|
from PyQt6.QtCore import Qt
|
|
from PyQt6.QtGui import QGuiApplication
|
|
from PyQt6.QtWidgets import QApplication
|
|
|
|
from config.settings import (
|
|
APP_DIR,
|
|
)
|
|
from core.app import StickyNoteApp
|
|
|
|
|
|
APP_DIR.mkdir(
|
|
parents=True,
|
|
exist_ok=True,
|
|
)
|
|
|
|
QGuiApplication.setHighDpiScaleFactorRoundingPolicy(
|
|
Qt.HighDpiScaleFactorRoundingPolicy.PassThrough
|
|
)
|
|
|
|
|
|
def main() -> int:
|
|
signal.signal(
|
|
signal.SIGINT,
|
|
signal.SIG_DFL,
|
|
)
|
|
|
|
app = QApplication(sys.argv)
|
|
|
|
app.setQuitOnLastWindowClosed(
|
|
False
|
|
)
|
|
|
|
window = StickyNoteApp()
|
|
|
|
window.show()
|
|
|
|
try:
|
|
return app.exec()
|
|
|
|
except KeyboardInterrupt:
|
|
try:
|
|
window.safe_exit()
|
|
except Exception:
|
|
traceback.print_exc()
|
|
|
|
return 0
|
|
|
|
except SystemExit:
|
|
return 0
|
|
|
|
except Exception:
|
|
traceback.print_exc()
|
|
return 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main()) |