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
200
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
Testcontainers/2024-11-20-llt32
ottijp
0
52
Pkl/2024-04-17-llt31
ottijp
0
79
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
150
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
260
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
150
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
160
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
140
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
84
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
100
Other Decks in Programming
See All in Programming
関数型まつりレポート for JuliaTokai #22
antimon2
0
130
カクヨムAndroidアプリのリブート
numeroanddev
0
430
Benchmark
sysong
0
230
イベントストーミングから始めるドメイン駆動設計
jgeem
4
870
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
110
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
120
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
1
100
Passkeys for Java Developers
ynojima
3
880
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
CursorはMCPを使った方が良いぞ
taigakono
0
150
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
GraphQLとの向き合い方2022年版
quramy
46
14k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Fireside Chat
paigeccino
37
3.5k
A Tale of Four Properties
chriscoyier
160
23k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
For a Future-Friendly Web
brad_frost
179
9.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Building Applications with DynamoDB
mza
95
6.5k
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