From 43b96f03b5af60586a864ea64e8c71b11ea6eb85 Mon Sep 17 00:00:00 2001 From: SoSeDiK Date: Mon, 8 Apr 2024 01:19:02 +0300 Subject: props: Allow setting per-window fullscreen opacity (#5470) --- src/desktop/Window.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/desktop/Window.cpp') diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp index 75f1f4a9..902ec2ca 100644 --- a/src/desktop/Window.cpp +++ b/src/desktop/Window.cpp @@ -604,19 +604,26 @@ void CWindow::applyDynamicRule(const SWindowRule& r) { if (r == "override") { if (opacityIDX == 1) { - m_sSpecialRenderData.alphaOverride = true; - m_sSpecialRenderData.alphaInactiveOverride = true; + m_sSpecialRenderData.alphaOverride = true; + m_sSpecialRenderData.alphaInactiveOverride = true; + m_sSpecialRenderData.alphaFullscreenOverride = true; } else if (opacityIDX == 2) m_sSpecialRenderData.alphaInactiveOverride = true; + else if (opacityIDX == 3) + m_sSpecialRenderData.alphaFullscreenOverride = true; } else { if (opacityIDX == 0) { - m_sSpecialRenderData.alpha = std::stof(r); - m_sSpecialRenderData.alphaInactive = std::stof(r); + m_sSpecialRenderData.alpha = std::stof(r); + m_sSpecialRenderData.alphaInactive = std::stof(r); + m_sSpecialRenderData.alphaFullscreen = std::stof(r); } else if (opacityIDX == 1) { m_sSpecialRenderData.alphaInactive = std::stof(r); m_sSpecialRenderData.alphaInactiveOverride = false; + } else if (opacityIDX == 2) { + m_sSpecialRenderData.alphaFullscreen = std::stof(r); + m_sSpecialRenderData.alphaFullscreenOverride = false; } else { - throw std::runtime_error("more than 2 alpha values"); + throw std::runtime_error("more than 3 alpha values"); } opacityIDX++; -- cgit v1.2.3