2017-01-10 5 views
1

私は割り当てのためにNCURSESライブラリを使用していましたが、大きな問題が1つあります。 端末ウィンドウにスクロールバーを表示することはできません。私はhereというものを試しましたが、どれもうまくいかないようです。 StackExhcangeでこのコード部分が見つかりましたが、これでもschrollbarsは表示されません。NCURSESはelementryOS端末のスクロールバーを表示しません

#include <ncurses.h> 

int main(void) 
{ 
int i = 0; 

initscr(); 

scrollok(stdscr,TRUE); 

while(i<500) { 
    printw("%3d - lots and lots of lines flowing down the terminal\n", i); 
    ++i; 
    refresh(); 
} 

getchar(); 

endwin(); 
return 0; 
} 

これは修正されていると聞いているので、elementaryOSには問題がありますか?

+1

:ここでは例ですか? –

+0

実際のターミナルウィンドウ自体のスクロールバー –

答えて

2

2つの可能性:

  • 端末記述は、おそらくxterm alternate screen featureを使用しています。一部の端末では、スクロールが無効になっているため、代替画面を使用しているときにスクロールバーが表示されません。たとえば、VTEは実際の端末で、このモードではスクロールを上下のカーソルキーに変換する(ハードコードされた)動作がデフォルトで使用されています。
  • OPは、cursesアプリケーションがスクロールバーを表示することを期待しています。アプリケーションがスクロールバーをシミュレートしない限り、それらはしません。

たとえば、dialogは後者を行います。あなたは、実際のターミナルウィンドウ自体、またはウィンドウ内のテキスト-rederedスクロールバーのスクロールバーを意味しています「スクロールバー」を言うとき

screenshot of dialog with simulated scrollbars

+0

スクロールバーが必要な場合は、自分でシミュレートする必要がありますか? –

+0

あなたのコメントに基づいて、私が作った最初の提案はより可能性が高いようです。 –

関連する問題