ScanSlicer/scanslicer/entry.py

38 lines
1 KiB
Python

import argparse
import os
import sys
# parse_args: function definition for ScanSlicer behavior.
def parse_args(argv=None):
parser = argparse.ArgumentParser(
prog="scanslicer",
description="ScanSlicer Qt UI (Wayland/X11)",
)
parser.add_argument(
"path",
nargs="?",
help="Optional input directory containing images",
)
parser.add_argument(
"--backend",
choices=("auto", "wayland", "x11"),
default="auto",
help="Display backend selection (default: auto)",
)
return parser.parse_args(argv)
# _detect_backend_from_qpa_env: function definition for ScanSlicer behavior.
def _detect_backend_from_qpa_env():
qpa_value = os.environ.get("QT_QPA_PLATFORM", "").strip().lower()
if not qpa_value:
return None
tokens = [token.strip() for token in qpa_value.split(";") if token.strip()]
for token in tokens:
if token == "wayland":
return "wayland"
if token in ("xcb", "x11"):
return "x11"
return None