Hacking the planet with Notcurses

notcurses 是一款用於開發文字使用者介面(Text-based user interface,TUI)程式的函式庫,起源於作者 Nick Black 希望實現出比 ncurses 更加先進的功能。儘管通常 Linux 使用者若不是使用 GUI,就是做純粹的文字指令操作。不過就許多案例而言,介於兩者之間的 TUI 應用程式還是有它存在的價值,因此若能有更加新穎的開發函式庫問世,自然是樂觀其成。Hacking the planet with Notcurses(PDF)則是由作者親自編寫的電子書指南,倘若有開發 TUI 應用程式的需求,這應是相當有用的參考資源。

 

以下是在 Fedora 30 上編譯 notcurses 函式庫(包含 Demo)的流程,首先是安裝編譯時所依賴的開發工具及其它函式庫,其中 ffmpeg-devel 是來自於 RPM Fusion 套件庫:

  • sudo dnf group install "C Development Tools and Libraries"
  • sudo dnf install cmake pandoc ncurses-devel ffmpeg-devel python3-devel

 

然而依賴清單中的 doctest 測試框架並無套件庫來源可直接進行安裝,因此手動安裝流程如下:

  • wget https://github.com/onqtam/doctest/archive/2.3.7.tar.gz
  • tar zxvf 2.3.7.tar.gz
  • cd doctest-2.3.7/
  • mkdir build
  • cd build
  • cmake ..
  • make
  • sudo make install

 

接著就能夠進行 notcurses 函式庫的編譯:

  • wget https://github.com/dankamongmen/notcurses/archive/v1.2.3.tar.gz
  • tar zxvf v1.2.3.tar.gz
  • cd notcurses-1.2.3/
  • mkdir build
  • cd build
  • cmake ..
  • make

 

完成編譯後,執行以下指令就可以啟動 notcurses 的 Demo 展示項目:

  • ./notcurses-demo -p ../data

 

預設會接連展示十餘種不同的 Demo,包含圖像顯示、影片播放及 Unicode 支援等。若參考幫助文件(--help)的說明,則可以單純指定個別的 Demo 做執行。

 

 

分類: