إضافة برنامج نصي إلى قائمة MacOS Finder السياقية
-
26-09-2019 - |
سؤال
أرغب في إضافة خيار إلى قائمة Context Finder التي تستدعي hg add %1
مع ٪ 1 كونه المسار الكامل للملف المحدد في Finder.
بالطبع هناك حالات أكثر فائدة يمكنني التفكير فيها ، لإضافة إلى قائمة السياق.
هل هناك طريقة بسيطة للقيام بما لا يتضمن تثبيت أي برنامج أو ترميز من طرف ثالث بلغة مجمعة وبناء ملحقات ثنائية؟
مثل إنشاء برنامج نصي مع محرر البرنامج النصي وإسقاطه في /Library/Contextual Menu Items/
?
المحلول
نعم ، أعرف أن هذا هو برنامج طرف ثالث - ولكن من أجل نظرة عامة فولر - http://www.abracode.com/free/cmworkshop/on_my_command.html. أداة أخرى من شأنها أن تجعل كتابة البرنامج النصي أسهل http://wafflesoftware.net/thisservice/ إضافة عناصر إلى قائمة الخدمة.
نصائح أخرى
لقد تغيرت الخطوات بالنسبة إلى Snow Leopard/10.6+ منذ الإجابة الصحيحة لـ @Khachik. للتأكد من وضوحها ، إليك الخطوات:
- افتح Automator
- إنشاء جديد
Service
- قم بتعيين أفضل اثنين من الانخفاضات عبر الجزء العلوي إلى "تلقى الخدمة المحددة
files or folders
فيFinder.app
" - تعيين إدخال تمرير إلى
as arguments
- اكتب البرنامج النصي الخاص بك (انظر أدناه لذلك).
- حفظ واختر اسم الخدمة
يجب أن تبدو نافذة Automator الخاصة بك مثل هذا::
يمكنك الآن تحديد ملفات متعددة في Finder ثم تنفيذ خدمتك من Sub-Menu Subs.
للنص الخاص بك ، أعتقد أنك تريد ما يلي. يتغير هذا إلى دليل كل وسيطة ثم يضيفه. أنا أستخدم A For Loop لأن Finder يتيح لك تحديد ملفات متعددة في مجلدات مختلفة (والتي يمكن أن تكون في مستودعات مختلفة).
for f in "$@"
do
cd $(dirname $f); hg add $f
done
إذا افترضت أنهم جميعًا في نفس المستودع ، فيمكنك القيام بذلك:
cd $(dirname $1); hg add $@
افتح Automator ، قم بإنشاء سير عمل مخصص. من Library
يختار Utilites
, ، ثم سحب وإسقاط Run shell script
إلى سير العمل. تعيين Pass input
إلى As arguments
. اكتب في البرنامج النصي الخاص بك: hg add $1
. ثم File menu->Save as a Plugin
, ، حدد الاسم ، اختر plugin for Finder
, Save
. انقر بزر الماوس الأيمن على الملف ، اختر More->Autamator-><PLUGIN_NAME>
.