aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md6
-rw-r--r--src/backends/zenity.rs4
2 files changed, 8 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0f0be7c..ba8e822 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# Unreleased
+- Fix the input and password dialogs for the `zenity` backend (thanks Silvano
+ Cortesi for the bug report):
+ - Read from `stdout` instead of `stderr`.
+ - Remove trailing newlines from the result.
+
# v0.2.0 (2019-01-11)
- Refactor `default_backend` to return a `Box<dyn Backend>`.
- Check the `DIALOG` and `DISPLAY` environment variables in `default_backend`.
diff --git a/src/backends/zenity.rs b/src/backends/zenity.rs
index 0730c64..85206b3 100644
--- a/src/backends/zenity.rs
+++ b/src/backends/zenity.rs
@@ -128,8 +128,8 @@ fn get_choice(status: process::ExitStatus) -> Result<Choice> {
fn get_stdout(output: process::Output) -> Result<Option<String>> {
if output.status.success() {
- String::from_utf8(output.stderr)
- .map(|s| Some(s))
+ String::from_utf8(output.stdout)
+ .map(|s| Some(s.trim_end_matches('\n').to_string()))
.map_err(|err| Error::from(err))
} else {
if let Some(code) = output.status.code() {