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/input | |
| 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/input')
| -rw-r--r-- | src/input/mod.rs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index ae2c2b05..b08fe380 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -529,17 +529,17 @@ impl State { self.niri.do_screen_transition(renderer, delay_ms); }); } - Action::ScreenshotScreen => { + Action::ScreenshotScreen(write_to_disk) => { let active = self.niri.layout.active_output().cloned(); if let Some(active) = active { self.backend.with_primary_renderer(|renderer| { - if let Err(err) = self.niri.screenshot(renderer, &active) { + if let Err(err) = self.niri.screenshot(renderer, &active, write_to_disk) { warn!("error taking screenshot: {err:?}"); } }); } } - Action::ConfirmScreenshot => { + Action::ConfirmScreenshot { write_to_disk } => { if !self.niri.screenshot_ui.is_open() { return; } @@ -547,7 +547,8 @@ impl State { self.backend.with_primary_renderer(|renderer| { match self.niri.screenshot_ui.capture(renderer) { Ok((size, pixels)) => { - if let Err(err) = self.niri.save_screenshot(size, pixels) { + if let Err(err) = self.niri.save_screenshot(size, pixels, write_to_disk) + { warn!("error saving screenshot: {err:?}"); } } @@ -581,23 +582,29 @@ impl State { Action::Screenshot => { self.open_screenshot_ui(); } - Action::ScreenshotWindow => { + Action::ScreenshotWindow(write_to_disk) => { let focus = self.niri.layout.focus_with_output(); if let Some((mapped, output)) = focus { self.backend.with_primary_renderer(|renderer| { - if let Err(err) = self.niri.screenshot_window(renderer, output, mapped) { + if let Err(err) = + self.niri + .screenshot_window(renderer, output, mapped, write_to_disk) + { warn!("error taking screenshot: {err:?}"); } }); } } - Action::ScreenshotWindowById(id) => { + Action::ScreenshotWindowById { id, write_to_disk } => { let mut windows = self.niri.layout.windows(); let window = windows.find(|(_, m)| m.id().get() == id); if let Some((Some(monitor), mapped)) = window { let output = monitor.output(); self.backend.with_primary_renderer(|renderer| { - if let Err(err) = self.niri.screenshot_window(renderer, output, mapped) { + if let Err(err) = + self.niri + .screenshot_window(renderer, output, mapped, write_to_disk) + { warn!("error taking screenshot: {err:?}"); } }); |
