aboutsummaryrefslogtreecommitdiff
path: root/src/layout
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-29 13:32:11 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-06-10 18:08:00 +0300
commite3406ac2556c7f68cd00f11b5856222dcce7f680 (patch)
tree06926e2b098d98b780345569bdfbf56a92c3c392 /src/layout
parent22a948cc759498923c1e9806580962cdd2d7b3e2 (diff)
downloadniri-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.rs6
-rw-r--r--src/layout/workspace.rs9
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);
}