diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2025-01-14 09:10:45 +0100 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-01-14 13:39:52 +0300 |
| commit | 0df7a085de6fb0ebfe7af640e60fb496e52656aa (patch) | |
| tree | 78255e74c2989f5a3ba449a80c3cc7a3498bf8d7 /src/niri.rs | |
| parent | 6ae51f287cb286a96fcf492444f33b0d6ad4a56a (diff) | |
| download | niri-0df7a085de6fb0ebfe7af640e60fb496e52656aa.tar.gz niri-0df7a085de6fb0ebfe7af640e60fb496e52656aa.tar.bz2 niri-0df7a085de6fb0ebfe7af640e60fb496e52656aa.zip | |
add write-to-disk argument to screenshot actions
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/niri.rs b/src/niri.rs index a4801cc5..ef4e8e6c 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -4519,6 +4519,7 @@ impl Niri { &mut self, renderer: &mut GlesRenderer, output: &Output, + write_to_disk: bool, ) -> anyhow::Result<()> { let _span = tracy_client::span!("Niri::screenshot"); @@ -4541,7 +4542,7 @@ impl Niri { elements, )?; - self.save_screenshot(size, pixels) + self.save_screenshot(size, pixels, write_to_disk) .context("error saving screenshot") } @@ -4550,6 +4551,7 @@ impl Niri { renderer: &mut GlesRenderer, output: &Output, mapped: &Mapped, + write_to_disk: bool, ) -> anyhow::Result<()> { let _span = tracy_client::span!("Niri::screenshot_window"); @@ -4585,7 +4587,7 @@ impl Niri { elements, )?; - self.save_screenshot(geo.size, pixels) + self.save_screenshot(geo.size, pixels, write_to_disk) .context("error saving screenshot") } @@ -4593,14 +4595,17 @@ impl Niri { &self, size: Size<i32, Physical>, pixels: Vec<u8>, + write_to_disk: bool, ) -> anyhow::Result<()> { - let path = match make_screenshot_path(&self.config.borrow()) { - Ok(path) => path, - Err(err) => { - warn!("error making screenshot path: {err:?}"); - None - } - }; + let path = write_to_disk + .then(|| match make_screenshot_path(&self.config.borrow()) { + Ok(path) => path, + Err(err) => { + warn!("error making screenshot path: {err:?}"); + None + } + }) + .flatten(); // Prepare to set the encoded image as our clipboard selection. This must be done from the // main thread. |
