protocols: implement ext-data-control (#11323)

This protocol has superseded wlr-data-control
This commit is contained in:
Nihal Jere 2025-08-15 14:38:28 +00:00 committed by GitHub
parent 60d769a899
commit aaedce596e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 453 additions and 0 deletions

View file

@ -2,6 +2,7 @@
#include "../protocols/core/Seat.hpp"
#include "../protocols/core/DataDevice.hpp"
#include "../protocols/DataDeviceWlr.hpp"
#include "../protocols/ExtDataDevice.hpp"
#include "../protocols/PrimarySelection.hpp"
#include "../protocols/core/Compositor.hpp"
#include "../Compositor.hpp"
@ -578,6 +579,7 @@ void CSeatManager::setCurrentSelection(SP<IDataSource> source) {
m_selection.destroySelection = source->m_events.destroy.listen([this] { setCurrentSelection(nullptr); });
PROTO::data->setSelection(source);
PROTO::dataWlr->setSelection(source, false);
PROTO::extDataDevice->setSelection(source, false);
}
m_events.setSelection.emit();
@ -603,6 +605,7 @@ void CSeatManager::setCurrentPrimarySelection(SP<IDataSource> source) {
m_selection.destroyPrimarySelection = source->m_events.destroy.listen([this] { setCurrentPrimarySelection(nullptr); });
PROTO::primarySelection->setSelection(source);
PROTO::dataWlr->setSelection(source, true);
PROTO::extDataDevice->setSelection(source, true);
}
m_events.setPrimarySelection.emit();