mirror of https://github.com/gdamore/tcell.git
Allow use of TCELL_ALTSCREEN=disable to disable alternate screen.
This hack will also prevent the clearing of the screen at disengage time. This may be useful for certain kinds of applications that want to draw the screen, then place the cursor at a specific location. (The application will need to do a TGoto on it's own first.)
This commit is contained in:
parent
552bf3cec1
commit
6984e257e4
15
tscreen.go
15
tscreen.go
|
@ -1822,7 +1822,14 @@ func (t *tScreen) engage() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
ti := t.ti
|
ti := t.ti
|
||||||
t.TPuts(ti.EnterCA)
|
if os.Getenv("TCELL_ALTSCREEN") != "disable" {
|
||||||
|
// Technically this may not be right, but every terminal we know about
|
||||||
|
// (even Wyse 60) uses this to enter the alternate screen buffer, and
|
||||||
|
// possibly save and restore the window title and/or icon.
|
||||||
|
// (In theory there could be terminals that don't support X,Y cursor
|
||||||
|
// positions without a setup command, but we don't support them.)
|
||||||
|
t.TPuts(ti.EnterCA)
|
||||||
|
}
|
||||||
t.TPuts(ti.EnterKeypad)
|
t.TPuts(ti.EnterKeypad)
|
||||||
t.TPuts(ti.HideCursor)
|
t.TPuts(ti.HideCursor)
|
||||||
t.TPuts(ti.EnableAcs)
|
t.TPuts(ti.EnableAcs)
|
||||||
|
@ -1865,10 +1872,12 @@ func (t *tScreen) disengage() {
|
||||||
}
|
}
|
||||||
t.TPuts(ti.ResetFgBg)
|
t.TPuts(ti.ResetFgBg)
|
||||||
t.TPuts(ti.AttrOff)
|
t.TPuts(ti.AttrOff)
|
||||||
t.TPuts(ti.Clear)
|
|
||||||
t.TPuts(ti.ExitCA)
|
|
||||||
t.TPuts(ti.ExitKeypad)
|
t.TPuts(ti.ExitKeypad)
|
||||||
t.TPuts(ti.EnableAutoMargin)
|
t.TPuts(ti.EnableAutoMargin)
|
||||||
|
if os.Getenv("TCELL_ALTSCREEN") != "disable" {
|
||||||
|
t.TPuts(ti.Clear) // only needed if ExitCA is empty
|
||||||
|
t.TPuts(ti.ExitCA)
|
||||||
|
}
|
||||||
t.enableMouse(0)
|
t.enableMouse(0)
|
||||||
t.enablePasting(false)
|
t.enablePasting(false)
|
||||||
t.disableFocusReporting()
|
t.disableFocusReporting()
|
||||||
|
|
Loading…
Reference in New Issue