Coverage for /home/antoine/projects/xpra-git/dist/python3/lib64/python/xpra/platform/features.py : 79%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#!/usr/bin/env python
2# This file is part of Xpra.
3# Copyright (C) 2010 Nathaniel Smith <njs@pobox.com>
4# Copyright (C) 2011-2018 Antoine Martin <antoine@xpra.org>
5# Xpra is released under the terms of the GNU GPL v2, or, at your option, any
6# later version. See the file COPYING for details.
8import os
10from xpra.util import envbool
12#defaults which may be overriden by platform_import:
13LOCAL_SERVERS_SUPPORTED = False
14SHADOW_SUPPORTED = True
15CAN_DAEMONIZE = True
16SYSTEM_TRAY_SUPPORTED = True
17REINIT_WINDOWS = False
19INPUT_DEVICES = ["auto"]
21SYSTEM_PROXY_SOCKET = os.environ.get("XPRA_SYSTEM_PROXY_SOCKET", "/run/xpra/system")
23CLIPBOARDS = []
24CLIPBOARD_WANT_TARGETS = envbool("XPRA_CLIPBOARD_WANT_TARGETS")
25CLIPBOARD_GREEDY = envbool("XPRA_CLIPBOARD_GREEDY")
26CLIPBOARD_PREFERRED_TARGETS = ("UTF8_STRING", "TEXT", "STRING", "text/plain")
28EXECUTABLE_EXTENSION = ""
30OPEN_COMMAND = []
32COMMAND_SIGNALS = ()
34DEFAULT_ENV = []
36#DEFAULT_SSH_COMMAND = "paramiko"
37DEFAULT_SSH_COMMAND = "ssh -x"
38DEFAULT_PULSEAUDIO_CONFIGURE_COMMANDS = [
39 ["pactl", "set-default-sink", "Xpra-Speaker"],
40 ["pactl", "set-default-source", "Xpra-Microphone.monitor"],
41 ]
44SOCKET_OPTIONS = (
45 "SO_BROADCAST", "SO_RCVLOWAT",
46 "SO_DONTROUTE", "SO_ERROR", "SO_EXCLUSIVEADDRUSE",
47 "SO_KEEPALIVE", "SO_LINGER", "SO_OOBINLINE", "SO_RCVBUF",
48 "SO_RCVTIMEO", "SO_REUSEADDR", "SO_REUSEPORT",
49 "SO_SNDBUF", "SO_SNDTIMEO", "SO_TIMEOUT", "SO_TYPE",
50 )
51IP_OPTIONS = (
52 #"IP_MULTICAST_IF", "IP_MULTICAST_LOOP", "IP_MULTICAST_TTL",
53 "IP_DONTFRAG", "IP_OPTIONS", "IP_RECVLCLIFADDR",
54 "IP_RECVPKTINFO", "IP_TOS", "IP_TTL",
55 )
56TCP_OPTIONS = ("TCP_NODELAY", "TCP_MAXSEG", "TCP_KEEPALIVE")
59_features_list_ = [
60 "LOCAL_SERVERS_SUPPORTED",
61 "SHADOW_SUPPORTED",
62 "CAN_DAEMONIZE",
63 "SYSTEM_TRAY_SUPPORTED",
64 "REINIT_WINDOWS",
65 "COMMAND_SIGNALS",
66 "DEFAULT_ENV",
67 "DEFAULT_SSH_COMMAND",
68 "DEFAULT_PULSEAUDIO_CONFIGURE_COMMANDS",
69 "CLIPBOARDS",
70 "CLIPBOARD_WANT_TARGETS",
71 "CLIPBOARD_GREEDY",
72 "CLIPBOARD_PREFERRED_TARGETS",
73 "EXECUTABLE_EXTENSION",
74 "INPUT_DEVICES",
75 "SYSTEM_PROXY_SOCKET",
76 "OPEN_COMMAND",
77 "SOCKET_OPTIONS",
78 "IP_OPTIONS",
79 "TCP_OPTIONS",
80 ]
81from xpra.platform import platform_import
82platform_import(globals(), "features", False,
83 *_features_list_)
86def main():
87 from xpra.util import print_nested_dict
88 from xpra.platform import program_context
89 with program_context("Features-Info", "Features Info"):
90 d = {}
91 for k in _features_list_:
92 d[k] = globals()[k]
93 print_nested_dict(d)
96if __name__ == "__main__": # pragma: no cover
97 main()