| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
| |
Previously, we tried to read the user input from zenity’s stderr
although it is written to stdout. This patch changes the zenity backend
to read from stdout instead of stderr. It also removes trailing
newlines from the user input, as zenity adds a newline when writing the
input.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This patch adds the stdio backend which acts as a fallback backend and
uses standard input and output. For password queries, the rpassword
crate is used to suppress output. Also, default_backend is changed to
return Stdio if Dialog is not available.
|
|
|
|
|
|
|
| |
This patch changes the default_backend to also check the DISPLAY
environment variable. If it is set, there probably is a X server
running, so we try to use the zenity backend. Otherwise, the dialog
backend is used.
|
|
|
|
|
| |
This patch changes the logic in default_backend to respect the DIALOG
environment variable that may contain the name of the backend to use.
|
|
|
|
|
|
|
|
|
|
| |
This patch refactors the default_backend function to return a Box<dyn
Backend> instead of impl Backend. This will allow us to dynamically
choose the backend implementation in a future patch. To keep the
current interface, we change show_with to accept both a reference to a
backend instance as well as a reference to a boxed backend instance.
This also means we have to implement AsRef<Self> for the backend
structs.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The trait implementations for the Error enum contain a lot of
boilerplate code and are not very insightful. Therefore this patch
moves the Error enum, its trait implementations and the related Result
type definition from the main module to the error module. The Error and
Result types are re-exported from the main module so that the public
interface does not change.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This patch implements input dialog boxes. This required some
refactoring in the dialog backend to allow additional arguments after
the width and the height.
|
|
|
|
|
|
|
| |
So far it is hard to write unit tests for this crate as we don’t have
much logic. The existing tests are usage examples, therefore they are
moved to the examples directory. They can be run with `cargo run
--example <name>`.
|
|
|
|
|
|
|
|
| |
dialog(1) uses stdin to display the dialog boxes and prints output to
stderr (if applicable). This patch changes the command invocation in
the Dialog backend to capture stderr. stdin and stdout are inherited
from the main process so that dialog can display the dialog boxes and
receive user input.
|
|
|
|
|
|
| |
This patch adds a first dialog box type, message boxes, and a first
backend, the dialog(1) tool. It does not yet address the problems of
output handling and backend selection.
|
|
|