diff options
| author | Lin Xianyi <iynaix@gmail.com> | 2025-10-19 11:22:31 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-19 14:22:31 +0300 |
| commit | 23cd5aa78a26ccf57c6a7993313e42a5c39d43d8 (patch) | |
| tree | fff3ad5057850bf916c404cc95437e1058c56a20 /src/input | |
| parent | 8c8447918f4fd7bc6c86a8622b1db52417fbbbbd (diff) | |
| download | niri-23cd5aa78a26ccf57c6a7993313e42a5c39d43d8.tar.gz niri-23cd5aa78a26ccf57c6a7993313e42a5c39d43d8.tar.bz2 niri-23cd5aa78a26ccf57c6a7993313e42a5c39d43d8.zip | |
Add --path argument for niri msg screenshot* commands (#2126)
* Check for empty screenshot parent before creating
Avoids a warning.
* Add --path argument for niri msg screenshot* commands
* fix
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
Diffstat (limited to 'src/input')
| -rw-r--r-- | src/input/mod.rs | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index 876295a2..23ea4b29 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -605,14 +605,17 @@ impl State { self.niri.do_screen_transition(renderer, delay_ms); }); } - Action::ScreenshotScreen(write_to_disk, show_pointer) => { + Action::ScreenshotScreen(write_to_disk, show_pointer, path) => { 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, write_to_disk, show_pointer) - { + if let Err(err) = self.niri.screenshot( + renderer, + &active, + write_to_disk, + show_pointer, + path, + ) { warn!("error taking screenshot: {err:?}"); } }); @@ -636,32 +639,42 @@ impl State { self.niri.screenshot_ui.toggle_pointer(); self.niri.queue_redraw_all(); } - Action::Screenshot(show_cursor) => { - self.open_screenshot_ui(show_cursor); + Action::Screenshot(show_cursor, path) => { + self.open_screenshot_ui(show_cursor, path); } - Action::ScreenshotWindow(write_to_disk) => { + Action::ScreenshotWindow(write_to_disk, path) => { 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, write_to_disk) - { + if let Err(err) = self.niri.screenshot_window( + renderer, + output, + mapped, + write_to_disk, + path, + ) { warn!("error taking screenshot: {err:?}"); } }); } } - Action::ScreenshotWindowById { id, write_to_disk } => { + Action::ScreenshotWindowById { + id, + write_to_disk, + path, + } => { 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, write_to_disk) - { + if let Err(err) = self.niri.screenshot_window( + renderer, + output, + mapped, + write_to_disk, + path, + ) { warn!("error taking screenshot: {err:?}"); } }); |
