smenu هو مرشح تحديد تمامًا مثل sed
هو مرشح تحرير.
تقرأ هذه الأداة الكلمات من الإدخال القياسي أو من ملف، وتقدمها إلى الشاشة الطرفية في تخطيطات مختلفة في نافذة التمرير. يتيح المؤشر، الذي يمكن تحريكه بسهولة باستخدام لوحة المفاتيح و/أو الماوس ، تحديد كلمة واحدة أو أكثر.
لاحظ أنه لا يتم مسح الشاشة في بداية ونهاية تنفيذ القائمة . يتم عرض نافذة الاختيار في موضع المؤشر، ولا يتم تعديل أو فقدان المحتويات السابقة للمحطة.
لقد حاولت أن أجعله سهل الاستخدام قدر الإمكان. يجب أن تعمل على جميع المحطات الطرفية المُدارة في قاعدة بيانات terminfo
.
يتم دعم ترميز UTF-8
. يتضمن هذا الدعم أحرفًا مزدوجة العرض ومجموعات حروف ممتدة. ومع ذلك، لا يزال الأخير تجريبيًا، ويعمل بشكل أفضل بكثير إذا تم استخدام المحطات الطرفية المناسبة مثل WezTerm أو iTerm.
يجب أيضًا أن يكون ترميز الحروف الرسومية UTF-8
في شكل أساسي، حيث لن يتم بذل أي جهد لوضعها في هذا النموذج.
يرجى الرجوع إلى صفحة الدليل المضمنة لمعرفة المزيد حول هذا البرنامج الصغير.
يحتوي موقع wiki على لقطات شاشة ورسوم متحركة توضح بالتفصيل بعض مفاهيم وميزات smenu .
توفر بعض توزيعات Linux بالفعل smenu كحزمة، وإذا لم يكن الأمر كذلك، فيمكن إنشاء smenu على أي نظام يتوفر عليه نظام أساسي لتطوير terminfo
الوظيفية. يتضمن ذلك جميع الأنظمة الشبيهة بنظام Unix وUnix التي أعرفها.
الرجاء استخدام البرنامج النصي build.sh
المقدم لإنشاء الملف القابل للتنفيذ. يستخدم هذا البرنامج النصي ويقبل نفس الوسائط مثل البرنامج النصي configure
GNU، اكتب build.sh --help
لرؤيتها.
بمجرد اكتمال عملية الإنشاء، سيتم إجراء make install
بسيط باستخدام الامتيازات المناسبة.
لقد قمت بتمكين المناقشات في هذا المستودع.
أدرك أنه قد يكون هناك بعض الالتباس عند تحديد المكان الذي يجب عليك التواصل فيه عند الإبلاغ عن المشكلات أو طرح الأسئلة أو رفع طلبات الميزات، لذا يهدف هذا القسم إلى مساعدتنا في التوافق مع ذلك.
يرجى إثارة مشكلة إذا:
يرجى فتح مناقشة إذا:
يجب أن يعمل هذا البرنامج على معظم أنظمة Unix، لكن إذا كنت تستخدم Linux، فحاول كتابة السطر التالي في موجه shell (هنا: "$ "
):
$ R=$(grep Vm /proc/$$/status | القائمة -n20 -W $':tn' -q -c -b -g -s /VmH) $ صدى $R
يجب الآن أن يظهر شيء كهذا مع انتظار البرنامج للأوامر: (الأرقام خاصة بي، وستكون أرقامك مختلفة)
VmPeak¦ 23840 كيلو بايت حجم Vm¦ 23836 كيلو بايت VmLck ¦ 0 كيلو بايت VmHWM ¦ 2936 كيلو بايت نظام VmRSS ¦ 2936 كيلو بايت VmData¦ 1316 كيلو بايت فمستيك ¦ 136 كيلو بايت فميكس ¦ 28 كيلو بايت VmLib ¦ 3956 كيلو بايت VmPTE ¦ 64 كيلو بايت VmSwap¦ 0 كيلو بايت
يجب أن يكون المؤشر تحت "VmHWM "
.
بعد تحريك المؤشر إلى " 136 kB"
وإنهاء البرنامج بـ
، يجب أن يحتوي متغير الصدفة R على: " 136 kB"
.
من المفترض أن يمنحك الأمر التالي، وهو أمر غير محدد لعلامة Unix التجارية، نافذة تمرير إذا كان لديك أكثر من 10 حسابات على نظام Unix الخاص بك بمعرف UID أقل من 100:
$ R=$(awk -F: '$3 < 100 {print $1,$3,$4,$NF}' /etc/passwd | القائمة -n10 -ج) $ صدى $R
في جهازي (تم ضبط LANG
و LC_ALL
على POSIX
) يعرض:
في 25 25 /بن/باش sys 0 3 /usr/bin/ksh + بن 1 1 /بن/باش | الشيطان 2 2 / بن / باش | بروتوكول نقل الملفات 40 49 / بن / باش | العاب 12100 /بن/باش | ليرة لبنانية 4 7 /بن/باش | البريد 8 12 / بن / خطأ | اسمه 44 44 / بن / خطأ | NTP 74 108 / بن / خطأ ضد
لاحظ وجود شريط التمرير.
فقط أضف ما يلي في .bashrc
الخاص بك
موسوعة الحياة=$'n' ربط -x '"Cr": READLINE_LINE=$(fc -lr 1 | السيد "s/[1-9][0-9]*..//" | القائمة -Q -l -ac:7/4,b -W"$EOL") READLINE_POINT=${#READLINE_LINE}'
قم بتشغيل bash أو إعادة تشغيله ثم اضغط على CTRL-R
( CTRL-C
أو q
للخروج)، استمتع!
يمكنك أيضًا إضافة المعلمة -d لإرشاد smenu لتنظيف نافذة التحديد بعد تحديد الإدخال.
تستخدم هذه الإصدارات نظام خيارات جديد يسمى ctxopt والذي قد يحتوي على أخطاء. يرجى الإبلاغ عنها حتى يمكن إصلاحها في الإصدار التالي من smenu أو ctxopt (https://github.com/p-gen/ctxopt).
قد يلزم أيضًا إعادة ترتيب وسيطات سطر الأوامر في بعض الحالات بسبب نظام إدارة الخيارات الجديد هذا. آسف للعمل الإضافي الذي قد يستلزمه هذا.
لا يتم احترام محاذاة الأسطر المكتوبة باللغات من اليمين إلى اليسار، مثل الفارسية أو العبرية، إلى اليمين.
نظام الاختبار المتضمن صغير نسبيًا، يرجى أن تكون متسامحًا.
هام: نظام الاختبار لديه بعض التبعيات، يرجى قراءة test/README.rst
قبل المضي قدمًا.
لاحظ أن تشغيل جميع الاختبارات عن طريق تشغيل ./tests.sh
في دليل tests
سيستغرق بعض الوقت (حوالي 21 دقيقة في الوقت الحالي).
ملاحظة: في بعض الأنظمة مثل *BSD قد تفشل بعض الاختبارات. يمكن تفسير ذلك من خلال الاختلافات في تطبيقات posix/libc/.... يمكن أن يحدث هذا بشكل خاص عند استخدام بعض التعبيرات العادية المحددة أو تسلسلات بايت UTF-8
غير الشائعة.
إذا فشل الاختبار لسبب غير معروف، فيرجى إرسال اسم دليله وملف .bad
المقابل لي.
إذا واجهت خطأً لا يغطيه أي اختبار، فيمكنك إنشاء اختبار جديد في دليل tests
في دليل موجود أو جديد: اقرأ ملف tests/README.rst
، واستخدم اختبارًا موجودًا كنموذج، وأنشئ ملف .in
ملف وملف .tst
وإرسالهما إلي بالإضافة إلى الملفات المنتجة.
نرحب بالمساهمات ولكن ناقش اقتراحك في إحدى القضايا أولاً، أو مع المشرف.
أريد أن أشكر أولئك الذين أخذوا الوقت الكافي لحزم smenu لنظام التشغيل أو التوزيع المفضل لديهم. ستجد أسمائهم هنا: https://repology.org/project/smenu/information