.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.PowerResource:

==========================================================================================================================================
|phoenix_title|  **wx.PowerResource**
==========================================================================================================================================

Helper functions for acquiring and releasing the given power resource. 
         

If an application performs a long running task without user interaction it is often necessary to prevent the system from automatically suspending or powering off the screen and :meth:`~wx.PowerResource.Acquire`  method can be used to do this. 

Notice that currently this functionality is only implemented for MSW and macOS for ``POWER_RESOURCE_SCREEN``  and these platforms and Linux for ``POWER_RESOURCE_SYSTEM``, however the system must be using systemd 183 or later for this to work there. 

If possible, use :ref:`wx.PowerResourceBlocker`  class to ensure that :meth:`~wx.PowerResource.Release`  is called instead of calling it manually. 

`Core`      




         



.. versionadded:: 4.1/wxWidgets-3.1.0  
     







.. seealso:: :ref:`wx.PowerResourceBlocker`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>PowerResource</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.PowerResource_inheritance.svg" alt="Inheritance diagram of PowerResource" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.PowerResource.html" title="Helper functions for acquiring and releasing the given power resource." alt="" coords="5,5,173,34"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.PowerResource.Acquire`                                                Acquire a power resource for the application.
:meth:`~wx.PowerResource.Release`                                                Release a previously acquired power resource.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.PowerResource(object)

   Helper functions for acquiring and releasing the given power resource.



   .. staticmethod:: Acquire(kind, reason="", blockKind=POWER_PREVENT)

      Acquire a power resource for the application. 
                 

      The default behaviour, chosen by setting `blockKind`  to ``POWER_PREVENT``, is to ensure that the resource of the corresponding `kind`  remains accessible, i.e. prevent the system from turning off the screen or suspending. 

      Specifying ``POWER_DELAY``  for `blockKind`  doesn't actually prevent the system from suspending but does delay it to allow the application to handle the corresponding notifications. Note that under Linux systems will `not`  receive `wx.wxEVT_POWER_SUSPENDED`       without acquiring the system resource using ``POWER_DELAY``. 

      Every call to Acquire **must**  be matched by a corresponding call to :meth:`Release`   or the system will not suspend until the application ends, use :ref:`wx.PowerResourceBlocker`  to ensure that this happens. 




      :param `kind`: Power resource required, either ``POWER_RESOURCE_SCREEN``  or ``POWER_RESOURCE_SYSTEM``.   
      :type `kind`: wx.PowerResourceKind
      :param `reason`: Optional reason may be specified which might be used on some platforms to inform the user what is preventing power saving. It should usually describe the operation requiring the resource and specifying it is strongly recommended.   
      :type `reason`: string
      :param `blockKind`: The default value corresponds to the blocking behaviour, the ``POWER_DELAY``  value can be used to avoid blocking the resource but just delay it to allow the application to handle the corresponding notifications. This parameter is available in wxWidgets 3.3.0 and later.   
      :type `blockKind`: wx.PowerBlockKind










      :rtype: `bool`




                  



      :returns: 

         Returns ``True`` if the acquisition was successful.  







      .. seealso:: :meth:`Release`     








   .. staticmethod:: Release(kind)

      Release a previously acquired power resource. 
                 

      Release **must**  be called for every :meth:`Acquire`   call made to restore normal power saving behaviour 




      :param `kind`: Power resource to be released.  
      :type `kind`: wx.PowerResourceKind






      :rtype: `None`     




                  



      .. seealso:: :meth:`Acquire`     







