Add keep_tite configuration option
Similar to dialog(3) keep_tite option used to prevent visually disturbing initialization or exit that could occur when run from a script using dpv(3) by way of dpv(1) in sequence with other dialog(1) invocations.
This commit is contained in:
parent
10d72ffc7d
commit
80f7300d7b
@ -1,4 +1,4 @@
|
|||||||
.\" Copyright (c) 2013-2015 Devin Teske
|
.\" Copyright (c) 2013-2016 Devin Teske
|
||||||
.\" All rights reserved.
|
.\" All rights reserved.
|
||||||
.\"
|
.\"
|
||||||
.\" Redistribution and use in source and binary forms, with or without
|
.\" Redistribution and use in source and binary forms, with or without
|
||||||
@ -24,7 +24,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd Oct 22, 2015
|
.Dd Jan 26, 2016
|
||||||
.Dt DPV 3
|
.Dt DPV 3
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -64,6 +64,7 @@ argument contains the following properties for configuring global display
|
|||||||
features:
|
features:
|
||||||
.Bd -literal -offset indent
|
.Bd -literal -offset indent
|
||||||
struct dpv_config {
|
struct dpv_config {
|
||||||
|
uint8_t keep_tite; /* Cleaner exit for scripts */
|
||||||
enum dpv_display display_type; /* Def. DPV_DISPLAY_LIBDIALOG */
|
enum dpv_display display_type; /* Def. DPV_DISPLAY_LIBDIALOG */
|
||||||
enum dpv_output output_type; /* Default DPV_OUTPUT_NONE */
|
enum dpv_output output_type; /* Default DPV_OUTPUT_NONE */
|
||||||
int debug; /* Enable debug on stderr */
|
int debug; /* Enable debug on stderr */
|
||||||
|
@ -69,6 +69,7 @@ long long dpv_overall_read = 0;
|
|||||||
static char pathbuf[PATH_MAX];
|
static char pathbuf[PATH_MAX];
|
||||||
|
|
||||||
/* Extra display information */
|
/* Extra display information */
|
||||||
|
uint8_t keep_tite = FALSE; /* dpv_config.keep_tite */
|
||||||
uint8_t no_labels = FALSE; /* dpv_config.options & DPV_NO_LABELS */
|
uint8_t no_labels = FALSE; /* dpv_config.options & DPV_NO_LABELS */
|
||||||
uint8_t wide = FALSE; /* dpv_config.options & DPV_WIDE_MODE */
|
uint8_t wide = FALSE; /* dpv_config.options & DPV_WIDE_MODE */
|
||||||
char *aprompt = NULL; /* dpv_config.aprompt */
|
char *aprompt = NULL; /* dpv_config.aprompt */
|
||||||
@ -150,6 +151,7 @@ dpv(struct dpv_config *config, struct dpv_file_node *file_list)
|
|||||||
dialog_updates_per_second = DIALOG_UPDATES_PER_SEC;
|
dialog_updates_per_second = DIALOG_UPDATES_PER_SEC;
|
||||||
display_limit = DISPLAY_LIMIT_DEFAULT;
|
display_limit = DISPLAY_LIMIT_DEFAULT;
|
||||||
display_type = DPV_DISPLAY_LIBDIALOG;
|
display_type = DPV_DISPLAY_LIBDIALOG;
|
||||||
|
keep_tite = FALSE;
|
||||||
label_size = LABEL_SIZE_DEFAULT;
|
label_size = LABEL_SIZE_DEFAULT;
|
||||||
msg_done = NULL;
|
msg_done = NULL;
|
||||||
msg_fail = NULL;
|
msg_fail = NULL;
|
||||||
@ -193,6 +195,7 @@ dpv(struct dpv_config *config, struct dpv_file_node *file_list)
|
|||||||
dialog_updates_per_second = config->dialog_updates_per_second;
|
dialog_updates_per_second = config->dialog_updates_per_second;
|
||||||
display_limit = config->display_limit;
|
display_limit = config->display_limit;
|
||||||
display_type = config->display_type;
|
display_type = config->display_type;
|
||||||
|
keep_tite = config->keep_tite;
|
||||||
label_size = config->label_size;
|
label_size = config->label_size;
|
||||||
msg_done = (char *)config->msg_done;
|
msg_done = (char *)config->msg_done;
|
||||||
msg_fail = (char *)config->msg_fail;
|
msg_fail = (char *)config->msg_fail;
|
||||||
@ -695,7 +698,7 @@ dpv(struct dpv_config *config, struct dpv_file_node *file_list)
|
|||||||
close(dialog_out);
|
close(dialog_out);
|
||||||
waitpid(pid, (int *)NULL, 0);
|
waitpid(pid, (int *)NULL, 0);
|
||||||
}
|
}
|
||||||
if (!dpv_interrupt)
|
if (!keep_tite && !dpv_interrupt)
|
||||||
printf("\n");
|
printf("\n");
|
||||||
} else
|
} else
|
||||||
warnx("%s: %lli overall read", __func__, dpv_overall_read);
|
warnx("%s: %lli overall read", __func__, dpv_overall_read);
|
||||||
|
@ -97,6 +97,7 @@ struct dpv_file_node {
|
|||||||
* Anatomy of config option to pass as dpv() config argument
|
* Anatomy of config option to pass as dpv() config argument
|
||||||
*/
|
*/
|
||||||
struct dpv_config {
|
struct dpv_config {
|
||||||
|
uint8_t keep_tite; /* Prevent visually distracting exit */
|
||||||
enum dpv_display display_type; /* Display (default TYPE_LIBDIALOG) */
|
enum dpv_display display_type; /* Display (default TYPE_LIBDIALOG) */
|
||||||
enum dpv_output output_type; /* Output (default TYPE_NONE) */
|
enum dpv_output output_type; /* Output (default TYPE_NONE) */
|
||||||
int debug; /* Enable debugging output on stderr */
|
int debug; /* Enable debugging output on stderr */
|
||||||
|
@ -38,6 +38,7 @@ extern uint8_t debug;
|
|||||||
extern unsigned int dpv_nfiles;
|
extern unsigned int dpv_nfiles;
|
||||||
|
|
||||||
/* Extra display information */
|
/* Extra display information */
|
||||||
|
extern uint8_t keep_tite;
|
||||||
extern uint8_t no_labels;
|
extern uint8_t no_labels;
|
||||||
extern uint8_t wide;
|
extern uint8_t wide;
|
||||||
extern char *msg_done, *msg_fail, *msg_pending;
|
extern char *msg_done, *msg_fail, *msg_pending;
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
* in the range 5 to 9.
|
* in the range 5 to 9.
|
||||||
*/
|
*/
|
||||||
#undef __FreeBSD_version
|
#undef __FreeBSD_version
|
||||||
#define __FreeBSD_version 1100096 /* Master, propagated to newvers */
|
#define __FreeBSD_version 1100097 /* Master, propagated to newvers */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
|
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user