Hacking the planet with Notcurses
由 darkranger 在 週五, 03/20/2020 - 21:23 發表
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 做執行。