Bug 620083 - whiptail --gauge does not work as advertised
Summary: whiptail --gauge does not work as advertised
Alias: None
Product: Fedora
Classification: Fedora
Component: newt
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Miroslav Lichvar
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-31 19:54 UTC by Joe Nuspl
Modified: 2010-08-06 12:24 UTC (History)
1 user (show)

Fixed In Version: newt-0.52.12-1.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-08-06 12:24:14 UTC
Type: ---

Attachments (Terms of Use)
Simple patch to make the existing code work (317 bytes, patch)
2010-07-31 20:00 UTC, Joe Nuspl
no flags Details | Diff
Patch so behavior matches man page (759 bytes, patch)
2010-07-31 20:06 UTC, Joe Nuspl
no flags Details | Diff

Description Joe Nuspl 2010-07-31 19:54:07 UTC
According to the whiptail manpage:

       --gauge text height width percent
              A gauge box displays a meter along the bottom of the box.  The
              meter indicates a percentage.  New percentages are read from
              standard input, one integer per line.  The meter is updated to
              reflect each new percentage.  If stdin is XXX, then subsequent
              lines up to another XXX are used for a new prompt.  The gauge
              exits when EOF is reached on stdin.

Running the following snippet does not change the text:

	echo 10
	sleep 5

	echo 20
	sleep 5

	echo XXX
	echo Replacement text
	echo XXX
	sleep 5

	echo 100
	sleep 1
) | whiptail --gauge "Original text" 10 40 0

# whiptail --version
whiptail (newt): 0.52.1

Comment 1 Joe Nuspl 2010-07-31 20:00:08 UTC
Created attachment 435793 [details]
Simple patch to make the existing code work

Looking at the code, I think the authors intent was for the first line after XXX to be the new percentage.  So the input would be of the form:

We're now at 30 percent complete.

I've attached a patch that makes it behave that way.

Comment 2 Joe Nuspl 2010-07-31 20:06:04 UTC
Created attachment 435794 [details]
Patch so behavior matches man page

The code as it exists does not match the behavior described in the man page.

My interpretation is that the input between XXX is just the text.  The input stream would be:

We're now at 20 percent complete.

This attached patch implements that behaviors.

Comment 3 Miroslav Lichvar 2010-08-02 09:49:42 UTC
Thanks for the patches. We are trying to be compatible with dialog, so the first one is actually correct.

I've pushed an updated patch (to 0.52.11) to the newt git repository and a man page description fix, so it's clear that after XXX should be a percentage.

This will be in newt-0.52.12.

Comment 4 Joe Nuspl 2010-08-02 18:17:08 UTC
Another issue:

sleep 5 | whiptail --gauge "multi\nline" 10 40 0

will display:


while dialog displays:


With no leading space before line.

Comment 5 Miroslav Lichvar 2010-08-03 12:23:10 UTC
Should be fixed in git now. Thanks.

Note You need to log in before you can comment on or make changes to this bug.