Skip to content
  • Vlad Zahorodnii's avatar
    Make Workspace process batched output updates · d1de19e2
    Vlad Zahorodnii authored
    Currently the Workspace processes output updates as they occur, e.g.
    when the drm backend scans connectors, the Workspace will handle
    hotplugged outputs one by one or if an output configuration changes the
    mode of several outputs, the workspace will process output layout
    updates one by one instead of handling it in one pass. The main reason
    for the current behavior is simplicity.
    
    However, that can create issues because it's possible that the output
    layout will be temporarily in degenerate state and features such as
    sticking windows to their outputs will be broken.
    
    In order to fix that, this change makes the Workspace process batched
    output updates. There are several challenges - disconnected outputs have
    to be alive when the outputsQueried signal is emitted, the workspace
    needs to determine what outputs have been added or removed on its own.
    d1de19e2