diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-29 13:32:11 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-06-10 18:08:00 +0300 |
| commit | e3406ac2556c7f68cd00f11b5856222dcce7f680 (patch) | |
| tree | 06926e2b098d98b780345569bdfbf56a92c3c392 /src/layout | |
| parent | 22a948cc759498923c1e9806580962cdd2d7b3e2 (diff) | |
| download | niri-e3406ac2556c7f68cd00f11b5856222dcce7f680.tar.gz niri-e3406ac2556c7f68cd00f11b5856222dcce7f680.tar.bz2 niri-e3406ac2556c7f68cd00f11b5856222dcce7f680.zip | |
Signal fractional scale to clients
Doesn't do anything yet because we don't bind the fractional scale
manager and don't allow fractional scales.
Diffstat (limited to 'src/layout')
| -rw-r--r-- | src/layout/mod.rs | 6 | ||||
| -rw-r--r-- | src/layout/workspace.rs | 9 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 05c1550c..e8e00609 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -41,7 +41,7 @@ use smithay::backend::renderer::element::surface::WaylandSurfaceRenderElement; use smithay::backend::renderer::element::texture::TextureBuffer; use smithay::backend::renderer::element::Id; use smithay::backend::renderer::gles::{GlesRenderer, GlesTexture}; -use smithay::output::Output; +use smithay::output::{self, Output}; use smithay::reexports::wayland_server::protocol::wl_surface::WlSurface; use smithay::utils::{Logical, Point, Scale, Serial, Size, Transform}; @@ -146,7 +146,7 @@ pub trait LayoutElement { fn max_size(&self) -> Size<i32, Logical>; fn is_wl_surface(&self, wl_surface: &WlSurface) -> bool; fn has_ssd(&self) -> bool; - fn set_preferred_scale_transform(&self, scale: i32, transform: Transform); + fn set_preferred_scale_transform(&self, scale: output::Scale, transform: Transform); fn output_enter(&self, output: &Output); fn output_leave(&self, output: &Output); fn set_offscreen_element_id(&self, id: Option<Id>); @@ -2487,7 +2487,7 @@ mod tests { false } - fn set_preferred_scale_transform(&self, _scale: i32, _transform: Transform) {} + fn set_preferred_scale_transform(&self, _scale: output::Scale, _transform: Transform) {} fn has_ssd(&self) -> bool { false diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index d18f37e0..3b74f159 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -11,7 +11,6 @@ use smithay::output::Output; use smithay::reexports::wayland_protocols::xdg::shell::server::xdg_toplevel; use smithay::reexports::wayland_server::protocol::wl_surface::WlSurface; use smithay::utils::{Logical, Point, Rectangle, Scale, Serial, Size}; -use smithay::wayland::compositor::send_surface_state; use super::closing_window::{ClosingWindow, ClosingWindowRenderElement}; use super::tile::{Tile, TileRenderElement}; @@ -22,7 +21,7 @@ use crate::niri_render_elements; use crate::render_helpers::renderer::NiriRenderer; use crate::render_helpers::RenderTarget; use crate::utils::id::IdCounter; -use crate::utils::{output_size, ResizeEdge}; +use crate::utils::{output_size, send_scale_transform, ResizeEdge}; use crate::window::ResolvedWindowRules; /// Amount of touchpad movement to scroll the view for the width of one working area. @@ -587,10 +586,10 @@ impl<W: LayoutElement> Workspace<W> { rules: &ResolvedWindowRules, ) { if let Some(output) = self.output.as_ref() { - let scale = output.current_scale().integer_scale(); + let scale = output.current_scale(); let transform = output.current_transform(); window.with_surfaces(|surface, data| { - send_surface_state(surface, data, scale, transform); + send_scale_transform(surface, data, scale, transform); }); } @@ -3389,7 +3388,7 @@ fn compute_new_view_offset( fn set_preferred_scale_transform(window: &impl LayoutElement, output: &Output) { // FIXME: cache this on the workspace. - let scale = output.current_scale().integer_scale(); + let scale = output.current_scale(); let transform = output.current_transform(); window.set_preferred_scale_transform(scale, transform); } |
