screencopy: don't force opaque window backgrounds
This meant that, for windows that were not fully opaque, there was no way to capture their transparency. No way to put a window with transparency on top of a background in OBS, for example.
This commit is contained in:
parent
a14d075aa0
commit
69d251fb74
1 changed files with 3 additions and 8 deletions
|
|
@ -12,7 +12,7 @@ use smithay::{
|
||||||
gles::{GlesError, GlesRenderbuffer},
|
gles::{GlesError, GlesRenderbuffer},
|
||||||
sync::SyncPoint,
|
sync::SyncPoint,
|
||||||
utils::with_renderer_surface_state,
|
utils::with_renderer_surface_state,
|
||||||
Bind, Blit, BufferType, ExportMem, ImportAll, ImportMem, Offscreen, Renderer,
|
Bind, Blit, BufferType, Color32F, ExportMem, ImportAll, ImportMem, Offscreen, Renderer,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
desktop::space::SpaceElement,
|
desktop::space::SpaceElement,
|
||||||
|
|
@ -36,7 +36,7 @@ use crate::{
|
||||||
backend::render::{
|
backend::render::{
|
||||||
cursor,
|
cursor,
|
||||||
element::{AsGlowRenderer, CosmicElement, DamageElement, FromGlesError},
|
element::{AsGlowRenderer, CosmicElement, DamageElement, FromGlesError},
|
||||||
render_workspace, CursorMode, ElementFilter, RendererRef, CLEAR_COLOR,
|
render_workspace, CursorMode, ElementFilter, RendererRef,
|
||||||
},
|
},
|
||||||
shell::{CosmicMappedRenderElement, CosmicSurface, WorkspaceRenderElement},
|
shell::{CosmicMappedRenderElement, CosmicSurface, WorkspaceRenderElement},
|
||||||
state::{Common, KmsNodes, State},
|
state::{Common, KmsNodes, State},
|
||||||
|
|
@ -573,12 +573,7 @@ pub fn render_window_to_buffer(
|
||||||
renderer.bind(render_buffer).map_err(DTError::Rendering)?;
|
renderer.bind(render_buffer).map_err(DTError::Rendering)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
dt.render_output(
|
dt.render_output(renderer, age, &elements, Color32F::TRANSPARENT)
|
||||||
renderer,
|
|
||||||
age,
|
|
||||||
&elements,
|
|
||||||
CLEAR_COLOR, // TODO use a theme neutral color
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let common = &mut state.common;
|
let common = &mut state.common;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue