func (h *BufPane) TermCmd(args []string) {
ps := h.tab.Panes
+ if !TermEmuSupported {
+ InfoBar.Error("Terminal emulator not supported on this system")
+ return
+ }
+
if len(args) == 0 {
sh := os.Getenv("SHELL")
if sh == "" {
}
v := h.GetView()
- MainTab().Panes[i] = NewTermPane(v.X, v.Y, v.Width, v.Height, t, id, MainTab())
+ tp, err := NewTermPane(v.X, v.Y, v.Width, v.Height, t, id, MainTab())
+ if err != nil {
+ InfoBar.Error(err)
+ return
+ }
+ MainTab().Panes[i] = tp
MainTab().SetActive(i)
}
id := MainTab().Panes[0].ID()
v := h.GetView()
- MainTab().Panes[0] = NewTermPane(v.X, v.Y, v.Width, v.Height, t, id, MainTab())
+
+ tp, err := NewTermPane(v.X, v.Y, v.Width, v.Height, t, id, MainTab())
+ if err != nil {
+ return err
+ }
+ MainTab().Panes[0] = tp
MainTab().SetActive(0)
return nil
package action
import (
+ "errors"
"runtime"
"github.com/zyedidia/clipboard"
tab *Tab
}
-func NewTermPane(x, y, w, h int, t *shell.Terminal, id uint64, tab *Tab) *TermPane {
+func NewTermPane(x, y, w, h int, t *shell.Terminal, id uint64, tab *Tab) (*TermPane, error) {
+ if !TermEmuSupported {
+ return nil, errors.New("Terminal emulator is not supported on this system")
+ }
+
th := new(TermPane)
th.Terminal = t
th.id = id
th.mouseReleased = true
th.Window = display.NewTermWindow(x, y, w, h, t)
th.tab = tab
- return th
+ return th, nil
}
func (t *TermPane) ID() uint64 {