Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When reducing terminal size, bar will not remain in the same line in each rendering. Is it a bug? #106

Open
Andrew-M-C opened this issue Sep 2, 2021 · 3 comments

Comments

@Andrew-M-C
Copy link

  • Device: MacBook Pro 13-inch, 2020
  • Terminal: build-in Terminal application
  • Description:
    • After the width of terminal got thinner, the previous bar remain above (which is acceptable).
    • But the new bar kept starting new lines and re-render each progress, which may not be acceptable.
    • Please refer to attached screen capture file.

source test file content:

package progress

import (
	"os"
	"testing"
	"time"

	progressbar "github.com/schollz/progressbar/v3"
	. "github.com/smartystreets/goconvey/convey"
	"golang.org/x/term"
)

func TestGeneral(t *testing.T) {
	Convey("progressbar", t, func() { testProgressbar(t) })
}

func testProgressbar(t *testing.T) {
	bar := progressbar.Default(100, "test progressbar")

	for i := 0; i < 100; i++ {
		bar.Set(i)
		time.Sleep(50 * time.Millisecond)
	}

	bar.Clear()
	w, h, err := term.GetSize(int(os.Stdout.Fd()))
	So(err, ShouldBeNil)
	t.Logf("Done, terminal size: %d x %d", w, h)
}
Screen.Recording.2021-09-02.at.10.35.14.AM.mov
@Tgentimc
Copy link

Tgentimc commented Sep 2, 2021

me too

@schollz
Copy link
Owner

schollz commented Sep 3, 2021

Will accept PR to fix this

@ramoncjs3
Copy link

...Is this bug fixed so far?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants