#3321·Solaar

unpair: --dry-run 在没有 --slot 的情况下会被默默忽略,并执行真正的解绑操作

作者: rdannenbring创建于 2026年9月7日更新于 2026年9月7日

In lib/solaar/cli/unpair.py, run() dispatches to _run_slot_unpair() only when --slot is given. The positional-device path below it never consults args.dry_run:

python
def run(receivers, args, find_receiver, find_device):
    assert receivers
    if getattr(args, "slot", None) is not None:
        _run_slot_unpair(receivers, args, find_receiver)
        return
    assert args.device, "unpair requires a device name, or use --slot"
    device_name = args.device.lower()
    dev = next(find_device(receivers, device_name), None)
    if not dev:
        raise Exception(f"no device found matching '{device_name}'")
    ...
    dev.receiver._unpair_device(number, True)  # force an unpair
    print(f"Unpaired {int(number)}: {dev.name} ({codename}) [{wpid}:{serial}]")

_run_slot_unpair() handles the flag correctly:

内容来源: pwr-Solaar/Solaar