aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2025-01-14 09:10:45 +0100
committerIvan Molodetskikh <yalterz@gmail.com>2025-01-14 13:39:52 +0300
commit0df7a085de6fb0ebfe7af640e60fb496e52656aa (patch)
tree78255e74c2989f5a3ba449a80c3cc7a3498bf8d7 /src/niri.rs
parent6ae51f287cb286a96fcf492444f33b0d6ad4a56a (diff)
downloadniri-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.rs23
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.