DisplayEvents
Navigation: Programming with ADLX → ADLX Samples → Python Samples
Demontrates how to handle notifications about display change when programming with ADLX.
Sample Path
/Samples/python/DisplayEvents
Python
Code
Python
#<!--# Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.##-------------------------------------------------------------------------------------------------#-->
import ADLXPybind as ADLXimport time
# Callback for display list changedef callBackDisplayList(displaylist)->bool: print("display list changed, current display count is: ", len(displaylist)) for index, display in enumerate(displaylist): name = display.name() print("\t index: {} name: {}".format(index, name)) del display return True
# Iterate display and display event to unplug and plug the displaydef displayDemo(): # Get ADLXHelp and ADLX initialization adlxHelper = ADLX.ADLXHelper() ret = adlxHelper.Initialize()
if ret == ADLX.ADLX_RESULT.ADLX_OK: # Get systemServices system = adlxHelper.GetSystemServices()
if system is not None: # Get displayServices displayService = system.GetDisplaysServices()
if displayService is not None: # Get display change handler displayChangeHandler = displayService.GetDisplayChangedHandling()
if displayChangeHandler is not None: # Python call back callback = ADLX.DisplayListCallBack() callback.call = callBackDisplayList # Add call back displayChangeHandler.AddDisplayListEventListener(callback) print("Plug or unplug a display within 20 seconds.") time.sleep(20) # Remove call back displayChangeHandler.RemoveDisplayListEventListener(callback)
# Release changeHandler interface del displayChangeHandler
# Release displayService interface del displayService
# Terminate ADLX ret = adlxHelper.Terminate() print("ADLX Terminate ret is: {}".format(ret))
displayDemo()