具有不同终端的不同NCurs行为



i使用不同终端获得两种不同的行为,这是我的代码:

(use ncurses)
(initscr)
(curs_set 0)
(noecho)
(start_color)
(define win (newwin 20 50 1 1))
(wclear win)
(box win 0 0) 
(for-each (lambda (y) 
    (for-each (lambda (x) 
        (mvwaddch win y x #. ))
    (iota 49)))
(iota 19))
(wrefresh win)
(wgetch win)
(endwin)

该代码是用鸡肉计划编写的,但是任何了解Ncurses的人都可以阅读。我认为我的问题与库无关,因为这是一个称为C函数的简单包装器。

但是,如果我使用XTERM,UXTERM或Linux终端,我可以获得正确的行为(盒装窗口),您可以使用Ctrl-Alt-f1输入。

.................................................┐
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
.................................................│
└────────────────────────────────────────────────┘

但是,如果我使用其他任何终端,例如gnome末端,终结者或樱花

 .┐
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 .│
 └─┘

我认为这不是库的错误,但我可以尝试在C中重写示例(我的C有点生锈)。

听起来好像您的 TERM变量设置为 xterm ,它偶尔会为基于VTE的终端(GNOME-terminal等)产生问题。这是一个常见问题解答(为什么不将术语设置为" xterm"?)。

这不是一个错误(无论如何,在ncurses中)。

将其设置为 vte 如果您有一个完整的终端数据库...

相关内容

  • 没有找到相关文章

最新更新