1515#include " compositors/niri/niri_workspace_backend.h"
1616#include " compositors/sway/sway_keyboard_backend.h"
1717#include " compositors/sway/sway_output_backend.h"
18+ #include " compositors/triad/triad_keyboard_backend.h"
19+ #include " compositors/triad/triad_output_backend.h"
20+ #include " compositors/triad/triad_runtime.h"
21+ #include " compositors/triad/triad_workspace_backend.h"
1822#include " wayland/wayland_connection.h"
1923#include " wayland/wayland_workspaces.h"
2024
@@ -191,6 +195,11 @@ namespace {
191195 (void )wayland;
192196 return compositors::sway::setOutputPower (runtime, on);
193197 });
198+ case compositors::CompositorKind::Triad:
199+ return std::make_unique<LambdaOutputPowerBackend>(
200+ [&runtime = runtimeRegistry.triad ()](WaylandConnection& /* wayland*/ , bool on) {
201+ return compositors::triad::setOutputPower (runtime, on);
202+ });
194203 case compositors::CompositorKind::Mango:
195204 return std::make_unique<LambdaOutputPowerBackend>(&setMangoOutputPower, true );
196205 case compositors::CompositorKind::Labwc:
@@ -209,6 +218,8 @@ namespace {
209218 return std::make_unique<FocusedOutputAdapter<NiriOutputBackend>>(runtimeRegistry.niri ());
210219 case compositors::CompositorKind::Sway:
211220 return std::make_unique<FocusedOutputAdapter<SwayOutputBackend>>(runtimeRegistry.sway ());
221+ case compositors::CompositorKind::Triad:
222+ return std::make_unique<FocusedOutputAdapter<TriadOutputBackend>>(runtimeRegistry.triad ());
212223 case compositors::CompositorKind::Labwc:
213224 case compositors::CompositorKind::Mango:
214225 case compositors::CompositorKind::Unknown:
@@ -220,6 +231,8 @@ namespace {
220231 [[nodiscard]] std::unique_ptr<compositors::WorkspaceMetadataBackend>
221232 createWorkspaceMetadataBackend (compositors::CompositorRuntimeRegistry& runtimeRegistry) {
222233 switch (compositors::detect ()) {
234+ case compositors::CompositorKind::Triad:
235+ return std::make_unique<TriadWorkspaceBackend>(runtimeRegistry.triad ());
223236 case compositors::CompositorKind::Niri:
224237 return std::make_unique<NiriWorkspaceBackend>(runtimeRegistry.niri ());
225238 case compositors::CompositorKind::Hyprland:
@@ -243,6 +256,8 @@ namespace {
243256 return std::make_unique<KeyboardLayoutBackendAdapter<MangoKeyboardBackend>>();
244257 case compositors::CompositorKind::Sway:
245258 return std::make_unique<KeyboardLayoutBackendAdapter<SwayKeyboardBackend>>(runtimeRegistry.sway ());
259+ case compositors::CompositorKind::Triad:
260+ return std::make_unique<KeyboardLayoutBackendAdapter<TriadKeyboardBackend>>(runtimeRegistry.triad ());
246261 case compositors::CompositorKind::Labwc:
247262 case compositors::CompositorKind::Unknown:
248263 break ;
0 commit comments