2026-02-22 15:45:12 +00:00
|
|
|
import argparse
|
|
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# parse_args: function definition for ScanSlicer behavior.
|
2026-02-22 15:50:12 +00:00
|
|
|
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)
|
2026-02-22 15:55:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
# _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
|