From fd7d524e1568cd3edd826794584d42700e1374ac Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Fri, 16 Sep 2016 13:36:55 +0000 Subject: [PATCH] use new "envbool" utility function for getting boolean values from the environment git-svn-id: https://xpra.org/svn/Xpra/trunk@13756 3bb7dfac-3a0b-4e04-842a-767bc560f471 --- src/xpra/child_reaper.py | 6 +++--- src/xpra/client/client_base.py | 8 ++++---- src/xpra/client/client_widget_base.py | 6 +++--- src/xpra/client/client_window_base.py | 4 ++-- src/xpra/client/gl/gl_check.py | 9 +++++---- src/xpra/client/gl/gl_window_backing_base.py | 12 +++++------ src/xpra/client/gobject_client_base.py | 4 ++-- src/xpra/client/gtk2/client_window.py | 6 +++--- src/xpra/client/gtk2/pixmap_backing.py | 4 ++-- src/xpra/client/gtk2/window_backing.py | 6 +++--- src/xpra/client/gtk_base/gtk_client_base.py | 4 ++-- .../client/gtk_base/gtk_client_window_base.py | 11 +++++----- .../client/gtk_base/gtk_tray_menu_base.py | 13 ++++++------ .../gtk_base/gtk_window_backing_base.py | 6 +++--- src/xpra/client/gtk_base/statusicon_tray.py | 7 ++++--- src/xpra/client/ui_client_base.py | 14 ++++++------- src/xpra/client/window_backing_base.py | 6 +++--- src/xpra/clipboard/clipboard_base.py | 4 ++-- .../codecs/csc_opencl/colorspace_converter.py | 9 ++++----- .../csc_swscale/colorspace_converter.pyx | 4 ++-- src/xpra/codecs/enc_x264/encoder.pyx | 8 ++++---- src/xpra/codecs/enc_x265/encoder.pyx | 3 ++- src/xpra/codecs/loader.py | 6 ++++-- src/xpra/codecs/nv_util.py | 6 +++--- src/xpra/codecs/nvenc7/encoder.pyx | 4 ++-- src/xpra/codecs/pillow/__init__.py | 3 ++- src/xpra/codecs/vpx/encoder.pyx | 6 +++--- src/xpra/codecs/webp/encode.pyx | 5 +++-- src/xpra/gtk_common/error.py | 4 ++-- src/xpra/net/bencode/__init__.py | 7 +++---- src/xpra/net/bytestreams.py | 4 ++-- src/xpra/net/crypto.py | 6 +++--- src/xpra/net/file_transfer.py | 4 ++-- src/xpra/net/packet_encoding.py | 11 +++++----- src/xpra/net/protocol.py | 6 ++---- src/xpra/net/subprocess_wrapper.py | 10 +++++----- src/xpra/net/websocket.py | 8 ++++---- src/xpra/platform/darwin/gui.py | 6 +++--- src/xpra/platform/darwin/osx_menu.py | 7 +++---- src/xpra/platform/darwin/paths.py | 5 +++-- src/xpra/platform/printing.py | 4 +++- src/xpra/platform/pycups_printing.py | 8 ++++---- src/xpra/platform/win32/__init__.py | 6 ++++-- src/xpra/platform/win32/gui.py | 20 +++++++++---------- src/xpra/platform/win32/keyboard.py | 4 ++-- src/xpra/platform/win32/shadow_server.py | 14 ++++++------- src/xpra/platform/win32/window_hooks.py | 7 +++---- src/xpra/platform/xposix/gui.py | 7 ++++--- src/xpra/platform/xposix/paths.py | 10 ++++++---- src/xpra/scripts/fdproxy.py | 4 ++-- src/xpra/scripts/main.py | 14 ++++++------- src/xpra/scripts/server.py | 6 +++--- .../server/proxy/proxy_instance_process.py | 4 ++-- src/xpra/server/server_base.py | 8 ++++---- src/xpra/server/server_core.py | 4 ++-- src/xpra/server/source.py | 6 +++--- src/xpra/server/window/motion.pyx | 3 ++- src/xpra/server/window/video_subregion.py | 4 ++-- src/xpra/server/window/window_source.py | 20 +++++++++---------- src/xpra/server/window/window_video_source.py | 12 +++++------ src/xpra/sound/gstreamer_util.py | 8 ++++---- src/xpra/sound/sink.py | 6 +++--- src/xpra/sound/src.py | 4 ++-- src/xpra/sound/wrapper.py | 10 +++++----- src/xpra/util.py | 6 ++++++ src/xpra/x11/gtk2/window_damage.py | 4 ++-- src/xpra/x11/gtk2/wm.py | 7 ++++--- src/xpra/x11/server.py | 9 ++++----- src/xpra/x11/shadow_x11_server.py | 7 ++++--- 69 files changed, 252 insertions(+), 236 deletions(-) diff --git a/src/xpra/child_reaper.py b/src/xpra/child_reaper.py index 6fcc007aba..27ec7dd17c 100644 --- a/src/xpra/child_reaper.py +++ b/src/xpra/child_reaper.py @@ -12,7 +12,7 @@ import os, sys import signal -from xpra.util import envint +from xpra.util import envint, envbool from xpra.log import Logger log = Logger("server", "util") @@ -20,9 +20,9 @@ # use process polling with python versions older than 2.7 and 3.0, (because SIGCHLD support is broken) # or when the user requests it with the env var: BUGGY_PYTHON = sys.version_info<(2, 7) or sys.version_info[:2]==(3, 0) -USE_PROCESS_POLLING = os.name!="posix" or os.environ.get("XPRA_USE_PROCESS_POLLING")=="1" or BUGGY_PYTHON +USE_PROCESS_POLLING = os.name!="posix" or envbool("XPRA_USE_PROCESS_POLLING") or BUGGY_PYTHON POLL_DELAY = envint("XPRA_POLL_DELAY", 2) -POLL_WARNING = envint("XPRA_POLL_WARNING", 1) +POLL_WARNING = envbool("XPRA_POLL_WARNING", True) singleton = None diff --git a/src/xpra/client/client_base.py b/src/xpra/client/client_base.py index de823ef24b..264d821866 100644 --- a/src/xpra/client/client_base.py +++ b/src/xpra/client/client_base.py @@ -29,7 +29,7 @@ from xpra.version_util import version_compat_check, get_version_info, local_version from xpra.platform.info import get_name from xpra.os_util import get_machine_id, get_user_uuid, load_binary_file, SIGNAMES, strtobytes, bytestostr -from xpra.util import flatten_dict, typedict, updict, xor, repr_ellipsized, nonl, disconnect_is_an_error, dump_all_frames +from xpra.util import flatten_dict, typedict, updict, xor, repr_ellipsized, nonl, envbool, disconnect_is_an_error, dump_all_frames from xpra.net.file_transfer import FileTransferHandler from xpra.exit_codes import (EXIT_OK, EXIT_CONNECTION_LOST, EXIT_TIMEOUT, @@ -45,9 +45,9 @@ EXTRA_TIMEOUT = 10 -ALLOW_UNENCRYPTED_PASSWORDS = os.environ.get("XPRA_ALLOW_UNENCRYPTED_PASSWORDS", "0")=="1" -DETECT_LEAKS = os.environ.get("XPRA_DETECT_LEAKS", "0")=="1" -DELETE_PRINTER_FILE = os.environ.get("XPRA_DELETE_PRINTER_FILE", "1")=="1" +ALLOW_UNENCRYPTED_PASSWORDS = envbool("XPRA_ALLOW_UNENCRYPTED_PASSWORDS", False) +DETECT_LEAKS = envbool("XPRA_DETECT_LEAKS", False) +DELETE_PRINTER_FILE = envbool("XPRA_DELETE_PRINTER_FILE", True) class XpraClientBase(FileTransferHandler): diff --git a/src/xpra/client/client_widget_base.py b/src/xpra/client/client_widget_base.py index 426ba38364..f0a0eced56 100644 --- a/src/xpra/client/client_widget_base.py +++ b/src/xpra/client/client_widget_base.py @@ -1,17 +1,17 @@ # This file is part of Xpra. # Copyright (C) 2011 Serviware (Arthur Huillet, ) -# Copyright (C) 2010-2015 Antoine Martin +# Copyright (C) 2010-2016 Antoine Martin # Copyright (C) 2008, 2010 Nathaniel Smith # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os from xpra.log import Logger log = Logger("window") #pretend to draw the windows, but don't actually do anything -USE_FAKE_BACKING = os.environ.get("XPRA_USE_FAKE_BACKING", "0")=="1" +from xpra.util import envbool +USE_FAKE_BACKING = envbool("XPRA_USE_FAKE_BACKING", False) class ClientWidgetBase(object): diff --git a/src/xpra/client/client_window_base.py b/src/xpra/client/client_window_base.py index 090178eeb5..9c19813ae5 100644 --- a/src/xpra/client/client_window_base.py +++ b/src/xpra/client/client_window_base.py @@ -10,7 +10,7 @@ from xpra.client.client_widget_base import ClientWidgetBase from xpra.os_util import bytestostr -from xpra.util import typedict, WORKSPACE_UNSET, WORKSPACE_NAMES +from xpra.util import typedict, envbool, WORKSPACE_UNSET, WORKSPACE_NAMES from xpra.log import Logger log = Logger("window") plog = Logger("paint") @@ -22,7 +22,7 @@ REPAINT_ALL = os.environ.get("XPRA_REPAINT_ALL", "") -SIMULATE_MOUSE_DOWN = os.environ.get("XPRA_SIMULATE_MOUSE_DOWN", "1")=="1" +SIMULATE_MOUSE_DOWN = envbool("XPRA_SIMULATE_MOUSE_DOWN", True) PROPERTIES_DEBUG = [x.strip() for x in os.environ.get("XPRA_WINDOW_PROPERTIES_DEBUG", "").split(",")] diff --git a/src/xpra/client/gl/gl_check.py b/src/xpra/client/gl/gl_check.py index 84cff2f8e9..d7f0888fe9 100755 --- a/src/xpra/client/gl/gl_check.py +++ b/src/xpra/client/gl/gl_check.py @@ -1,12 +1,13 @@ #!/usr/bin/env python # This file is part of Xpra. # Copyright (C) 2012 Serviware (Arthur Huillet, ) -# Copyright (C) 2012-2014 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import sys, os +import sys import logging +from xpra.util import envbool from xpra.log import Logger, CaptureHandler log = Logger("opengl") @@ -42,12 +43,12 @@ #alpha requires gtk3 or *nix only for gtk2: DEFAULT_ALPHA = sys.version>'3' or (not sys.platform.startswith("win") and not sys.platform.startswith("darwin")) -GL_ALPHA_SUPPORTED = os.environ.get("XPRA_ALPHA", DEFAULT_ALPHA) in (True, "1") +GL_ALPHA_SUPPORTED = envbool("XPRA_ALPHA", DEFAULT_ALPHA) #not working with gtk3 yet? CAN_DOUBLE_BUFFER = True #needed on win32?: DEFAULT_DOUBLE_BUFFERED = sys.platform.startswith("win") and CAN_DOUBLE_BUFFER -DOUBLE_BUFFERED = os.environ.get("XPRA_OPENGL_DOUBLE_BUFFERED", str(int(DEFAULT_DOUBLE_BUFFERED)))=="1" +DOUBLE_BUFFERED = envbool("XPRA_OPENGL_DOUBLE_BUFFERED", DEFAULT_DOUBLE_BUFFERED) def get_visual_name(visual): diff --git a/src/xpra/client/gl/gl_window_backing_base.py b/src/xpra/client/gl/gl_window_backing_base.py index 7ca6ee8b39..7a527a8953 100644 --- a/src/xpra/client/gl/gl_window_backing_base.py +++ b/src/xpra/client/gl/gl_window_backing_base.py @@ -7,15 +7,15 @@ import os import time, math -from xpra.util import envint +from xpra.util import envint, envbool from xpra.log import Logger log = Logger("opengl", "paint") fpslog = Logger("opengl", "fps") -OPENGL_DEBUG = envint("XPRA_OPENGL_DEBUG") -OPENGL_PAINT_BOX = envint("XPRA_OPENGL_PAINT_BOX") -SCROLL_ENCODING = envint("XPRA_SCROLL_ENCODING", 1) -PAINT_FLUSH = envint("XPRA_PAINT_FLUSH", 1) +OPENGL_DEBUG = envbool("XPRA_OPENGL_DEBUG", False) +OPENGL_PAINT_BOX = envint("XPRA_OPENGL_PAINT_BOX", 0) +SCROLL_ENCODING = envbool("XPRA_SCROLL_ENCODING", True) +PAINT_FLUSH = envbool("XPRA_PAINT_FLUSH", True) from xpra.gtk_common.gtk_util import color_parse, is_realized @@ -158,7 +158,7 @@ def py_gl_debug_callback(source, error_type, error_id, severity, length, message import OpenGL_accelerate #@UnresolvedImport except: OpenGL_accelerate = None -zerocopy_upload = bool(OpenGL_accelerate) and os.environ.get("XPRA_ZEROCOPY_OPENGL_UPLOAD", "1")=="1" and is_pyopengl_memoryview_safe(OpenGL_version.__version__, OpenGL_accelerate.__version__) +zerocopy_upload = bool(OpenGL_accelerate) and envbool("XPRA_ZEROCOPY_OPENGL_UPLOAD", True) and is_pyopengl_memoryview_safe(OpenGL_version.__version__, OpenGL_accelerate.__version__) try: memoryview_type = memoryview except: diff --git a/src/xpra/client/gobject_client_base.py b/src/xpra/client/gobject_client_base.py index 66bac51eb8..7a66b61ef5 100644 --- a/src/xpra/client/gobject_client_base.py +++ b/src/xpra/client/gobject_client_base.py @@ -12,12 +12,12 @@ log = Logger("gobject", "client") import sys -from xpra.util import nonl, sorted_nicely, print_nested_dict, envint, DONE +from xpra.util import nonl, sorted_nicely, print_nested_dict, envbool, DONE from xpra.os_util import bytestostr from xpra.client.client_base import XpraClientBase, EXTRA_TIMEOUT from xpra.exit_codes import (EXIT_OK, EXIT_TIMEOUT, EXIT_UNSUPPORTED, EXIT_REMOTE_ERROR, EXIT_FILE_TOO_BIG) -FLATTEN_INFO = envint("XPRA_FLATTEN_INFO", 1) +FLATTEN_INFO = envbool("XPRA_FLATTEN_INFO", True) class GObjectXpraClient(XpraClientBase, gobject.GObject): diff --git a/src/xpra/client/gtk2/client_window.py b/src/xpra/client/gtk2/client_window.py index 375bf0681f..d1712981fa 100644 --- a/src/xpra/client/gtk2/client_window.py +++ b/src/xpra/client/gtk2/client_window.py @@ -1,15 +1,15 @@ # This file is part of Xpra. # Copyright (C) 2011 Serviware (Arthur Huillet, ) -# Copyright (C) 2010-2014 Antoine Martin +# Copyright (C) 2010-2016 Antoine Martin # Copyright (C) 2008, 2010 Nathaniel Smith # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os +from xpra.util import envbool from xpra.client.gtk2.gtk2_window_base import GTK2WindowBase -USE_CAIRO = os.environ.get("XPRA_USE_CAIRO_BACKING", "0")=="1" +USE_CAIRO = envbool("XPRA_USE_CAIRO_BACKING", False) if USE_CAIRO: from xpra.client.gtk2.cairo_backing import CairoBacking BACKING_CLASS = CairoBacking diff --git a/src/xpra/client/gtk2/pixmap_backing.py b/src/xpra/client/gtk2/pixmap_backing.py index f06a1a2239..e9b105eace 100644 --- a/src/xpra/client/gtk2/pixmap_backing.py +++ b/src/xpra/client/gtk2/pixmap_backing.py @@ -14,11 +14,11 @@ from xpra.client.gtk2.window_backing import GTK2WindowBacking from xpra.client.window_backing_base import fire_paint_callbacks from xpra.os_util import memoryview_to_bytes -from xpra.util import csv +from xpra.util import csv, envbool PIXMAP_RGB_MODES = ["RGB", "RGBX", "RGBA"] -INDIRECT_BGR = os.environ.get("XPRA_PIXMAP_INDIRECT_BGR", "0")=="1" +INDIRECT_BGR = envbool("XPRA_PIXMAP_INDIRECT_BGR", False) if INDIRECT_BGR: PIXMAP_RGB_MODES += ["BGRX", "BGRA", "BGR"] diff --git a/src/xpra/client/gtk2/window_backing.py b/src/xpra/client/gtk2/window_backing.py index 2749d7cb9d..0e6539d756 100644 --- a/src/xpra/client/gtk2/window_backing.py +++ b/src/xpra/client/gtk2/window_backing.py @@ -1,20 +1,20 @@ # This file is part of Xpra. # Copyright (C) 2008 Nathaniel Smith -# Copyright (C) 2012-2015 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. from gtk import gdk -import os from xpra.log import Logger log = Logger("paint") +from xpra.util import envbool from xpra.client.gtk_base.gtk_window_backing_base import GTKWindowBacking from xpra.client.window_backing_base import fire_paint_callbacks from xpra.codecs.loader import has_codec -USE_PIL = os.environ.get("XPRA_USE_PIL", "1")=="1" +USE_PIL = envbool("XPRA_USE_PIL", True) """ diff --git a/src/xpra/client/gtk_base/gtk_client_base.py b/src/xpra/client/gtk_base/gtk_client_base.py index adb767a23d..030dd519b9 100644 --- a/src/xpra/client/gtk_base/gtk_client_base.py +++ b/src/xpra/client/gtk_base/gtk_client_base.py @@ -25,7 +25,7 @@ from xpra.gtk_common.quit import (gtk_main_quit_really, gtk_main_quit_on_fatal_exceptions_enable) -from xpra.util import updict, pver, iround, flatten_dict, DEFAULT_METADATA_SUPPORTED +from xpra.util import updict, pver, iround, flatten_dict, envbool, DEFAULT_METADATA_SUPPORTED from xpra.os_util import bytestostr from xpra.gtk_common.cursor_names import cursor_types from xpra.gtk_common.gtk_util import get_gtk_version_info, scaled_image, get_default_cursor, \ @@ -43,7 +43,7 @@ missing_cursor_names = set() METADATA_SUPPORTED = os.environ.get("XPRA_METADATA_SUPPORTED") -USE_LOCAL_CURSORS = os.environ.get("XPRA_USE_LOCAL_CURSORS", "1")=="1" +USE_LOCAL_CURSORS = envbool("XPRA_USE_LOCAL_CURSORS", True) class GTKXpraClient(UIXpraClient, GObjectXpraClient): diff --git a/src/xpra/client/gtk_base/gtk_client_window_base.py b/src/xpra/client/gtk_base/gtk_client_window_base.py index 5987f37ee2..8893de41bb 100644 --- a/src/xpra/client/gtk_base/gtk_client_window_base.py +++ b/src/xpra/client/gtk_base/gtk_client_window_base.py @@ -26,7 +26,8 @@ from xpra.os_util import memoryview_to_bytes, bytestostr -from xpra.util import (AdHocStruct, typedict, envint, WORKSPACE_UNSET, WORKSPACE_ALL, WORKSPACE_NAMES, MOVERESIZE_DIRECTION_STRING, SOURCE_INDICATION_STRING, +from xpra.util import (AdHocStruct, typedict, envint, envbool, + WORKSPACE_UNSET, WORKSPACE_ALL, WORKSPACE_NAMES, MOVERESIZE_DIRECTION_STRING, SOURCE_INDICATION_STRING, MOVERESIZE_CANCEL, MOVERESIZE_SIZE_TOPLEFT, MOVERESIZE_SIZE_TOP, MOVERESIZE_SIZE_TOPRIGHT, MOVERESIZE_SIZE_RIGHT, @@ -48,7 +49,7 @@ CAN_SET_WORKSPACE = False HAS_X11_BINDINGS = False -if os.name=="posix" and os.environ.get("XPRA_SET_WORKSPACE", "1")!="0": +if os.name=="posix" and envbool("XPRA_SET_WORKSPACE", True): try: from xpra.x11.gtk_x11.prop import prop_get, prop_set from xpra.x11.bindings.window_bindings import constants, X11WindowBindings, SHAPE_KIND #@UnresolvedImport @@ -75,11 +76,11 @@ BREAK_MOVERESIZE = os.environ.get("XPRA_BREAK_MOVERESIZE", "Escape").split(",") -MOVERESIZE_X11 = envint("XPRA_MOVERESIZE_X11", os.name=="posix") +MOVERESIZE_X11 = envbool("XPRA_MOVERESIZE_X11", os.name=="posix") -SAVE_WINDOW_ICONS = envint("XPRA_SAVE_WINDOW_ICONS") +SAVE_WINDOW_ICONS = envbool("XPRA_SAVE_WINDOW_ICONS", False) UNDECORATED_TRANSIENT_IS_OR = envint("XPRA_UNDECORATED_TRANSIENT_IS_OR", 1) -LAZY_SHAPE = envint("XPRA_LAZY_SHAPE", 1) +LAZY_SHAPE = envbool("XPRA_LAZY_SHAPE", True) #window types we map to POPUP rather than TOPLEVEL POPUP_TYPE_HINTS = set(( diff --git a/src/xpra/client/gtk_base/gtk_tray_menu_base.py b/src/xpra/client/gtk_base/gtk_tray_menu_base.py index 5ab04d7693..6a75688adf 100644 --- a/src/xpra/client/gtk_base/gtk_tray_menu_base.py +++ b/src/xpra/client/gtk_base/gtk_tray_menu_base.py @@ -1,16 +1,15 @@ # coding=utf8 # This file is part of Xpra. -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. import sys -import os from xpra.gtk_common.gobject_compat import import_gtk, import_glib gtk = import_gtk() glib = import_glib() -from xpra.util import CLIENT_EXIT, iround +from xpra.util import CLIENT_EXIT, iround, envbool from xpra.os_util import bytestostr from xpra.gtk_common.gtk_util import ensure_item_selected, menuitem, popup_menu_workaround, CheckMenuItem from xpra.client.client_base import EXIT_OK @@ -30,10 +29,10 @@ HIDE_DISABLED_MENU_ENTRIES = sys.platform.startswith("darwin") -SHOW_UPLOAD = os.environ.get("XPRA_SHOW_UPLOAD_MENU", "1")=="1" -STARTSTOP_SOUND_MENU = os.environ.get("XPRA_SHOW_SOUND_MENU", "1")=="1" -WEBCAM_MENU = os.environ.get("XPRA_SHOW_WEBCAM_MENU", "1")=="1" -RUNCOMMAND_MENU = os.environ.get("XPRA_SHOW_RUNCOMMAND_MENU", "1")=="1" +SHOW_UPLOAD = envbool("XPRA_SHOW_UPLOAD_MENU", True) +STARTSTOP_SOUND_MENU = envbool("XPRA_SHOW_SOUND_MENU", True) +WEBCAM_MENU = envbool("XPRA_SHOW_WEBCAM_MENU", True) +RUNCOMMAND_MENU = envbool("XPRA_SHOW_RUNCOMMAND_MENU", True) LOSSLESS = "Lossless" QUALITY_OPTIONS_COMMON = { diff --git a/src/xpra/client/gtk_base/gtk_window_backing_base.py b/src/xpra/client/gtk_base/gtk_window_backing_base.py index cd6f39bc16..6529b5abe0 100644 --- a/src/xpra/client/gtk_base/gtk_window_backing_base.py +++ b/src/xpra/client/gtk_base/gtk_window_backing_base.py @@ -1,10 +1,9 @@ # This file is part of Xpra. # Copyright (C) 2008 Nathaniel Smith -# Copyright (C) 2012-2015 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os import sys #pygtk3 vs pygtk2 (sigh) @@ -12,6 +11,7 @@ glib = import_glib() cairo = import_cairo() +from xpra.util import envbool from xpra.client.window_backing_base import WindowBackingBase from xpra.log import Logger log = Logger("paint") @@ -20,7 +20,7 @@ # - on MS Windows: not supported # - on OSX: only with gtk3 DEFAULT_HAS_ALPHA = not sys.platform.startswith("win") and (not sys.platform.startswith("darwin") or is_gtk3()) -GTK_ALPHA_SUPPORTED = os.environ.get("XPRA_ALPHA", DEFAULT_HAS_ALPHA) in (True, "1") +GTK_ALPHA_SUPPORTED = envbool("XPRA_ALPHA", DEFAULT_HAS_ALPHA) """ diff --git a/src/xpra/client/gtk_base/statusicon_tray.py b/src/xpra/client/gtk_base/statusicon_tray.py index c7d92a835a..5183a8c646 100644 --- a/src/xpra/client/gtk_base/statusicon_tray.py +++ b/src/xpra/client/gtk_base/statusicon_tray.py @@ -1,6 +1,6 @@ # This file is part of Xpra. # Copyright (C) 2010 Nathaniel Smith -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -8,6 +8,7 @@ import os import sys +from xpra.util import envbool from xpra.gtk_common.gobject_compat import import_gtk, import_gdk, is_gtk3 gtk = import_gtk() gdk = import_gdk() @@ -21,8 +22,8 @@ ORIENTATION[gtk.ORIENTATION_HORIZONTAL] = "HORIZONTAL" ORIENTATION[gtk.ORIENTATION_VERTICAL] = "VERTICAL" -GUESS_GEOMETRY = str(int(sys.platform.startswith("win") or sys.platform.startswith("darwin"))) -GUESS_GEOMETRY = os.environ.get("XPRA_GUESS_ICON_GEOMETRY", GUESS_GEOMETRY)=="1" +GUESS_GEOMETRY = sys.platform.startswith("win") or sys.platform.startswith("darwin") +GUESS_GEOMETRY = envbool("XPRA_GUESS_ICON_GEOMETRY", GUESS_GEOMETRY) log("tray GUESS_GEOMETRY=%s", GUESS_GEOMETRY) diff --git a/src/xpra/client/ui_client_base.py b/src/xpra/client/ui_client_base.py index 6593ed3b4c..d2f8eee984 100644 --- a/src/xpra/client/ui_client_base.py +++ b/src/xpra/client/ui_client_base.py @@ -59,7 +59,7 @@ from xpra.child_reaper import reaper_cleanup from xpra.make_thread import make_thread from xpra.os_util import BytesIOClass, Queue, platform_name, get_machine_id, get_user_uuid, bytestostr -from xpra.util import nonl, std, iround, envint, AtomicInteger, log_screen_sizes, typedict, updict, csv, engs, CLIENT_EXIT +from xpra.util import nonl, std, iround, envint, envbool, AtomicInteger, log_screen_sizes, typedict, updict, csv, engs, CLIENT_EXIT from xpra.version_util import get_version_info_full, get_platform_info try: from xpra.clipboard.clipboard_base import ALL_CLIPBOARDS @@ -77,16 +77,16 @@ def add_legacy_names(codecs): PING_TIMEOUT = envint("XPRA_PING_TIMEOUT", 60) UNGRAB_KEY = os.environ.get("XPRA_UNGRAB_KEY", "Escape") -MONITOR_CHANGE_REINIT = os.environ.get("XPRA_MONITOR_CHANGE_REINIT") +MONITOR_CHANGE_REINIT = envint("XPRA_MONITOR_CHANGE_REINIT") AV_SYNC_DELTA = envint("XPRA_AV_SYNC_DELTA") -MOUSE_ECHO = envint("XPRA_MOUSE_ECHO") +MOUSE_ECHO = envbool("XPRA_MOUSE_ECHO") PAINT_FAULT_RATE = envint("XPRA_PAINT_FAULT_INJECTION_RATE") -PAINT_FAULT_TELL = envint("XPRA_PAINT_FAULT_INJECTION_TELL", 1) +PAINT_FAULT_TELL = envbool("XPRA_PAINT_FAULT_INJECTION_TELL", True) -B_FRAMES = envint("XPRA_B_FRAMES", 1) -PAINT_FLUSH = envint("XPRA_PAINT_FLUSH", 1) +B_FRAMES = envbool("XPRA_B_FRAMES", True) +PAINT_FLUSH = envbool("XPRA_PAINT_FLUSH", True) #LOG_INFO_RESPONSE = ("^window.*position", "^window.*size$") LOG_INFO_RESPONSE = os.environ.get("XPRA_LOG_INFO_RESPONSE", "") @@ -103,7 +103,7 @@ def add_legacy_names(codecs): RPC_TIMEOUT = envint("XPRA_RPC_TIMEOUT", 5000) -WEBCAM_ALLOW_VIRTUAL = envint("XPRA_WEBCAM_ALLOW_VIRTUAL") +WEBCAM_ALLOW_VIRTUAL = envbool("XPRA_WEBCAM_ALLOW_VIRTUAL", False) WEBCAM_TARGET_FPS = max(1, min(50, envint("XPRA_WEBCAM_FPS", 20))) WM_CLASS_CLOSEEXIT = os.environ.get("XPRA_WM_CLASS_CLOSEEXIT", "Xephyr").split(",") diff --git a/src/xpra/client/window_backing_base.py b/src/xpra/client/window_backing_base.py index 358b2727e8..0b64141aed 100644 --- a/src/xpra/client/window_backing_base.py +++ b/src/xpra/client/window_backing_base.py @@ -12,7 +12,7 @@ from threading import Lock from xpra.net.mmap_pipe import mmap_read from xpra.net import compression -from xpra.util import typedict, csv, envint +from xpra.util import typedict, csv, envint, envbool from xpra.codecs.loader import get_codec from xpra.codecs.video_helper import getVideoHelper from xpra.os_util import BytesIOClass, bytestostr, _buffer @@ -20,8 +20,8 @@ from xpra.codecs.argb.argb import unpremultiply_argb, unpremultiply_argb_in_place #@UnresolvedImport DELTA_BUCKETS = envint("XPRA_DELTA_BUCKETS", 5) -INTEGRITY_HASH = envint("XPRA_INTEGRITY_HASH") -WEBP_PILLOW = envint("XPRA_WEBP_PILLOW") +INTEGRITY_HASH = envbool("XPRA_INTEGRITY_HASH", False) +WEBP_PILLOW = envbool("XPRA_WEBP_PILLOW", False) #ie: #CSC_OPTIONS = { "YUV420P" : {"RGBX" : [opencl.spec, swscale.spec], "BGRX" : ...} } diff --git a/src/xpra/clipboard/clipboard_base.py b/src/xpra/clipboard/clipboard_base.py index e640d424f4..5d1356e7b6 100644 --- a/src/xpra/clipboard/clipboard_base.py +++ b/src/xpra/clipboard/clipboard_base.py @@ -23,7 +23,7 @@ from xpra.gtk_common.gtk_util import GetClipboard, PROPERTY_CHANGE_MASK from xpra.gtk_common.nested_main import NestedMainLoop from xpra.net.compression import Compressible -from xpra.util import csv, envint +from xpra.util import csv, envint, envbool MIN_CLIPBOARD_COMPRESSION_SIZE = 512 @@ -39,7 +39,7 @@ TEST_DROP_CLIPBOARD_REQUESTS = envint("XPRA_TEST_DROP_CLIPBOARD") -STORE_ON_EXIT = envint("XPRA_CLIPBOARD_STORE_ON_EXIT", 1) +STORE_ON_EXIT = envbool("XPRA_CLIPBOARD_STORE_ON_EXIT", True) _discard_target_strs_ = os.environ.get("XPRA_DISCARD_TARGETS") if _discard_target_strs_ is not None: diff --git a/src/xpra/codecs/csc_opencl/colorspace_converter.py b/src/xpra/codecs/csc_opencl/colorspace_converter.py index 565bf68a46..aa25dc1943 100644 --- a/src/xpra/codecs/csc_opencl/colorspace_converter.py +++ b/src/xpra/codecs/csc_opencl/colorspace_converter.py @@ -1,5 +1,5 @@ # This file is part of Xpra. -# Copyright (C) 2013, 2014 Antoine Martin +# Copyright (C) 2013-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -13,16 +13,15 @@ import pyopencl #@UnresolvedImport from pyopencl import mem_flags #@UnresolvedImport -from xpra.util import engs +from xpra.util import engs, envbool from xpra.os_util import _memoryview PREFERRED_DEVICE_TYPE = os.environ.get("XPRA_OPENCL_DEVICE_TYPE", "GPU") PREFERRED_DEVICE_NAME = os.environ.get("XPRA_OPENCL_DEVICE_NAME", "") PREFERRED_DEVICE_PLATFORM = os.environ.get("XPRA_OPENCL_PLATFORM", "") -OPENCL_YUV2RGB = os.environ.get("XPRA_OPENCL_YUV2RGB", "0")=="1" - -AMD_WARNING_SHOWN = not os.environ.get("XPRA_AMD_WARNING", "1")=="1" +OPENCL_YUV2RGB = envbool("XPRA_OPENCL_YUV2RGB", False) +AMD_WARNING_SHOWN = not envbool("XPRA_AMD_WARNING", True) opencl_platforms = pyopencl.get_platforms() if len(opencl_platforms)==0: diff --git a/src/xpra/codecs/csc_swscale/colorspace_converter.pyx b/src/xpra/codecs/csc_swscale/colorspace_converter.pyx index 1b9bfd5819..24586b98d2 100644 --- a/src/xpra/codecs/csc_swscale/colorspace_converter.pyx +++ b/src/xpra/codecs/csc_swscale/colorspace_converter.pyx @@ -1,6 +1,6 @@ # This file is part of Xpra. # Copyright (C) 2013 Arthur Huillet -# Copyright (C) 2012-2014 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -253,7 +253,7 @@ def get_spec(in_colorspace, out_colorspace): MIN_SWSCALE_VERSION = (2, 1, 1) if (LIBSWSCALE_VERSION_MAJOR, LIBSWSCALE_VERSION_MINOR, LIBSWSCALE_VERSION_MICRO) +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -9,7 +9,7 @@ import os from xpra.log import Logger log = Logger("encoder", "x264") -from xpra.util import nonl, envint, AtomicInteger +from xpra.util import nonl, envint, envbool, AtomicInteger from xpra.os_util import bytestostr from xpra.codecs.codec_constants import get_subsampling_divs, video_spec from collections import deque @@ -20,8 +20,8 @@ SLICED_THREADS = envint("XPRA_X264_SLICED_THREADS", 1) LOGGING = os.environ.get("XPRA_X264_LOGGING", "WARNING") PROFILE = os.environ.get("XPRA_X264_PROFILE") TUNE = os.environ.get("XPRA_X264_TUNE") -LOG_NALS = envint("XPRA_X264_LOG_NALS") -#USE_OPENCL = os.environ.get("XPRA_X264_OPENCL", "0")=="1" +LOG_NALS = envbool("XPRA_X264_LOG_NALS") +#USE_OPENCL = envbool("XPRA_X264_OPENCL", False) SAVE_TO_FILE = os.environ.get("XPRA_SAVE_TO_FILE") diff --git a/src/xpra/codecs/enc_x265/encoder.pyx b/src/xpra/codecs/enc_x265/encoder.pyx index 0a89dbd28b..25bcda4050 100644 --- a/src/xpra/codecs/enc_x265/encoder.pyx +++ b/src/xpra/codecs/enc_x265/encoder.pyx @@ -6,10 +6,11 @@ import time import os +from xpra.util import envbool from xpra.log import Logger log = Logger("encoder", "x265") -LOG_NALS = os.environ.get("XPRA_X265_LOG_NALS", "0")=="1" +LOG_NALS = envbool("XPRA_X265_LOG_NALS", False) from xpra.codecs.codec_constants import get_subsampling_divs, RGB_FORMATS, video_spec diff --git a/src/xpra/codecs/loader.py b/src/xpra/codecs/loader.py index 0080b0b415..4980a3dd9d 100755 --- a/src/xpra/codecs/loader.py +++ b/src/xpra/codecs/loader.py @@ -6,6 +6,8 @@ import sys import os.path + +from xpra.util import envbool from xpra.log import Logger log = Logger("codec", "loader") try: @@ -22,8 +24,8 @@ #do not require the libraries to be installed NOWARN = ["nvenc7", "opencl", "opencv"] -SELFTEST = os.environ.get("XPRA_CODEC_SELFTEST", "1")=="1" -FULL_SELFTEST = os.environ.get("XPRA_CODEC_FULL_SELFTEST", "0")=="1" +SELFTEST = envbool("XPRA_CODEC_SELFTEST", True) +FULL_SELFTEST = envbool("XPRA_CODEC_FULL_SELFTEST", False) CODEC_FAIL_IMPORT = os.environ.get("XPRA_CODEC_FAIL_IMPORT", "").split(",") CODEC_FAIL_SELFTEST = os.environ.get("XPRA_CODEC_FAIL_SELFTEST", "").split(",") diff --git a/src/xpra/codecs/nv_util.py b/src/xpra/codecs/nv_util.py index b5dee47b31..19f2cdd456 100644 --- a/src/xpra/codecs/nv_util.py +++ b/src/xpra/codecs/nv_util.py @@ -8,9 +8,9 @@ import os from xpra.log import Logger log = Logger("encoder", "nvenc") -from xpra.util import pver, print_nested_dict, engs +from xpra.util import pver, print_nested_dict, engs, envbool -IGNORE_NVIDIA_DRIVER_BLACKLIST = os.environ.get("XPRA_IGNORE_NVIDIA_DRIVER_BLACKLIST", "0")=="1" +IGNORE_NVIDIA_DRIVER_BLACKLIST = envbool("XPRA_IGNORE_NVIDIA_DRIVER_BLACKLIST", False) def get_nvml_driver_version(): @@ -215,7 +215,7 @@ def validate_driver_yuv444lossless(): if v: l("Warning: NVidia driver version %s is unsupported with NVENC", pver(v)) l(" recommended driver versions: up to 350 only") - if os.environ.get("XPRA_NVENC_YUV444P", "0")!="1": + if envbool("XPRA_NVENC_YUV444P", False): l(" disabling YUV444P and lossless mode") l(" use XPRA_NVENC_YUV444P=1 to force enable it") return False diff --git a/src/xpra/codecs/nvenc7/encoder.pyx b/src/xpra/codecs/nvenc7/encoder.pyx index 38512b20b2..70121b382b 100644 --- a/src/xpra/codecs/nvenc7/encoder.pyx +++ b/src/xpra/codecs/nvenc7/encoder.pyx @@ -13,7 +13,7 @@ from collections import deque from pycuda import driver -from xpra.util import AtomicInteger, engs, csv, pver, envint +from xpra.util import AtomicInteger, engs, csv, pver, envint, envbool from xpra.os_util import _memoryview from xpra.codecs.cuda_common.cuda_context import init_all_devices, get_devices, select_device, \ get_cuda_info, get_pycuda_info, device_info, reset_state, \ @@ -36,7 +36,7 @@ cdef int MIN_COMPUTE = 0x30 cdef int YUV444_THRESHOLD = envint("XPRA_NVENC_YUV444_THRESHOLD", 85) cdef int LOSSLESS_THRESHOLD = envint("XPRA_NVENC_LOSSLESS_THRESHOLD", 100) -cdef int DEBUG_API = envint("XPRA_NVENC_DEBUG_API") +cdef int DEBUG_API = envbool("XPRA_NVENC_DEBUG_API", False) cdef int QP_MAX_VALUE = 51 #newer versions of ffmpeg can decode up to 63 diff --git a/src/xpra/codecs/pillow/__init__.py b/src/xpra/codecs/pillow/__init__.py index 5df4947ac5..c1780672d8 100644 --- a/src/xpra/codecs/pillow/__init__.py +++ b/src/xpra/codecs/pillow/__init__.py @@ -5,9 +5,10 @@ import os import logging +from xpra.util import envbool from xpra.log import Logger -PIL_DEBUG = os.environ.get("XPRA_PIL_DEBUG", "0")=="1" +PIL_DEBUG = envbool("XPRA_PIL_DEBUG", False) if PIL_DEBUG: log = Logger("encoder", "pillow") log.info("enabling PIL.DEBUG") diff --git a/src/xpra/codecs/vpx/encoder.pyx b/src/xpra/codecs/vpx/encoder.pyx index 7e46a3d936..509e4ef6db 100644 --- a/src/xpra/codecs/vpx/encoder.pyx +++ b/src/xpra/codecs/vpx/encoder.pyx @@ -8,7 +8,7 @@ import os from collections import deque from xpra.codecs.codec_constants import video_spec from xpra.os_util import bytestostr -from xpra.util import AtomicInteger, envint +from xpra.util import AtomicInteger, envint, envbool from xpra.log import Logger log = Logger("encoder", "vpx") @@ -35,8 +35,8 @@ include "constants.pxi" cdef int ENABLE_VP9_YUV444 = False IF ENABLE_VP9: - ENABLE_VP9_YUV444 = os.environ.get("XPRA_VP9_YUV444", "1")=="1" -cdef int ENABLE_VP9_TILING = os.environ.get("XPRA_VP9_TILING", "0")=="1" + ENABLE_VP9_YUV444 = envbool("XPRA_VP9_YUV444", True) +cdef int ENABLE_VP9_TILING = envbool("XPRA_VP9_TILING", False) cdef inline int MIN(int a, int b): diff --git a/src/xpra/codecs/webp/encode.pyx b/src/xpra/codecs/webp/encode.pyx index 889e479364..998226a49a 100644 --- a/src/xpra/codecs/webp/encode.pyx +++ b/src/xpra/codecs/webp/encode.pyx @@ -8,8 +8,9 @@ import os from xpra.log import Logger log = Logger("encoder", "webp") -cdef int LOG_CONFIG = os.environ.get("XPRA_WEBP_LOG_CONFIG", "0")=="1" -cdef int USE_THREADS = os.environ.get("XPRA_WEBP_THREADING", "1")=="1" +from xpra.util envbool +cdef int LOG_CONFIG = envbool("XPRA_WEBP_LOG_CONFIG", False) +cdef int USE_THREADS = envbool("XPRA_WEBP_THREADING", True) cdef inline int MIN(int a, int b): diff --git a/src/xpra/gtk_common/error.py b/src/xpra/gtk_common/error.py index c65e564dbd..28370ef69f 100644 --- a/src/xpra/gtk_common/error.py +++ b/src/xpra/gtk_common/error.py @@ -29,10 +29,10 @@ __all__ = ["XError", "trap"] -import os +from xpra.util import envbool #run xpra in synchronized mode to debug X11 errors: -XPRA_SYNCHRONIZE = os.environ.get("XPRA_SYNCHRONIZE", "1")=="1" +XPRA_SYNCHRONIZE = envbool("XPRA_SYNCHRONIZE", True) from xpra.log import Logger log = Logger("x11", "util") diff --git a/src/xpra/net/bencode/__init__.py b/src/xpra/net/bencode/__init__.py index 6887101914..6db0602839 100644 --- a/src/xpra/net/bencode/__init__.py +++ b/src/xpra/net/bencode/__init__.py @@ -1,13 +1,12 @@ # This file is part of Xpra. -# Copyright (C) 2014 Antoine Martin +# Copyright (C) 2014-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os - +from xpra.util import envbool cython_bencode_loaded = False -if os.environ.get("XPRA_USE_CYTHON_BENCODE", "1")!="0": +if envbool("XPRA_USE_CYTHON_BENCODE", True): try: from xpra.net.bencode.cython_bencode import bencode, bdecode, __version__ cython_bencode_loaded = True diff --git a/src/xpra/net/bytestreams.py b/src/xpra/net/bytestreams.py index 7edd715fac..ee5d7c285e 100644 --- a/src/xpra/net/bytestreams.py +++ b/src/xpra/net/bytestreams.py @@ -14,10 +14,10 @@ from xpra.log import Logger log = Logger("network", "protocol") from xpra.net import ConnectionClosedException -from xpra.util import envint +from xpra.util import envint, envbool -TCP_NODELAY = envint("XPRA_TCP_NODELAY", 1) +TCP_NODELAY = envbool("XPRA_TCP_NODELAY", True) VSOCK_TIMEOUT = envint("XPRA_VSOCK_TIMEOUT", 5) SOCKET_TIMEOUT = envint("XPRA_SOCKET_TIMEOUT", 10) diff --git a/src/xpra/net/crypto.py b/src/xpra/net/crypto.py index e4a92583b3..b09e010ed5 100644 --- a/src/xpra/net/crypto.py +++ b/src/xpra/net/crypto.py @@ -5,12 +5,12 @@ # later version. See the file COPYING for details. import os -from xpra.util import envint +from xpra.util import envint, envbool from xpra.log import Logger log = Logger("network", "crypto") -ENABLE_CRYPTO = envint("XPRA_ENABLE_CRYPTO", 1) -ENCRYPT_FIRST_PACKET = envint("XPRA_ENCRYPT_FIRST_PACKET") +ENABLE_CRYPTO = envbool("XPRA_ENABLE_CRYPTO", True) +ENCRYPT_FIRST_PACKET = envbool("XPRA_ENCRYPT_FIRST_PACKET", False) DEFAULT_IV = os.environ.get("XPRA_CRYPTO_DEFAULT_IV", "0000000000000000") DEFAULT_SALT = os.environ.get("XPRA_CRYPTO_DEFAULT_SALT", "0000000000000000") diff --git a/src/xpra/net/file_transfer.py b/src/xpra/net/file_transfer.py index a46c1b1cbd..8cd1a1e573 100644 --- a/src/xpra/net/file_transfer.py +++ b/src/xpra/net/file_transfer.py @@ -15,10 +15,10 @@ filelog = Logger("file") from xpra.child_reaper import getChildReaper -from xpra.util import typedict, csv, nonl, envint +from xpra.util import typedict, csv, nonl, envint, envbool from xpra.simple_stats import std_unit -DELETE_PRINTER_FILE = envint("XPRA_DELETE_PRINTER_FILE", 1) +DELETE_PRINTER_FILE = envbool("XPRA_DELETE_PRINTER_FILE", True) FILE_CHUNKS_SIZE = max(0, envint("XPRA_FILE_CHUNKS_SIZE", 65536)) MAX_CONCURRENT_FILES = max(1, envint("XPRA_MAX_CONCURRENT_FILES", 10)) CHUNK_TIMEOUT = 10*1000 diff --git a/src/xpra/net/packet_encoding.py b/src/xpra/net/packet_encoding.py index e82938fc72..0a779e8048 100644 --- a/src/xpra/net/packet_encoding.py +++ b/src/xpra/net/packet_encoding.py @@ -1,20 +1,19 @@ #!/usr/bin/env python # This file is part of Xpra. -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Copyright (C) 2008, 2009, 2010 Nathaniel Smith # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os - from xpra.log import Logger log = Logger("network", "protocol") from xpra.net.header import FLAGS_RENCODE, FLAGS_YAML, FLAGS_BENCODE +from xpra.util import envbool #those are also modified from the command line switch: -use_rencode = os.environ.get("XPRA_USE_RENCODER", "1")=="1" -use_bencode = os.environ.get("XPRA_USE_BENCODER", "1")=="1" -use_yaml = os.environ.get("XPRA_USE_YAML", "1")=="1" +use_rencode = envbool("XPRA_USE_RENCODER", True) +use_bencode = envbool("XPRA_USE_BENCODER", True) +use_yaml = envbool("XPRA_USE_YAML", True) has_rencode = None diff --git a/src/xpra/net/protocol.py b/src/xpra/net/protocol.py index d3014790a2..04f2711c57 100644 --- a/src/xpra/net/protocol.py +++ b/src/xpra/net/protocol.py @@ -10,7 +10,6 @@ import sys from socket import error as socket_error -import os import binascii from threading import Lock, Event @@ -20,7 +19,7 @@ cryptolog = Logger("network", "crypto") from xpra.os_util import Queue, strtobytes -from xpra.util import repr_ellipsized, csv, envint +from xpra.util import repr_ellipsized, csv, envint, envbool from xpra.net import ConnectionClosedException from xpra.net.bytestreams import ABORT from xpra.net import compression @@ -53,8 +52,7 @@ def INJECT_FAULT(p): def INJECT_FAULT(p): pass -USE_ALIASES = os.environ.get("XPRA_USE_ALIASES", "1")=="1" - +USE_ALIASES = envbool("XPRA_USE_ALIASES", True) READ_BUFFER_SIZE = envint("XPRA_READ_BUFFER_SIZE", 65536) #merge header and packet if packet is smaller than: PACKET_JOIN_SIZE = envint("XPRA_PACKET_JOIN_SIZE", READ_BUFFER_SIZE) diff --git a/src/xpra/net/subprocess_wrapper.py b/src/xpra/net/subprocess_wrapper.py index 7a9a971101..1f3580be14 100644 --- a/src/xpra/net/subprocess_wrapper.py +++ b/src/xpra/net/subprocess_wrapper.py @@ -10,7 +10,7 @@ import binascii from xpra.gtk_common.gobject_compat import import_glib -from xpra.util import repr_ellipsized, envint +from xpra.util import repr_ellipsized, envint, envbool from xpra.net.bytestreams import TwoFileConnection from xpra.net import ConnectionClosedException @@ -30,13 +30,13 @@ #using the protocol for encoding the data -DEBUG_WRAPPER = envint("XPRA_WRAPPER_DEBUG") +DEBUG_WRAPPER = envbool("XPRA_WRAPPER_DEBUG", False) #to make it possible to inspect files (more human readable): -HEXLIFY_PACKETS = envint("XPRA_HEXLIFY_PACKETS") +HEXLIFY_PACKETS = envbool("XPRA_HEXLIFY_PACKETS", False) #avoids showing a new console window on win32: -WIN32_SHOWWINDOW = envint("XPRA_WIN32_SHOWWINDOW") +WIN32_SHOWWINDOW = envbool("XPRA_WIN32_SHOWWINDOW", False) #this used to cause problems with py3k / gi bindings? -HANDLE_SIGINT = envint("XPRA_WRAPPER_SIGINT", 1) +HANDLE_SIGINT = envbool("XPRA_WRAPPER_SIGINT", True) FAULT_RATE = envint("XPRA_WRAPPER_FAULT_INJECTION_RATE") if FAULT_RATE>0: diff --git a/src/xpra/net/websocket.py b/src/xpra/net/websocket.py index ba0ee9cc02..d42fa59515 100644 --- a/src/xpra/net/websocket.py +++ b/src/xpra/net/websocket.py @@ -10,13 +10,13 @@ from xpra.log import Logger log = Logger("network", "websocket") -from xpra.util import AdHocStruct, envint +from xpra.util import AdHocStruct, envbool from xpra.net.bytestreams import SocketConnection from websockify.websocket import WebSocketRequestHandler -WEBSOCKET_TCP_NODELAY = envint("WEBSOCKET_TCP_NODELAY", 1) -WEBSOCKET_TCP_KEEPALIVE = envint("WEBSOCKET_TCP_KEEPALIVE", 1) -WEBSOCKET_DEBUG = envint("XPRA_WEBSOCKET_DEBUG") +WEBSOCKET_TCP_NODELAY = envbool("WEBSOCKET_TCP_NODELAY", True) +WEBSOCKET_TCP_KEEPALIVE = envbool("WEBSOCKET_TCP_KEEPALIVE", True) +WEBSOCKET_DEBUG = envbool("XPRA_WEBSOCKET_DEBUG", False) class WSRequestHandler(WebSocketRequestHandler): diff --git a/src/xpra/platform/darwin/gui.py b/src/xpra/platform/darwin/gui.py index 8115269546..17c3ad0988 100644 --- a/src/xpra/platform/darwin/gui.py +++ b/src/xpra/platform/darwin/gui.py @@ -1,14 +1,14 @@ #!/usr/bin/env python # This file is part of Xpra. -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os from xpra.log import Logger log = Logger("osx", "events") -SLEEP_HANDLER = os.environ.get("XPRA_OSX_SLEEP_HANDLER", "1")=="1" +from xpra.util import envbool +SLEEP_HANDLER = envbool("XPRA_OSX_SLEEP_HANDLER", True) exit_cb = None diff --git a/src/xpra/platform/darwin/osx_menu.py b/src/xpra/platform/darwin/osx_menu.py index 6424d6fb63..8360a2d1a4 100644 --- a/src/xpra/platform/darwin/osx_menu.py +++ b/src/xpra/platform/darwin/osx_menu.py @@ -1,14 +1,13 @@ # This file is part of Xpra. -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os - from xpra.gtk_common.gobject_compat import import_gtk, import_glib gtk = import_gtk() glib = import_glib() +from xpra.util import envbool from xpra.gtk_common.gtk_util import scaled_image from xpra.gtk_common.about import about from xpra.client.gtk_base.gtk_tray_menu_base import GTKTrayMenuBase, populate_encodingsmenu, \ @@ -31,7 +30,7 @@ SHOW_ABOUT_XPRA = True -SINGLE_MENU = os.environ.get("XPRA_OSX_SINGLE_MENU", "1")=="1" +SINGLE_MENU = envbool("XPRA_OSX_SINGLE_MENU", True) SEPARATOR = "SEPARATOR" diff --git a/src/xpra/platform/darwin/paths.py b/src/xpra/platform/darwin/paths.py index 43cd3613db..fa9ae0641c 100644 --- a/src/xpra/platform/darwin/paths.py +++ b/src/xpra/platform/darwin/paths.py @@ -1,9 +1,10 @@ # This file is part of Xpra. -# Copyright (C) 2011-2015 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. import os.path +from xpra.util import envbool def debug(*msg): """ delay import of logger to prevent cycles """ @@ -18,7 +19,7 @@ def do_get_resources_dir(): RESOURCES = "/Resources/" #FUGLY warning: importing gtkosx_application causes the dock to appear, #and in some cases we don't want that.. so use the env var XPRA_SKIP_UI as workaround for such cases: - if os.environ.get("XPRA_SKIP_UI", "0")=="0": + if not envbool("XPRA_SKIP_UI", False): try: import gtkosx_application #@UnresolvedImport try: diff --git a/src/xpra/platform/printing.py b/src/xpra/platform/printing.py index 131088c173..9ddb25c2c1 100755 --- a/src/xpra/platform/printing.py +++ b/src/xpra/platform/printing.py @@ -7,9 +7,11 @@ import sys, os #default implementation uses pycups +from xpra.util import envbool from xpra.log import Logger log = Logger("printing") +RAW_MODE = envbool("XPRA_PRINTER_RAW", False) py3 = sys.version >= '3' if py3: @@ -52,7 +54,7 @@ def get_mimetypes(): MIMETYPES = v.split(",") else: MIMETYPES = DEFAULT_MIMETYPES - if os.environ.get("XPRA_PRINTER_RAW", "0")=="1": + if RAW_MODE: MIMETYPES.append("raw") #make it easier to test different mimetypes: PREFERRED_MIMETYPE = os.environ.get("XPRA_PRINTING_PREFERRED_MIMETYPE") diff --git a/src/xpra/platform/pycups_printing.py b/src/xpra/platform/pycups_printing.py index 5624373198..1d33898e83 100755 --- a/src/xpra/platform/pycups_printing.py +++ b/src/xpra/platform/pycups_printing.py @@ -15,7 +15,7 @@ import urllib from threading import Lock -from xpra.util import engs, envint +from xpra.util import engs, envint, envbool from xpra.log import Logger log = Logger("printing") @@ -23,8 +23,8 @@ SIMULATE_PRINT_FAILURE = envint("XPRA_SIMULATE_PRINT_FAILURE") ALLOW = os.environ.get("XPRA_PRINTER_ALLOW", getpass.getuser()) -RAW_MODE = envint("XPRA_PRINTER_RAW") -GENERIC = envint("XPRA_PRINTERS_GENERIC", 1) +RAW_MODE = envbool("XPRA_PRINTER_RAW", False) +GENERIC = envbool("XPRA_PRINTERS_GENERIC", True) FORWARDER_TMPDIR = os.environ.get("XPRA_FORWARDER_TMPDIR", os.environ.get("TMPDIR", "/tmp")) #the mimetype to use for clients that do not specify one #(older clients just assumed postscript) @@ -37,7 +37,7 @@ SKIPPED_PRINTERS = os.environ.get("XPRA_SKIPPED_PRINTERS", "Cups-PDF").split(",") #PRINTER_PREFIX = "Xpra:" -ADD_LOCAL_PRINTERS = envint("XPRA_ADD_LOCAL_PRINTERS") +ADD_LOCAL_PRINTERS = envbool("XPRA_ADD_LOCAL_PRINTERS", False) PRINTER_PREFIX = "" if ADD_LOCAL_PRINTERS: #this prevents problems where we end up deleting local printers! diff --git a/src/xpra/platform/win32/__init__.py b/src/xpra/platform/win32/__init__.py index dc32181d3b..b9285f37c5 100644 --- a/src/xpra/platform/win32/__init__.py +++ b/src/xpra/platform/win32/__init__.py @@ -1,6 +1,6 @@ # This file is part of Xpra. # Copyright (C) 2010 Nathaniel Smith -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -10,6 +10,8 @@ import os.path import sys +from xpra.util import envbool + import win32con #@UnresolvedImport import win32api #@UnresolvedImport import win32console #@UnresolvedImport @@ -293,7 +295,7 @@ def handle_console_event(self, event): self.event_cb(event) -SHOW_MESSAGEBOX = os.environ.get("XPRA_MESSAGEBOX", "1")=="1" +SHOW_MESSAGEBOX = envbool("XPRA_MESSAGEBOX", True) MB_ICONEXCLAMATION = 0x00000030 MB_ICONINFORMATION = 0x00000040 MB_SYSTEMMODAL = 0x00001000 diff --git a/src/xpra/platform/win32/gui.py b/src/xpra/platform/win32/gui.py index 125536d348..637420d8b7 100644 --- a/src/xpra/platform/win32/gui.py +++ b/src/xpra/platform/win32/gui.py @@ -18,7 +18,7 @@ from xpra.platform.win32.win32_events import get_win32_event_listener from xpra.platform.win32.window_hooks import Win32Hooks -from xpra.util import AdHocStruct, csv, envint +from xpra.util import AdHocStruct, csv, envint, envbool import ctypes from ctypes import windll, byref @@ -26,19 +26,19 @@ import win32api #@UnresolvedImport import win32gui #@UnresolvedImport -WINDOW_HOOKS = envint("XPRA_WIN32_WINDOW_HOOKS", 1) -GROUP_LEADER = WINDOW_HOOKS and envint("XPRA_WIN32_GROUP_LEADER", 1) -UNDECORATED_STYLE = WINDOW_HOOKS and envint("XPRA_WIN32_UNDECORATED_STYLE", 1) +WINDOW_HOOKS = envbool("XPRA_WIN32_WINDOW_HOOKS", True) +GROUP_LEADER = WINDOW_HOOKS and envbool("XPRA_WIN32_GROUP_LEADER", True) +UNDECORATED_STYLE = WINDOW_HOOKS and envbool("XPRA_WIN32_UNDECORATED_STYLE", True) #GTK3 is fixed, so we don't need this hook: DEFAULT_MAX_SIZE_HINT = sys.version_info[0]<3 -MAX_SIZE_HINT = WINDOW_HOOKS and envint("XPRA_WIN32_MAX_SIZE_HINT", DEFAULT_MAX_SIZE_HINT) -GEOMETRY = WINDOW_HOOKS and envint("XPRA_WIN32_GEOMETRY", 1) -LANGCHANGE = WINDOW_HOOKS and envint("XPRA_WIN32_LANGCHANGE", 1) +MAX_SIZE_HINT = WINDOW_HOOKS and envbool("XPRA_WIN32_MAX_SIZE_HINT", DEFAULT_MAX_SIZE_HINT) +GEOMETRY = WINDOW_HOOKS and envbool("XPRA_WIN32_GEOMETRY", True) +LANGCHANGE = WINDOW_HOOKS and envbool("XPRA_WIN32_LANGCHANGE", True) -DPI_AWARE = envint("XPRA_DPI_AWARE", 1) +DPI_AWARE = envbool("XPRA_DPI_AWARE", True) DPI_AWARENESS = envint("XPRA_DPI_AWARENESS", 1) -FORWARD_WINDOWS_KEY = envint("XPRA_FORWARD_WINDOWS_KEY", 1) -WHEEL = envint("XPRA_WHEEL", 1) +FORWARD_WINDOWS_KEY = envbool("XPRA_FORWARD_WINDOWS_KEY", True) +WHEEL = envbool("XPRA_WHEEL", True) WHEEL_DELTA = envint("XPRA_WHEEL_DELTA", 120) assert WHEEL_DELTA>0 diff --git a/src/xpra/platform/win32/keyboard.py b/src/xpra/platform/win32/keyboard.py index 55291fbd14..dbbcd38a89 100644 --- a/src/xpra/platform/win32/keyboard.py +++ b/src/xpra/platform/win32/keyboard.py @@ -11,11 +11,11 @@ from xpra.platform.keyboard_base import KeyboardBase from xpra.keyboard.layouts import WIN32_LAYOUTS from xpra.gtk_common.keymap import KEY_TRANSLATIONS -from xpra.util import csv, envint +from xpra.util import csv, envint, envbool from xpra.log import Logger log = Logger("keyboard") -EMULATE_ALTGR = envint("XPRA_EMULATE_ALTGR", 1) +EMULATE_ALTGR = envbool("XPRA_EMULATE_ALTGR", True) EMULATE_ALTGR_CONTROL_KEY_DELAY = envint("XPRA_EMULATE_ALTGR_CONTROL_KEY_DELAY", 50) if EMULATE_ALTGR: #needed for altgr emulation timeouts: diff --git a/src/xpra/platform/win32/shadow_server.py b/src/xpra/platform/win32/shadow_server.py index 7272e953a8..cf254659f0 100644 --- a/src/xpra/platform/win32/shadow_server.py +++ b/src/xpra/platform/win32/shadow_server.py @@ -1,6 +1,6 @@ # coding=utf8 # This file is part of Xpra. -# Copyright (C) 2012-2014 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -14,7 +14,7 @@ import pywintypes #@UnresolvedImport from xpra.log import Logger -from xpra.util import AdHocStruct +from xpra.util import AdHocStruct, envbool log = Logger("shadow", "win32") traylog = Logger("tray") shapelog = Logger("shape") @@ -45,16 +45,16 @@ (5, False) : NOEVENT, } -SEAMLESS = os.environ.get("XPRA_WIN32_SEAMLESS", "0")=="1" -DISABLE_DWM_COMPOSITION = 1 +SEAMLESS = envbool("XPRA_WIN32_SEAMLESS", False) +DISABLE_DWM_COMPOSITION = True #no composition on XP, don't bother trying: try: from sys import getwindowsversion #@UnresolvedImport if getwindowsversion().major<6: - DISABLE_DWM_COMPOSITION = 0 + DISABLE_DWM_COMPOSITION = False except: pass -DISABLE_DWM_COMPOSITION = os.environ.get("XPRA_DISABLE_DWM_COMPOSITION", str(DISABLE_DWM_COMPOSITION))=="1" +DISABLE_DWM_COMPOSITION = envbool("XPRA_DISABLE_DWM_COMPOSITION", DISABLE_DWM_COMPOSITION) class Win32RootWindowModel(RootWindowModel): @@ -103,7 +103,7 @@ def connect(self, signal, cb, *args): def get_shape_rectangles(self, logit=False): #get the list of windows l = log - if logit or os.environ.get("XPRA_SHAPE_DEBUG", "0")=="1": + if logit or envbool("XPRA_SHAPE_DEBUG", False): l = shapelog taskbar = win32gui.FindWindow("Shell_TrayWnd", None) l("taskbar window=%#x", taskbar) diff --git a/src/xpra/platform/win32/window_hooks.py b/src/xpra/platform/win32/window_hooks.py index 65e7626602..0047f90517 100644 --- a/src/xpra/platform/win32/window_hooks.py +++ b/src/xpra/platform/win32/window_hooks.py @@ -1,10 +1,11 @@ # This file is part of Xpra. # Copyright (C) 2011 Serviware (Arthur Huillet, ) -# Copyright (C) 2010-2014 Antoine Martin +# Copyright (C) 2010-2016 Antoine Martin # Copyright (C) 2008, 2010 Nathaniel Smith # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. +from xpra.util import envbool from xpra.log import Logger log = Logger("win32", "window", "util") vlog = Logger("verbose") @@ -39,9 +40,7 @@ class MINMAXINFO(ctypes.Structure): #only hardcoded for handling WM_GETMINMAXINFO, #but should be pretty easy to tweak if needed. - -import os -HOOK_MINMAXINFO = os.environ.get("XPRA_WIN32_MINMAXINFO", "1")=="1" +HOOK_MINMAXINFO = envbool("XPRA_WIN32_MINMAXINFO", True) class Win32Hooks(object): diff --git a/src/xpra/platform/xposix/gui.py b/src/xpra/platform/xposix/gui.py index 924940bf06..04bc1d2774 100644 --- a/src/xpra/platform/xposix/gui.py +++ b/src/xpra/platform/xposix/gui.py @@ -1,12 +1,13 @@ # This file is part of Xpra. # Copyright (C) 2010 Nathaniel Smith -# Copyright (C) 2011-2014 Antoine Martin +# Copyright (C) 2011-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. import os import struct import binascii + from xpra.log import Logger log = Logger("posix") eventlog = Logger("posix", "events") @@ -15,11 +16,11 @@ traylog = Logger("posix", "menu") menulog = Logger("posix", "menu") -from xpra.util import iround +from xpra.util import iround, envbool from xpra.gtk_common.gobject_compat import get_xid, is_gtk3 device_bell = None -GTK_MENUS = os.environ.get("XPRA_GTK_MENUS", "0")=="1" +GTK_MENUS = envbool("XPRA_GTK_MENUS", False) def get_native_system_tray_classes(): diff --git a/src/xpra/platform/xposix/paths.py b/src/xpra/platform/xposix/paths.py index 5021cc6fde..e6f257ef5f 100644 --- a/src/xpra/platform/xposix/paths.py +++ b/src/xpra/platform/xposix/paths.py @@ -1,5 +1,6 @@ # This file is part of Xpra. # Copyright (C) 2010 Nathaniel Smith +# Copyright (C) 2010-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -7,12 +8,13 @@ import sys import site -USE_RUNTIME_DIR = os.environ.get("XPRA_USE_RUNTIME_DIR", "1") +from xpra.util import envbool +USE_RUNTIME_DIR = envbool("XPRA_USE_RUNTIME_DIR", True) -USE_RUNTIME_LOG_DIR = os.environ.get("XPRA_USE_RUNTIME_LOG_DIR", USE_RUNTIME_DIR)=="1" -USE_RUNTIME_BIN_DIR = os.environ.get("XPRA_USE_RUNTIME_BIN_DIR", USE_RUNTIME_DIR)=="1" -USE_RUNTIME_SOCKET_DIR = os.environ.get("XPRA_USE_RUNTIME_SOCKET_DIR", USE_RUNTIME_DIR)=="1" +USE_RUNTIME_LOG_DIR = envbool("XPRA_USE_RUNTIME_LOG_DIR", USE_RUNTIME_DIR) +USE_RUNTIME_BIN_DIR = envbool("XPRA_USE_RUNTIME_BIN_DIR", USE_RUNTIME_DIR) +USE_RUNTIME_SOCKET_DIR = envbool("XPRA_USE_RUNTIME_SOCKET_DIR", USE_RUNTIME_DIR) def do_get_install_prefix(): diff --git a/src/xpra/scripts/fdproxy.py b/src/xpra/scripts/fdproxy.py index c73cff10a2..2c32bcc865 100644 --- a/src/xpra/scripts/fdproxy.py +++ b/src/xpra/scripts/fdproxy.py @@ -11,9 +11,9 @@ log = Logger("proxy") from xpra.net.bytestreams import untilConcludes -from xpra.util import repr_ellipsized, envint +from xpra.util import repr_ellipsized, envint, envbool -SHOW_DATA = envint("XPRA_PROXY_SHOW_DATA") +SHOW_DATA = envbool("XPRA_PROXY_SHOW_DATA") PROXY_BUFFER_SIZE = envint("XPRA_PROXY_BUFFER_SIZE", 65536) diff --git a/src/xpra/scripts/main.py b/src/xpra/scripts/main.py index fb5a128647..02bdb19900 100755 --- a/src/xpra/scripts/main.py +++ b/src/xpra/scripts/main.py @@ -22,15 +22,15 @@ from xpra.platform.dotxpra import DotXpra, norm_makepath from xpra.platform.features import LOCAL_SERVERS_SUPPORTED, SHADOW_SUPPORTED, CAN_DAEMONIZE from xpra.platform.options import add_client_options -from xpra.util import csv, envint +from xpra.util import csv, envint, envbool from xpra.scripts.config import OPTION_TYPES, \ InitException, InitInfo, InitExit, \ fixup_debug_option, fixup_options, dict_to_validated_config, \ make_defaults_struct, parse_bool, print_bool, print_number, validate_config, has_sound_support, name_to_field -NO_ROOT_WARNING = envint("XPRA_NO_ROOT_WARNING") -USE_SSL_CONTEXT = envint("XPRA_USE_SSL_CONTEXT", 1) +NO_ROOT_WARNING = envbool("XPRA_NO_ROOT_WARNING", False) +USE_SSL_CONTEXT = envbool("XPRA_USE_SSL_CONTEXT", True) INITENV_COMMAND = os.environ.get("XPRA_INITENV_COMMAND", "xpra initenv") CLIPBOARD_CLASS = os.environ.get("XPRA_CLIPBOARD_CLASS") @@ -94,7 +94,7 @@ def fixup_defaults(defaults): fn = k.replace("-", "_") v = getattr(defaults, fn) if "help" in v: - if os.environ.get("XPRA_SKIP_UI", "0")=="0": + if not envbool("XPRA_SKIP_UI", False): #skip-ui: we're running in subprocess, don't bother spamming stderr sys.stderr.write(("Warning: invalid 'help' option found in '%s' configuration\n" % k) + " this should only be used as a command line argument\n") @@ -1029,7 +1029,7 @@ def configure_logging(options, mode): if "help" in options.speaker_codec or "help" in options.microphone_codec: info = show_sound_codec_help(mode!="attach", options.speaker_codec, options.microphone_codec) raise InitInfo("\n".join(info)) - if (hasattr(to, "fileno") and os.isatty(to.fileno())) or os.environ.get("XPRA_FORCE_COLOR_LOG", "0")=="1": + if (hasattr(to, "fileno") and os.isatty(to.fileno())) or envbool("XPRA_FORCE_COLOR_LOG", False): from xpra.log import LOG_FORMAT, NOPREFIX_FORMAT, enable_color fmt = LOG_FORMAT if mode in ("stop", "showconfig"): @@ -1113,7 +1113,7 @@ def run_mode(script_file, error_cb, options, args, mode, defaults): systemd_run = is_systemd_pid1() if systemd_run: #check if we have wrapped it already (or if disabled via env var) - wrapit = os.environ.get("XPRA_SYSTEMD_RUN", "1")=="1" + wrapit = envbool("XPRA_SYSTEMD_RUN", True) if wrapit: return systemd_run_wrap(mode, sys.argv, options.systemd_run_args) @@ -1711,7 +1711,7 @@ def sockpathfail_cb(msg): if port>0: host += ":%i" % port import websocket - if envint("XPRA_WEBSOCKET_DEBUG"): + if envbool("XPRA_WEBSOCKET_DEBUG"): websocket.enableTrace(True) url = "%s://%s/" % (dtype, host) try: diff --git a/src/xpra/scripts/server.py b/src/xpra/scripts/server.py index bbcefc30f3..8491334379 100644 --- a/src/xpra/scripts/server.py +++ b/src/xpra/scripts/server.py @@ -21,13 +21,13 @@ from xpra.scripts.main import warn, no_gtk, validate_encryption from xpra.scripts.config import InitException, TRUE_OPTIONS, FALSE_OPTIONS from xpra.os_util import SIGNAMES -from xpra.util import envint +from xpra.util import envint, envbool from xpra.platform.dotxpra import DotXpra, norm_makepath, osexpand # use process polling with python versions older than 2.7 and 3.0, (because SIGCHLD support is broken) # or when the user requests it with the env var: -USE_PROCESS_POLLING = envint("XPRA_USE_PROCESS_POLLING") or sys.version_info<(2, 7) or sys.version_info[:2]==(3, 0) +USE_PROCESS_POLLING = envbool("XPRA_USE_PROCESS_POLLING") or sys.version_info<(2, 7) or sys.version_info[:2]==(3, 0) WAIT_FOR_UNKNOWN = envint("XPRA_WAIT_FOR_UNKNOWN_SOCKETS", 5) DEFAULT_VFB_RESOLUTION = tuple(int(x) for x in os.environ.get("XPRA_DEFAULT_VFB_RESOLUTION", "1920x1080").replace(",", "x").split("x", 1)) @@ -278,7 +278,7 @@ def mdns_publish(display_name, mode, listen_on, text_dict={}): global MDNS_WARNING if MDNS_WARNING is True: return - PREFER_PYBONJOUR = os.environ.get("XPRA_PREFER_PYBONJOUR", "0")=="1" or sys.platform.startswith("win") or sys.platform.startswith("darwin") + PREFER_PYBONJOUR = envbool("XPRA_PREFER_PYBONJOUR", False) or sys.platform.startswith("win") or sys.platform.startswith("darwin") try: if PREFER_PYBONJOUR: from xpra.net.pybonjour_publisher import BonjourPublishers as MDNSPublishers diff --git a/src/xpra/server/proxy/proxy_instance_process.py b/src/xpra/server/proxy/proxy_instance_process.py index d80c3a57e8..245e401edd 100644 --- a/src/xpra/server/proxy/proxy_instance_process.py +++ b/src/xpra/server/proxy/proxy_instance_process.py @@ -24,7 +24,7 @@ from xpra.codecs.image_wrapper import ImageWrapper from xpra.codecs.video_helper import getVideoHelper, PREFERRED_ENCODER_ORDER from xpra.os_util import Queue, SIGNAMES, strtobytes -from xpra.util import flatten_dict, typedict, updict, repr_ellipsized, xor, std, envint, \ +from xpra.util import flatten_dict, typedict, updict, repr_ellipsized, xor, std, envint, envbool, \ LOGIN_TIMEOUT, CONTROL_COMMAND_ERROR, AUTHENTICATION_ERROR, CLIENT_EXIT_TIMEOUT, SERVER_SHUTDOWN from xpra.version_util import local_version from xpra.make_thread import start_thread @@ -43,7 +43,7 @@ PROXY_QUEUE_SIZE = envint("XPRA_PROXY_QUEUE_SIZE", 10) #for testing only: passthrough as RGB: -PASSTHROUGH = envint("XPRA_PROXY_PASSTHROUGH") +PASSTHROUGH = envbool("XPRA_PROXY_PASSTHROUGH", False) MAX_CONCURRENT_CONNECTIONS = 20 VIDEO_TIMEOUT = 5 #destroy video encoder after N seconds of idle state diff --git a/src/xpra/server/server_base.py b/src/xpra/server/server_base.py index 8d81db3c95..0c8508a4d7 100644 --- a/src/xpra/server/server_base.py +++ b/src/xpra/server/server_base.py @@ -1,7 +1,7 @@ # coding=utf8 # This file is part of Xpra. # Copyright (C) 2011 Serviware (Arthur Huillet, ) -# Copyright (C) 2010-2015 Antoine Martin +# Copyright (C) 2010-2016 Antoine Martin # Copyright (C) 2008 Nathaniel Smith # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -37,7 +37,7 @@ from xpra.simple_stats import to_std_unit from xpra.child_reaper import getChildReaper from xpra.os_util import BytesIOClass, thread, get_hex_uuid, livefds, load_binary_file -from xpra.util import typedict, flatten_dict, updict, log_screen_sizes, engs, repr_ellipsized, csv, iround, \ +from xpra.util import typedict, flatten_dict, updict, envbool, log_screen_sizes, engs, repr_ellipsized, csv, iround, \ SERVER_EXIT, SERVER_ERROR, SERVER_SHUTDOWN, DETACH_REQUEST, NEW_CLIENT, DONE, IDLE_TIMEOUT from xpra.net.bytestreams import set_socket_timeout from xpra.platform import get_username @@ -52,8 +52,8 @@ unicode = str #@ReservedAssignment -DETECT_MEMLEAKS = os.environ.get("XPRA_DETECT_MEMLEAKS", "0")=="1" -DETECT_FDLEAKS = os.environ.get("XPRA_DETECT_FDLEAKS", "0")=="1" +DETECT_MEMLEAKS = envbool("XPRA_DETECT_MEMLEAKS", False) +DETECT_FDLEAKS = envbool("XPRA_DETECT_FDLEAKS", False) MAX_CONCURRENT_CONNECTIONS = 20 diff --git a/src/xpra/server/server_core.py b/src/xpra/server/server_core.py index bb57d90365..e0f91bff75 100644 --- a/src/xpra/server/server_core.py +++ b/src/xpra/server/server_core.py @@ -40,13 +40,13 @@ from xpra.make_thread import start_thread from xpra.scripts.fdproxy import XpraProxy from xpra.server.control_command import ControlError, HelloCommand, HelpCommand, DebugControl -from xpra.util import csv, merge_dicts, typedict, notypedict, flatten_dict, parse_simple_dict, repr_ellipsized, dump_all_frames, nonl, envint, \ +from xpra.util import csv, merge_dicts, typedict, notypedict, flatten_dict, parse_simple_dict, repr_ellipsized, dump_all_frames, nonl, envint, envbool, \ SERVER_SHUTDOWN, SERVER_UPGRADE, LOGIN_TIMEOUT, DONE, PROTOCOL_ERROR, SERVER_ERROR, VERSION_ERROR, CLIENT_REQUEST main_thread = threading.current_thread() MAX_CONCURRENT_CONNECTIONS = envint("XPRA_MAX_CONCURRENT_CONNECTIONS", 100) -SIMULATE_SERVER_HELLO_ERROR = envint("XPRA_SIMULATE_SERVER_HELLO_ERROR") +SIMULATE_SERVER_HELLO_ERROR = envbool("XPRA_SIMULATE_SERVER_HELLO_ERROR", False) def get_server_info(): diff --git a/src/xpra/server/source.py b/src/xpra/server/source.py index 09b1c55d6c..0a96004b87 100644 --- a/src/xpra/server/source.py +++ b/src/xpra/server/source.py @@ -43,7 +43,7 @@ from xpra.make_thread import start_thread from xpra.os_util import platform_name, Queue, get_machine_id, get_user_uuid, BytesIOClass from xpra.server.background_worker import add_work_item -from xpra.util import csv, std, typedict, updict, flatten_dict, notypedict, get_screen_info, envint, AtomicInteger, \ +from xpra.util import csv, std, typedict, updict, flatten_dict, notypedict, get_screen_info, envint, envbool, AtomicInteger, \ CLIENT_PING_TIMEOUT, WORKSPACE_UNSET, DEFAULT_METADATA_SUPPORTED def no_legacy_names(v): return v @@ -53,9 +53,9 @@ def no_legacy_names(v): LEGACY_CODEC_NAMES, NEW_CODEC_NAMES = {}, {} new_to_legacy = no_legacy_names -NOYIELD = os.environ.get("XPRA_YIELD") is None +NOYIELD = not envbool("XPRA_YIELD", False) MAX_CLIPBOARD_PER_SECOND = envint("XPRA_CLIPBOARD_LIMIT", 20) -ADD_LOCAL_PRINTERS = envint("XPRA_ADD_LOCAL_PRINTERS") +ADD_LOCAL_PRINTERS = envbool("XPRA_ADD_LOCAL_PRINTERS", False) GRACE_PERCENT = envint("XPRA_GRACE_PERCENT", 90) AV_SYNC_DELTA = envint("XPRA_AV_SYNC_DELTA", 0) diff --git a/src/xpra/server/window/motion.pyx b/src/xpra/server/window/motion.pyx index 8ad1a2cfab..f0cc9e7b98 100644 --- a/src/xpra/server/window/motion.pyx +++ b/src/xpra/server/window/motion.pyx @@ -10,12 +10,13 @@ import os import time +from xpra.util import envbool from xpra.log import Logger logger = Logger("encoding") import zlib hashfn = None -if os.environ.get("XPRA_XXHASH", "1")=="1": +if envbool("XPRA_XXHASH", True): try: import xxhash def hashfn(x): diff --git a/src/xpra/server/window/video_subregion.py b/src/xpra/server/window/video_subregion.py index f1db255260..3a664427f4 100644 --- a/src/xpra/server/window/video_subregion.py +++ b/src/xpra/server/window/video_subregion.py @@ -7,14 +7,14 @@ import time import math -from xpra.util import MutableInteger, envint +from xpra.util import MutableInteger, envint, envbool from xpra.server.window.region import rectangle, add_rectangle, remove_rectangle, merge_all #@UnresolvedImport from xpra.log import Logger sslog = Logger("regiondetect") refreshlog = Logger("regionrefresh") -VIDEO_SUBREGION = envint("XPRA_VIDEO_SUBREGION", 1) +VIDEO_SUBREGION = envbool("XPRA_VIDEO_SUBREGION", True) MAX_TIME = envint("XPRA_VIDEO_DETECT_MAX_TIME", 5) MIN_EVENTS = envint("XPRA_VIDEO_DETECT_MIN_EVENTS", 20) diff --git a/src/xpra/server/window/window_source.py b/src/xpra/server/window/window_source.py index fe88171885..aabf2b9b77 100644 --- a/src/xpra/server/window/window_source.py +++ b/src/xpra/server/window/window_source.py @@ -12,7 +12,7 @@ import threading from collections import deque -from xpra.util import envint +from xpra.util import envint, envbool from xpra.log import Logger log = Logger("window", "encoding") refreshlog = Logger("window", "refresh") @@ -31,25 +31,25 @@ MAX_PIXELS_PREFER_RGB = envint("XPRA_MAX_PIXELS_PREFER_RGB", 4096) -DELTA = envint("XPRA_DELTA", 1) +DELTA = envbool("XPRA_DELTA", True) MIN_DELTA_SIZE = envint("XPRA_MIN_DELTA_SIZE", 1024) MAX_DELTA_SIZE = envint("XPRA_MAX_DELTA_SIZE", 32768) MAX_DELTA_HITS = envint("XPRA_MAX_DELTA_HITS", 20) MIN_WINDOW_REGION_SIZE = envint("XPRA_MIN_WINDOW_REGION_SIZE", 1024) MAX_SOFT_EXPIRED = envint("XPRA_MAX_SOFT_EXPIRED", 5) -HAS_ALPHA = envint("XPRA_ALPHA", 1) -FORCE_BATCH = envint("XPRA_FORCE_BATCH") -STRICT_MODE = envint("XPRA_ENCODING_STRICT_MODE") -MERGE_REGIONS = envint("XPRA_MERGE_REGIONS", 1) -INTEGRITY_HASH = envint("XPRA_INTEGRITY_HASH") +HAS_ALPHA = envbool("XPRA_ALPHA", True) +FORCE_BATCH = envint("XPRA_FORCE_BATCH", False) +STRICT_MODE = envint("XPRA_ENCODING_STRICT_MODE", False) +MERGE_REGIONS = envbool("XPRA_MERGE_REGIONS", True) +INTEGRITY_HASH = envint("XPRA_INTEGRITY_HASH", False) MAX_SYNC_BUFFER_SIZE = envint("XPRA_MAX_SYNC_BUFFER_SIZE", 256)*1024*1024 #256MB AV_SYNC_RATE_CHANGE = envint("XPRA_AV_SYNC_RATE_CHANGE", 20) AV_SYNC_TIME_CHANGE = envint("XPRA_AV_SYNC_TIME_CHANGE", 500) -PAINT_FLUSH = envint("XPRA_PAINT_FLUSH", 1) +PAINT_FLUSH = envbool("XPRA_PAINT_FLUSH", True) -LOG_THEME_DEFAULT_ICONS = envint("XPRA_LOG_THEME_DEFAULT_ICONS") -SAVE_WINDOW_ICONS = envint("XPRA_SAVE_WINDOW_ICONS") +LOG_THEME_DEFAULT_ICONS = envbool("XPRA_LOG_THEME_DEFAULT_ICONS", False) +SAVE_WINDOW_ICONS = envbool("XPRA_SAVE_WINDOW_ICONS", False) from xpra.os_util import StringIOClass, memoryview_to_bytes diff --git a/src/xpra/server/window/window_video_source.py b/src/xpra/server/window/window_video_source.py index 925e975bb8..0e121e4029 100644 --- a/src/xpra/server/window/window_video_source.py +++ b/src/xpra/server/window/window_video_source.py @@ -18,7 +18,7 @@ from xpra.server.window.video_subregion import VideoSubregion, VIDEO_SUBREGION from xpra.server.window.video_scoring import get_pipeline_score from xpra.codecs.loader import PREFERED_ENCODING_ORDER, EDGE_ENCODING_ORDER -from xpra.util import parse_scaling_value, engs, envint, csv +from xpra.util import parse_scaling_value, engs, envint, envbool, csv from xpra.log import Logger log = Logger("encoding") @@ -39,14 +39,14 @@ if FORCE_CSC_MODE and FORCE_CSC_MODE not in RGB_FORMATS and FORCE_CSC_MODE not in PIXEL_SUBSAMPLING: log.warn("ignoring invalid CSC mode specified: %s", FORCE_CSC_MODE) FORCE_CSC_MODE = "" -FORCE_CSC = bool(FORCE_CSC_MODE) or os.environ.get("XPRA_FORCE_CSC", "0")=="1" -SCALING = os.environ.get("XPRA_SCALING", "1")=="1" +FORCE_CSC = bool(FORCE_CSC_MODE) or envbool("XPRA_FORCE_CSC", False) +SCALING = envbool("XPRA_SCALING", True) SCALING_HARDCODED = parse_scaling_value(os.environ.get("XPRA_SCALING_HARDCODED", "")) FORCE_AV_DELAY = envint("XPRA_FORCE_AV_DELAY", 0) -B_FRAMES = envint("XPRA_B_FRAMES", 1)==1 -VIDEO_SKIP_EDGE = envint("XPRA_VIDEO_SKIP_EDGE", 0)==1 -SCROLL_ENCODING = envint("XPRA_SCROLL_ENCODING", 1)==1 +B_FRAMES = envbool("XPRA_B_FRAMES", True) +VIDEO_SKIP_EDGE = envbool("XPRA_VIDEO_SKIP_EDGE", False) +SCROLL_ENCODING = envbool("XPRA_SCROLL_ENCODING", True) SCROLL_MIN_PERCENT = max(1, min(100, envint("XPRA_SCROLL_MIN_PERCENT", 40))) FAST_ORDER = ["jpeg", "rgb32", "rgb24", "png"] + PREFERED_ENCODING_ORDER diff --git a/src/xpra/sound/gstreamer_util.py b/src/xpra/sound/gstreamer_util.py index a66b007e04..64f63c73a4 100755 --- a/src/xpra/sound/gstreamer_util.py +++ b/src/xpra/sound/gstreamer_util.py @@ -12,7 +12,7 @@ VORBIS, FLAC, MP3, OPUS, SPEEX, WAV, WAVPACK, \ MPEG4, MKA, OGG -from xpra.util import csv, engs, parse_simple_dict, envint +from xpra.util import csv, engs, parse_simple_dict, envint, envbool from xpra.log import Logger log = Logger("sound", "gstreamer") @@ -44,10 +44,10 @@ def get_queue_time(default_value=450, prefix=""): WIN32 = sys.platform.startswith("win") OSX = sys.platform.startswith("darwin") -ALLOW_SOUND_LOOP = envint("XPRA_ALLOW_SOUND_LOOP") -GSTREAMER1 = envint("XPRA_GSTREAMER1", 1) +ALLOW_SOUND_LOOP = envbool("XPRA_ALLOW_SOUND_LOOP", False) +GSTREAMER1 = envbool("XPRA_GSTREAMER1", True) PULSEAUDIO_DEVICE_NAME = os.environ.get("XPRA_PULSEAUDIO_DEVICE_NAME", "") -USE_DEFAULT_DEVICE = envint("XPRA_USE_DEFAULT_DEVICE", 1) +USE_DEFAULT_DEVICE = envbool("XPRA_USE_DEFAULT_DEVICE", True) def force_enabled(codec_name): return os.environ.get("XPRA_SOUND_CODEC_ENABLE_%s" % codec_name.upper(), "0")=="1" diff --git a/src/xpra/sound/sink.py b/src/xpra/sound/sink.py index 1a30a22c15..9e777e20c4 100755 --- a/src/xpra/sound/sink.py +++ b/src/xpra/sound/sink.py @@ -4,7 +4,7 @@ # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import sys, os, time +import sys, time from collections import deque from threading import Lock @@ -16,7 +16,7 @@ from xpra.net.compression import decompress_by_name from xpra.scripts.config import InitExit -from xpra.util import csv, envint +from xpra.util import csv, envint, envbool from xpra.os_util import thread from xpra.log import Logger log = Logger("sound") @@ -38,7 +38,7 @@ }, } -QUEUE_SILENT = os.environ.get("XPRA_QUEUE_SILENT", "0")=="1" +QUEUE_SILENT = envbool("XPRA_QUEUE_SILENT", False) QUEUE_TIME = get_queue_time(450) UNMUTE_DELAY = envint("XPRA_UNMUTE_DELAY", 1000) diff --git a/src/xpra/sound/src.py b/src/xpra/sound/src.py index f98de44d37..3aae974e80 100755 --- a/src/xpra/sound/src.py +++ b/src/xpra/sound/src.py @@ -9,7 +9,7 @@ import time from xpra.os_util import SIGNAMES, Queue -from xpra.util import csv, envint, AtomicInteger +from xpra.util import csv, envint, envbool, AtomicInteger from xpra.sound.sound_pipeline import SoundPipeline from xpra.gtk_common.gobject_util import n_arg_signal, gobject from xpra.sound.gstreamer_util import get_source_plugins, plugin_str, get_encoder_elements, get_encoder_default_options, normv, get_encoders, get_gst_version, get_queue_time, \ @@ -26,7 +26,7 @@ BUFFER_TIME = envint("XPRA_SOUND_SOURCE_BUFFER_TIME", 0) #ie: 64 LATENCY_TIME = envint("XPRA_SOUND_SOURCE_LATENCY_TIME", 0) #ie: 32 -BUNDLE_METADATA = envint("XPRA_SOUND_BUNDLE_METADATA", 1) +BUNDLE_METADATA = envbool("XPRA_SOUND_BUNDLE_METADATA", True) SAVE_TO_FILE = os.environ.get("XPRA_SAVE_TO_FILE") generation = AtomicInteger() diff --git a/src/xpra/sound/wrapper.py b/src/xpra/sound/wrapper.py index a4b1ae8fbd..046eb7586c 100644 --- a/src/xpra/sound/wrapper.py +++ b/src/xpra/sound/wrapper.py @@ -16,13 +16,13 @@ from xpra.log import Logger log = Logger("sound") -DEBUG_SOUND = envint("XPRA_SOUND_DEBUG") +DEBUG_SOUND = envbool("XPRA_SOUND_DEBUG", False) SUBPROCESS_DEBUG = os.environ.get("XPRA_SOUND_SUBPROCESS_DEBUG", "").split(",") -FAKE_START_FAILURE = envint("XPRA_SOUND_FAKE_START_FAILURE") -FAKE_EXIT = envint("XPRA_SOUND_FAKE_EXIT") -FAKE_CRASH = envint("XPRA_SOUND_FAKE_CRASH") +FAKE_START_FAILURE = envbool("XPRA_SOUND_FAKE_START_FAILURE", False) +FAKE_EXIT = envbool("XPRA_SOUND_FAKE_EXIT", False) +FAKE_CRASH = envbool("XPRA_SOUND_FAKE_CRASH", False) SOUND_START_TIMEOUT = envint("XPRA_SOUND_START_TIMEOUT", 3000) -BUNDLE_METADATA = envint("XPRA_SOUND_BUNDLE_METADATA", 1) +BUNDLE_METADATA = envbool("XPRA_SOUND_BUNDLE_METADATA", True) def get_sound_wrapper_env(): diff --git a/src/xpra/util.py b/src/xpra/util.py index 10f350cb4f..284cb51ed2 100644 --- a/src/xpra/util.py +++ b/src/xpra/util.py @@ -742,3 +742,9 @@ def envint(name, d=0): return int(os.environ.get(name, d)) except: return d + +def envbool(name, d=False): + try: + return bool(int(os.environ.get(name, d))) + except: + return d diff --git a/src/xpra/x11/gtk2/window_damage.py b/src/xpra/x11/gtk2/window_damage.py index cc1b9fd030..c9979b3150 100644 --- a/src/xpra/x11/gtk2/window_damage.py +++ b/src/xpra/x11/gtk2/window_damage.py @@ -4,10 +4,10 @@ # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os from xpra.log import Logger log = Logger("x11", "window") +from xpra.util import envbool from xpra.gtk_common.gobject_util import one_arg_signal from xpra.x11.gtk2.gdk_bindings import ( add_event_receiver, #@UnresolvedImport @@ -24,7 +24,7 @@ StructureNotifyMask = constants["StructureNotifyMask"] -USE_XSHM = os.environ.get("XPRA_XSHM", "1")=="1" +USE_XSHM = envbool("XPRA_XSHM", True) class WindowDamageHandler(object): diff --git a/src/xpra/x11/gtk2/wm.py b/src/xpra/x11/gtk2/wm.py index 8130c8c011..ba7717f35d 100644 --- a/src/xpra/x11/gtk2/wm.py +++ b/src/xpra/x11/gtk2/wm.py @@ -1,6 +1,6 @@ # This file is part of Xpra. # Copyright (C) 2008, 2009 Nathaniel Smith -# Copyright (C) 2012-2014 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -8,6 +8,7 @@ import gobject import os +from xpra.util import envbool from xpra.gtk_common.error import xsync, xswallow from xpra.x11.gtk_x11.prop import prop_set, prop_get from xpra.gtk_common.gobject_util import no_arg_signal, one_arg_signal @@ -41,8 +42,8 @@ NotifyPointerRoot = constants["NotifyPointerRoot"] NotifyDetailNone = constants["NotifyDetailNone"] -FORCE_REPLACE_WM = os.environ.get("XPRA_FORCE_REPLACE_WM", "0")=="1" -LOG_MANAGE_FAILURES = os.environ.get("XPRA_LOG_MANAGE_FAILURES", "0")=="1" +FORCE_REPLACE_WM = envbool("XPRA_FORCE_REPLACE_WM", False) +LOG_MANAGE_FAILURES = envbool("XPRA_LOG_MANAGE_FAILURES", False) NO_NET_SUPPORTED = os.environ.get("XPRA_NO_NET_SUPPORTED", "").split(",") diff --git a/src/xpra/x11/server.py b/src/xpra/x11/server.py index 5363489228..82189bcb28 100644 --- a/src/xpra/x11/server.py +++ b/src/xpra/x11/server.py @@ -1,7 +1,7 @@ # coding=utf8 # This file is part of Xpra. # Copyright (C) 2011 Serviware (Arthur Huillet, ) -# Copyright (C) 2010-2015 Antoine Martin +# Copyright (C) 2010-2016 Antoine Martin # Copyright (C) 2008 Nathaniel Smith # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. @@ -14,7 +14,7 @@ import math from collections import deque -from xpra.util import AdHocStruct, updict, rindex, iround +from xpra.util import AdHocStruct, updict, rindex, iround, nonl, typedict, envint, envbool from xpra.os_util import memoryview_to_bytes from xpra.gtk_common.gobject_util import one_arg_signal from xpra.gtk_common.gtk_util import get_default_root_window, get_xwindow @@ -54,11 +54,10 @@ eventlog = Logger("x11", "events") import xpra -from xpra.util import nonl, typedict, envint from xpra.x11.x11_server_base import X11ServerBase, mouselog -REPARENT_ROOT = envint("XPRA_REPARENT_ROOT", 1) -SCALED_FONT_ANTIALIAS = envint("XPRA_SCALED_FONT_ANTIALIAS") +REPARENT_ROOT = envbool("XPRA_REPARENT_ROOT", True) +SCALED_FONT_ANTIALIAS = envbool("XPRA_SCALED_FONT_ANTIALIAS", False) class DesktopManager(gtk.Widget): diff --git a/src/xpra/x11/shadow_x11_server.py b/src/xpra/x11/shadow_x11_server.py index 12e9ea5c8a..a58010b4e0 100644 --- a/src/xpra/x11/shadow_x11_server.py +++ b/src/xpra/x11/shadow_x11_server.py @@ -1,11 +1,12 @@ # coding=utf8 # This file is part of Xpra. -# Copyright (C) 2012-2013 Antoine Martin +# Copyright (C) 2012-2016 Antoine Martin # Xpra is released under the terms of the GNU GPL v2, or, at your option, any # later version. See the file COPYING for details. -import os, time +import time +from xpra.util import envbool from xpra.gtk_common.gtk_util import get_xwindow from xpra.x11.x11_server_base import X11ServerBase from xpra.server.shadow.gtk_shadow_server_base import GTKShadowServerBase @@ -18,7 +19,7 @@ log = Logger("x11", "shadow") traylog = Logger("tray") -USE_XSHM = os.environ.get("XPRA_XSHM", "1")=="1" +USE_XSHM = envbool("XPRA_XSHM", True) class GTKX11RootWindowModel(GTKRootWindowModel):