Terminal File Manager 'veld': Modern TUI with Out-of-the-Box Tiling
๐ค AI ์ถ์ฒ
ํฐ๋ฏธ๋ ํ๊ฒฝ์์ ํจ์จ์ ์ธ ํ์ผ ๊ด๋ฆฌ๋ฅผ ์ถ๊ตฌํ๋ ๊ฐ๋ฐ์, ํนํ ํค๋ณด๋ ์ค์ฌ ์ํฌํ๋ก์ฐ์ ๋ถํ ํ๋ฉด(tiling) ๊ธฐ๋ฅ์ ์ ํธํ๋ ์ฌ์ฉ์์๊ฒ 'veld'๋ ๋งค๋ ฅ์ ์ธ ๋์์ด ๋ ์ ์์ต๋๋ค. Python ๋ฐ Textual ํ๋ ์์ํฌ์ ์ต์ํ๊ฑฐ๋ ์ต์ TUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ํธ๊ธฐ์ฌ์ด ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ์๋ก์ด ๊ฒฝํ์ ์ป์ ์ ์์ต๋๋ค.
๐ ์ฃผ์ ํค์๋

ํต์ฌ ๊ธฐ์
veld
๋ Python์ Textual ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ํ๋์ ์ธ ํฐ๋ฏธ๋ ๊ธฐ๋ฐ ํ์ผ ๊ด๋ฆฌ์(TUI)๋ก, ๋ณ๋์ ๋ณต์กํ ์ค์ ์์ด ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ถํ ํ๋ฉด(tiling) ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ด ํต์ฌ์
๋๋ค.
๊ธฐ์ ์ ์ธ๋ถ์ฌํญ
- ๋ถํ ํจ๋ (Tiling Panels):
o
ํค๋ฅผ ๋๋ฌ ์ ํจ๋์ ์ด๊ณ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ์ฌ ์ฌ์ด๋๋ฐ์ด์ฌ์ด๋ ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.w
๋ก ํจ๋์ ๋ซ๊ณTab
์ผ๋ก ํจ๋ ๊ฐ ์ด๋์ด ๊ฐ๋ฅํฉ๋๋ค. - ํค๋ณด๋ ์ค์ฌ ์ํฌํ๋ก์ฐ: ๋ง์ฐ์ค ์์ด ๋ชจ๋ ํ์ผ ์์
(๋ณต์ฌ
c
, ์ด๋m
, ์ด๋ฆ ๋ณ๊ฒฝn
, ์ญ์ r
)์ ์ํํ ์ ์์ต๋๋ค. - ์์นด์ด๋ธ/์์ถ ํด์ : zip/tar ํ์ผ์ ์ง์ ์์นด์ด๋ธ(
a
)ํ๊ฑฐ๋ ์์ถ ํด์ (x
)ํ ์ ์์ต๋๋ค. - ํ์ผ ์ ํ: ์คํ์ด์ค๋ฐ(
spacebar
)๋ฅผ ์ด์ฉํด ํ์ผ์ ์ ํํฉ๋๋ค. - ๊ฐํธํ ์ค์ :
config.toml
ํ์ผ์ ํตํด ํค ๋ฐ์ธ๋ฉ ๋ฑ ์ค์ ์ ๋จ์ผ ๋ผ์ธ ํธ์ง์ผ๋ก ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. (์:quit = "q"
,add_panel = "o"
) - ๊ธฐ์ ์คํ: Python ๋ฐ Textual ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์ด๋ ํฌ๋ก์ค ํ๋ซํผ ์ง์ ๋ฐ ์ฌ์ด ์ปค์คํฐ๋ง์ด์ง์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๊ฐ๋ฐ ์ํฉํธ
- ํค๋ณด๋ ์ค์ฌ์ ํจ์จ์ ์ธ ํ์ผ ๊ด๋ฆฌ ๊ฒฝํ์ ์ ๊ณตํ์ฌ ์์ฐ์ฑ์ ํฅ์์ํต๋๋ค.
- ๋ณ๋์ ๋ณต์กํ ์คํฌ๋ฆฝํธ ์์ฑ ์์ด ๋ถํ ํ๋ฉด ๊ธฐ๋ฅ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ด ์ฌ์ฉ ํธ์์ฑ์ ๋์์ต๋๋ค.
- Textual ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ์ฌ ํ๋์ ์ด๊ณ ๋ฐ์์ฑ ์ข์ TUI ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฌ์ค๋๋ค.
์ปค๋ฎค๋ํฐ ๋ฐ์
์์ฑ์๋ ranger
, nnn
๊ณผ ๊ฐ์ ๊ธฐ์กด์ ํ๋ฅญํ ํ์ผ ๊ด๋ฆฌ์๋ค์ ๊ธฐ๋ฐํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ผ๋ฉฐ, ์ด๋ค์ ๋์ฒดํ๊ธฐ๋ณด๋ค๋ ๋ค๋ฅธ ๊ฒฝํ์ ์ ๊ณตํ๊ณ ์ ํฉ๋๋ค. ์ปค๋ฎค๋ํฐ ํผ๋๋ฐฑ, ๊ธฐ๋ฅ ์์ด๋์ด, ๋ฒ๊ทธ ๋ฆฌํฌํธ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ์ํ๋ฉฐ GitHub๋ฅผ ํตํด ์คํ ์์ค(MIT ๋ผ์ด์ ์ค)๋ก ๊ณต๊ฐํ์ต๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
Python 3.9+์ pip๋ฅผ ์๊ตฌํ๋ฉฐ, GitHub์์ ์ง์ ์ค์นํ ์ ์์ต๋๋ค (pip install git+https://github.com/BranBushes/veld-fm
). ์ค์น ํ ํฐ๋ฏธ๋์์ veld
๋๋ veld [๊ฒฝ๋ก]
๋ช
๋ น์ด๋ก ์คํํ ์ ์์ต๋๋ค.