.. include:: headings.inc .. _SystemOptions: ========================================================================================================================================== |phoenix_title| **SystemOptions** ========================================================================================================================================== :ref:`SystemOptions` stores option/value pairs that wxWidgets itself or applications can use to alter behaviour at run-time. It can be used to optimize behaviour that doesn't deserve a distinct API, but is still important to be able to configure. System options can be set by the program itself using :meth:`~SystemOptions.SetOption` method and they also can be set from the program environment by defining an environment variable ``_option`` to set the given option for all wxWidgets applications or ``_appname_option`` to set it just for the application with the given name (as returned by :meth:`App.GetAppName` ). Notice that any characters not allowed in the environment variables names, such as periods and dashes, should be replaced with underscores. E.g. to define a system option "foo-bar" you need to define the environment variable "wx_foo_bar". The program may use system options for its own needs but they are mostly used to control the behaviour of wxWidgets library itself. These options are currently recognised by wxWidgets: |phoenix_title| All platforms ============================= - exit-on-assert: If set to non-zero value, abort the program if an assertion fails. The default behaviour in case of assertion failure depends on the build mode and can be changed by overriding :meth:`App.OnAssertFailure` but setting this option allows to change it without modifying the program code and also applies to asserts which may happen before the :ref:`App` object creation or after its destruction. |phoenix_title| Windows ======================= - no-maskblt: 1 to never use WIN32's MaskBlt function, 0 to allow it to be used where possible. Default: 0. In some circumstances the MaskBlt function can be slower than using the fallback code, especially if using DC caching. By default, MaskBlt will be used where it is implemented by the operating system and driver. - msw.remap: If 1 (the default), :ref:`ToolBar` bitmap colours will be remapped to the current theme's values. Set this to 0 to disable this functionality, for example if you're using more than 16 colours in your tool bitmaps. - msw.window.no-clip-children: If 1, windows will not automatically get the ``WS_CLIPCHILDREN`` style. This restores the way windows are refreshed back to the method used in versions of wxWidgets earlier than 2.5.4, and for some complex window hierarchies it can reduce apparent refresh delays. You may still specify ``CLIP_CHILDREN`` for individual windows. - msw.notebook.themed-background: If set to 0, globally disables themed backgrounds on notebook pages. Note that this won't disable the theme on the actual notebook background (noticeable only if there are no pages). - msw.staticbox.optimized-paint: If set to 0, switches off optimized :ref:`StaticBox` painting. Setting this to 0 causes more flicker, but allows applications to paint graphics on the parent of a static box (the optimized refresh causes any such drawing to disappear). - msw.display.directdraw: If set to 1, use DirectDraw-based implementation of :ref:`Display`. By default the standard Win32 functions are used. - msw.font.no-proof-quality: If set to 1, use default fonts quality instead of proof quality when creating fonts. With proof quality the fonts have slightly better appearance but not all fonts are available in this quality, e.g. the Terminal font in small sizes is not and this option may be used if wider fonts selection is more important than higher quality. - wince.dialog.real-ok-cancel: The PocketPC guidelines recommend for Ok/Cancel dialogs to use an ``OK`` button located inside the caption bar and implement Cancel functionality through Undo outside the dialog. :meth:`Dialog.CreateButtonSizer` will follow the native behaviour on WinCE but it can be overridden with real Buttons by setting the option below to 1. |phoenix_title| GTK+ ==================== - gtk.tlw.can-set-transparent: :meth:`TopLevelWindow.CanSetTransparent` method normally tries to detect automatically whether transparency for top level windows is currently supported, however this may sometimes fail and this option allows to override the automatic detection. Setting it to 1 makes the transparency be always available (setting it can still fail, of course) and setting it to 0 makes it always unavailable. - gtk.desktop: This option can be set to override the default desktop environment determination. Supported values are ``GNOME`` and ``KDE``. - gtk.window.force-background-colour: If 1, the backgrounds of windows with the ``BG_STYLE_COLOUR`` background style are cleared forcibly instead of relying on the underlying GTK+ window colour. This works around a display problem when running applications under ``KDE`` with the gtk-qt theme installed (0.6 and below). |phoenix_title| Mac =================== - mac.window-plain-transition: If 1, uses a plainer transition when showing a window. You can also use the symbol ``MAC_WINDOW_PLAIN_TRANSITION``. - window-default-variant: The default variant used by windows (cast to integer from the WindowVariant enum). Also known as ``WINDOW_DEFAULT_VARIANT``. - mac.listctrl.always_use_generic: Tells :ref:`ListCtrl` to use the generic control even when it is capable of using the native control instead. Also known as ``MAC_ALWAYS_USE_GENERIC_LISTCTRL``. - mac.textcontrol-use-spell-checker: This option only has effect for Mac OS X 10.4 and higher. If 1 activates the spell checking in :ref:`TextCtrl`. - osx.openfiledialog.always-show-types: Per default a :ref:`FileDialog` with ``FD_OPEN`` does not show a types-popup on OSX but allows the selection of files from any of the supported types. Setting this to 1 shows a :ref:`Choice` for selection (if there is more than one supported filetype). |phoenix_title| Motif ===================== - motif.largebuttons: If 1, uses a bigger default size for Buttons. The compile-time option to include or exclude this functionality is ``USE_SYSTEM_OPTIONS``. .. seealso:: :ref:`SystemSettings` | |class_hierarchy| Inheritance Diagram ===================================== Inheritance diagram for class **SystemOptions** .. raw:: html

Inheritance diagram of SystemOptions

| |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~SystemOptions.__init__` Default constructor. :meth:`~SystemOptions.GetOption` Gets an option. :meth:`~SystemOptions.GetOptionInt` Gets an option as an integer. :meth:`~SystemOptions.HasOption` Returns ``True`` if the given option is present. :meth:`~SystemOptions.IsFalse` Returns ``True`` if the option with the given `name` had been set to 0 value. :meth:`~SystemOptions.SetOption` Sets an option. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: SystemOptions(Object) SystemOptions stores option/value pairs that wxWidgets itself or applications can use to alter behaviour at run-time. **Possible constructors**:: SystemOptions() .. method:: __init__(self) Default constructor. You don't need to create an instance of :ref:`SystemOptions` since all of its functions are static. .. staticmethod:: GetOption(name) Gets an option. The function is case-insensitive to `name`. Returns empty string if the option hasn't been set. :param `name`: :type `name`: string :rtype: `string` .. seealso:: :meth:`SetOption` , :meth:`GetOptionInt` , :meth:`HasOption` .. staticmethod:: GetOptionInt(name) Gets an option as an integer. The function is case-insensitive to `name`. If the option hasn't been set, this function returns 0. :param `name`: :type `name`: string :rtype: `int` .. seealso:: :meth:`SetOption` , :meth:`GetOption` , :meth:`HasOption` .. staticmethod:: HasOption(name) Returns ``True`` if the given option is present. The function is case-insensitive to `name`. :param `name`: :type `name`: string :rtype: `bool` .. seealso:: :meth:`SetOption` , :meth:`GetOption` , :meth:`GetOptionInt` .. staticmethod:: IsFalse(name) Returns ``True`` if the option with the given `name` had been set to 0 value. This is mostly useful for boolean options for which you can't use ``GetOptionInt(name)`` == 0 as this would also be ``True`` if the option hadn't been set at all. :param `name`: :type `name`: string :rtype: `bool` .. staticmethod:: SetOption(*args, **kw) Sets an option. The function is case-insensitive to `name`. |overload| **Overloaded Implementations**: **~~~** **SetOption** `(name, value)` :param `name`: :type `name`: string :param `value`: :type `value`: string **~~~** **SetOption** `(name, value)` :param `name`: :type `name`: string :param `value`: :type `value`: int **~~~**