آموزش شروع با ترمینال اس تی
اس تی؟ اسمشم نشنیدم
اس تی یکی از اپلیکیشن های گروه ساکلس(suckless) هست و مثل بقیه اپلیکیشن های این گروه فوق العاده مینیمال و ساده و سبک هستش.
توی ویدیوی جدیدم در مورد اس تی صحبت کردم و اینکه چطوری با اس تی-فلکسی پچ میتونید به قوی ترین و در عین حال سریع ترین ترمینال ممکن تبدیلش کنید.
مشکل اس تی خام اینه که بیش از حد مینیمال و سادس، طوری که حتی قابلیت اسکرول کردن به بالا رو هم نداره! برای اضافه کردن قابلیت های مختلف هم باید پَچ بهش اضافه کنید(که شامل ادیت سورس کد و کمپایل دوباره میشه.)
معمولا هم بعد از اضافه کردن دو سه تا پچ، پچ های بعدی با سورس کد جدید تداخل پیدا میکنن و باید برید لاین هارو دستی به سورس کد اضافه کنید که یکم زمان بر هست. اما با اس تی-فلکسی پچ هیچ کدوم از این دردسرا وجود ندارن.
ساختار اس تی-فلکسی پچ اینطوریه که شما میتونید پچ ها رو توی یک فایل آف و آن کنید و توی یک فایل دیگه مقادیرشون رو تغییر بدید مثل فایل های کانفیگ معمولی. تقریبا هیچ نیازی به ادیت سورس کد نیست.
چطور اس تی-فلکسی پچ رو نصب کنم؟
سورس کد رو بگیر و کمپایلش کن. شاید ترسناک بنظر بیاد ولی خیلی سادس.
همین:) حالا میتونید با دستور st اجراش کنید.
بعدش چکار کنم؟
بعد از کمپایل کردن دوتا فایل جدید به پوشه st-flexipatch تون اضافه میشه. یکی patches.h
و اون یکی config.h
کاری به بقیه فایلا نداشته باشید، اکثر ادیتامون قراره توی همین دو فایل باشن.1
مثلا بیاین قابلیت transparency یا شفافیت رو به اس تی اضافه کنیم.
برای این کار فایل patches.h
رو باز میکنیم و بخش زیری رو پیدا میکنیم:
/* The alpha patch adds transparency for the terminal.
* You need to uncomment the corresponding line in config.mk to use the -lXrender library
* when including this patch.
* https://st.suckless.org/patches/alpha/
*/
عدد 0 رو به 1 تغییر بدید تا پچ فعال شه:
/* The alpha patch adds transparency for the terminal.
* You need to uncomment the corresponding line in config.mk to use the -lXrender library
* when including this patch.
* https://st.suckless.org/patches/alpha/
*/
بعد از اون به فایل config.mk
برید و خط زیر رو پیدا کنید:
# Uncomment this for the alpha patch / ALPHA_PATCH
#XRENDER = `$(PKG_CONFIG) --libs xrender`
و خط دوم رو آنکامنت کنید:
# Uncomment this for the alpha patch / ALPHA_PATCH
XRENDER =
به پوشه ی st-flexipatch
تون برید و یه sudo make clean install
بزنید و تامام.
حالا ترمینالتون transparency داره:)! 2
نکته
میتونید توی فایل config.h
بخش زیر رو پیدا کنید و تغییرش بدید تا مقدار transparency تغییر کنه:
/* bg opacity */
float alpha = 0.8;
...
// ALPHA_PATCH
به طور پیشفرض 0.8 هست. میتونید کمترش کنید تا مقدار transparency افزایش پیدا کنه و به قولی شفاف تر شه2:
/* bg opacity */
float alpha = 0.3;
...
// ALPHA_PATCH