fix issue with apt loading bars

This commit is contained in:
Liam Galvin 2018-11-12 10:15:14 +00:00
parent 26be543e0e
commit 11489256ab
3 changed files with 21 additions and 18 deletions

View File

@ -124,7 +124,7 @@ func csiCursorUpHandler(params []string, intermediate string, terminal *Terminal
if len(params) > 0 { if len(params) > 0 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -137,7 +137,7 @@ func csiCursorDownHandler(params []string, intermediate string, terminal *Termin
if len(params) > 0 { if len(params) > 0 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -151,7 +151,7 @@ func csiCursorForwardHandler(params []string, intermediate string, terminal *Ter
if len(params) > 0 { if len(params) > 0 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -165,7 +165,7 @@ func csiCursorBackwardHandler(params []string, intermediate string, terminal *Te
if len(params) > 0 { if len(params) > 0 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -180,7 +180,7 @@ func csiCursorNextLineHandler(params []string, intermediate string, terminal *Te
if len(params) > 0 { if len(params) > 0 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -196,7 +196,7 @@ func csiCursorPrecedingLineHandler(params []string, intermediate string, termina
if len(params) > 0 { if len(params) > 0 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -225,13 +225,13 @@ func csiCursorPositionHandler(params []string, intermediate string, terminal *Te
var err error var err error
if params[0] != "" { if params[0] != "" {
y, err = strconv.Atoi(string(params[0])) y, err = strconv.Atoi(string(params[0]))
if err != nil { if err != nil || y < 1 {
y = 1 y = 1
} }
} }
if params[1] != "" { if params[1] != "" {
x, err = strconv.Atoi(string(params[1])) x, err = strconv.Atoi(string(params[1]))
if err != nil { if err != nil || x < 1 {
x = 1 x = 1
} }
} }
@ -249,7 +249,7 @@ func csiScrollUpHandler(params []string, intermediate string, terminal *Terminal
if len(params) == 1 { if len(params) == 1 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -266,7 +266,7 @@ func csiInsertLinesHandler(params []string, intermediate string, terminal *Termi
if len(params) == 1 { if len(params) == 1 {
var err error var err error
count, err = strconv.Atoi(params[0]) count, err = strconv.Atoi(params[0])
if err != nil { if err != nil || count < 1 {
count = 1 count = 1
} }
} }
@ -284,7 +284,7 @@ func csiScrollDownHandler(params []string, intermediate string, terminal *Termin
if len(params) == 1 { if len(params) == 1 {
var err error var err error
distance, err = strconv.Atoi(params[0]) distance, err = strconv.Atoi(params[0])
if err != nil { if err != nil || distance < 1 {
distance = 1 distance = 1
} }
} }
@ -305,14 +305,14 @@ func csiSetMarginsHandler(params []string, intermediate string, terminal *Termin
if len(params) > 0 { if len(params) > 0 {
var err error var err error
top, err = strconv.Atoi(params[0]) top, err = strconv.Atoi(params[0])
if err != nil { if err != nil || top < 1 {
top = 1 top = 1
} }
if len(params) > 1 { if len(params) > 1 {
var err error var err error
bottom, err = strconv.Atoi(params[1]) bottom, err = strconv.Atoi(params[1])
if err != nil || bottom > int(terminal.ActiveBuffer().ViewHeight()) { if err != nil || bottom > int(terminal.ActiveBuffer().ViewHeight()) || bottom < 1 {
bottom = int(terminal.ActiveBuffer().ViewHeight()) bottom = int(terminal.ActiveBuffer().ViewHeight())
} }
} }
@ -331,7 +331,7 @@ func csiEraseCharactersHandler(params []string, intermediate string, terminal *T
if len(params) > 0 { if len(params) > 0 {
var err error var err error
count, err = strconv.Atoi(params[0]) count, err = strconv.Atoi(params[0])
if err != nil { if err != nil || count < 1 {
count = 1 count = 1
} }
} }
@ -358,7 +358,7 @@ func csiLinePositionAbsolute(params []string, intermediate string, terminal *Ter
if len(params) > 0 { if len(params) > 0 {
var err error var err error
row, err = strconv.Atoi(params[0]) row, err = strconv.Atoi(params[0])
if err != nil { if err != nil || row < 1 {
row = 1 row = 1
} }
} }
@ -373,7 +373,7 @@ func csiDeleteHandler(params []string, intermediate string, terminal *Terminal)
if len(params) >= 1 { if len(params) >= 1 {
var err error var err error
n, err = strconv.Atoi(params[0]) n, err = strconv.Atoi(params[0])
if err != nil { if err != nil || n < 1 {
n = 1 n = 1
} }
} }

View File

@ -87,6 +87,8 @@ func (terminal *Terminal) processInput(ctx context.Context, pty chan rune) {
b := <-pty b := <-pty
terminal.logger.Debugf("0x%q", string(b))
handler, ok := escapeSequenceMap[b] handler, ok := escapeSequenceMap[b]
if ok { if ok {

View File

@ -68,8 +68,7 @@ type Winsize struct {
} }
func New(pty *os.File, logger *zap.SugaredLogger, config *config.Config) *Terminal { func New(pty *os.File, logger *zap.SugaredLogger, config *config.Config) *Terminal {
t := &Terminal{
return &Terminal{
buffers: []*buffer.Buffer{ buffers: []*buffer.Buffer{
buffer.NewBuffer(1, 1, buffer.CellAttributes{ buffer.NewBuffer(1, 1, buffer.CellAttributes{
FgColour: config.ColourScheme.Foreground, FgColour: config.ColourScheme.Foreground,
@ -95,6 +94,8 @@ func New(pty *os.File, logger *zap.SugaredLogger, config *config.Config) *Termin
}, },
} }
return t
} }
func (terminal *Terminal) SetProgram(program uint32) { func (terminal *Terminal) SetProgram(program uint32) {