Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ncurses/2021-05-12-llt21
Search
Satoshi SAKAO
May 12, 2021
Programming
0
140
ncurses/2021-05-12-llt21
社内のLTイベント「えるLT Vol.21 オンライン」で発表した資料です
Satoshi SAKAO
May 12, 2021
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Pkl/2024-04-17-llt31
ottijp
0
13
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
76
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
0
57
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
100
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
97
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
110
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
52
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
57
ghqでソースコードを管理しよう/2021-03-23-llt20
ottijp
0
280
Other Decks in Programming
See All in Programming
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
260
Semantic search with Django and pgvector
pauloxnet
0
240
Elm Form Validation
bkuhlmann
0
510
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Apache Hive 4 on Treasure Data
ryukobayashi
0
120
Milestoner
bkuhlmann
1
410
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
270
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
360
ゆるい個人開発のススメ
kuroppe1819
10
990
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
260
新宿ダンジョンを可視化してみた
satoshi7190
2
240
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Being A Developer After 40
akosma
57
580k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Clear Off the Table
cherdarchuk
84
310k
Into the Great Unknown - MozCon
thekraken
10
990
YesSQL, Process and Tooling at Scale
rocio
164
13k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Git: the NoSQL Database
bkeepers
PRO
422
63k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Transcript
ncurses Satoshi SAKAO えるLT Vol.21 2021-05-12 1
話すひと 2 🏢 インフォコム株式会社 品質マネジメント推進室 👨🔧 ソフトウェアエンジニア 🛠 Node.js /
GCP / IoT / iOS (Swift) 💖 猫,テクテクライフ(ランク: 20) Satoshi SAKAO @ottijp
3 motivation
PR to ranger/ranger 4 https://github.com/ranger/ranger/pull/2030
NCURSES Programming HOWTO 5 https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
6 what’s curses
curses • is a library • realizes GUI like CUI
• provides terminal independent API 7
e.g. ranger (filer) 8
e.g. tig (git client) 9
ncurses • new curses • emulation of the original (System
V) curses • part of GNU project • https://invisible-island.net/ncurses/ 10
11 features
features • screen manipulation • print characters • change format
of characters • interface with the keyboard and the mouse • scrolling • windows 12
sisters • panel • menu • form • CDK (Curses
Development Kit) 13
14 demo https://github.com/ottijp/ncurses-demo-llt21
1. print characters • int mvaddch(int y, int x, const
chtype ch); 15
2. change format of characters • int start_color(void); • int
init_pair(short pair, short f, short b); • int attrset(int attrs); 16
3. interface with the keyboard and the mouse • int
getch(void); • mmask_t mousemask(mmask_t newmask, mmask_t *oldmask); • int getmouse(MEVENT *event); 17
18 in python, node.js and swift
python 19 https://docs.python.org/3/library/curses.html
node.js 20 https://github.com/fresc81/node-curses
node.js 21 https://github.com/chjj/blessed
swift 22 https://github.com/TheCoderMerlin/Curses
23 Appendix
refs • ncurses - Wikipedia https://en.wikipedia.org/wiki/Ncurses • NCURSES Programming HOWTO
https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ 24