محرر علامة مع واجهة المستخدم الرسومية QT وواجهة سطر الأوامر. يدعم MP4 (iTunes) و ID3 و Vorbis و Opus و Flac و Matroska.
يمكن لمحرر العلامات قراءة وكتابة تنسيقات العلامات التالية:
ملاحظات أخرى:
يمكن لمحرر TAG أيضًا عرض معلومات تقنية مثل المعرف والتنسيق واللغة والبت والمدة والحجم والطابع الزمني وتردد أخذ العينات و FPS وغيرها من المعلومات من المسارات.
كما يسمح بتفتيش بنية عنصر ملفات MP4 و Matroska والتحقق من صحتها.
في بعض الأحيان ، يتعين على محرر العلامات إعادة كتابة الملف بأكمله من أجل تطبيق التغييرات. هذا يؤدي إلى إنشاء ملف مؤقت. مع إعدادات واجهة المستخدم الرسومية الافتراضية ، يتم تطبيق ذلك حتى يكون محافظًا لأن الملفات المؤقتة تعمل أيضًا كنسخة احتياطية في حالة حدوث خطأ ما ، على سبيل المثال تعطل جهاز الكمبيوتر الخاص بك أثناء حفظه أو خلل داخل محرر العلامات ، يحصل على ملفات منظمة بشكل خاص. عند استخدام CLI ، فإنه يوصي أيضًا بالاستخدام --force-rewrite
.
يصف القسم التالي كيفية تعديل الإعدادات لتجنب إعادة الكتابة بتكلفة عدم وجود نسخة احتياطية ، ووجود بعض الحشو داخل الملفات و/أو تخزين العلامات في نهاية الملف.
ومع ذلك ، لن يكون من الممكن دائمًا تجنب إعادة كتابة ملف في جميع الحالات على أي حال. يمكنك تكوين دليل للملفات المؤقتة داخل إعدادات واجهة المستخدم الرسومية أو خيار CLI --temp-dir
. ثم يمكنك تنظيف جميع الملفات المؤقتة بسهولة في مرحلة ما. بالنسبة للكفاءة ، يجب أن يكون الدليل المؤقت على نفس نظام الملفات مثل الملفات التي تقوم بتحريرها. لم يتم تنفيذ ميزة لحذف الملفات المؤقتة تلقائيًا بعد.
يتيح لك المحرر اختيار ما إذا كان ينبغي وضع العلامات في البداية أو في نهاية ملف MP4/Matroska. يمكن وضع العلامات في نهاية الملف تجنب الاضطرار إلى إعادة كتابة الملف بأكمله لتطبيق التغييرات.
في CLI ، يتم التحكم في هذا عن طريق خيار- --tag-pos
. لتطبيق --tag-pos
، حتى لو كان هذا يتطلب إعادة كتابة الملف ، الجمع مع خيار --force
.
لا يمكن وضع علامات ID3v2 وتعليقات Vorbis/Opus إلا في البداية. لا يمكن وضع علامات ID3V1 إلا في نهاية الملف. وبالتالي ، فإن هذا التكوين ليس له أي تأثير عند التعامل مع هذه العلامات.
من الممكن أيضًا التحكم في موضع الفهرس/العظة. ومع ذلك ، يتم دعم هذا حاليًا فقط عند التعامل مع ملفات Matroska.
ملاحظة: لا يمكن تنفيذ هذا لـ MP4 نظرًا لأن العلامات والفهرس مرتبطة ببعضها البعض. عند التعامل مع ملفات MP4 ، سيكون موضع الفهرس دائمًا هو نفس موضع العلامة.
يسمى وضع الفهرس في بداية الملف أحيانًا Faststart .
لإجبار Faststart عبر CLI ، هناك حاجة إلى الخيارات التالية:
tageditor set --index-pos front --force
يسمح الحشو بإضافة معلومات علامة إضافية دون إعادة كتابة الملف بأكمله أو إلحاق العلامة. يمكن تكوين استخدام الحشو:
من الممكن أيضًا إجبار إعادة كتابة الملف بأكمله على تطبيق الحشو المفضل.
خيارات CLI ذات الصلة هي-- --min-padding
، --max-padding
، --preferred-padding
و- --force-rewrite
.
لا يتم دعم الحشو حاليًا عند التعامل مع تدفقات OGG (يتم دعمها عند التعامل مع تدفقات FLAC الخام).
كما هو موضح في قسم "النسخ الاحتياطي/الملفات المؤقتة" ، فإن هذه ليست فكرة جيدة مثل الملف المؤقت الذي يتم إنشاؤه عند إعادة كتابة الملف بأكمله أيضًا كنسخ احتياطي. ومع ذلك ، إذا كنت ترغب في تجنب إعادة كتابة الملف بأكبر قدر ممكن ، فقم بتعيين ما يلي في إعدادات "تصميم الملف" الخاصة بـ GUI:
عند استخدام CLI ، تحتاج فقط إلى إضافتها --max-padding 429496729
إلى وسيطات CLI (وتجنب أي من الحجج الأخرى المذكورة في الأقسام السابقة).
يمكن أن يستغرق تحرير الملفات الكبيرة (وخاصة ملفات Matroska) بعض الوقت. لتحسين الأداء ، ضع الفهرس في نهاية الملف (خيار CLI --index-pos back
) لأنه بعد ذلك لن يتم إعادة حساب حجم الفهرس. اتبع أيضًا النصيحة من قسم "النسخ الاحتياطي/الملفات المؤقتة" لإجبار إعادة الكتابة ووضع الدليل المؤقت على نفس نظام الملفات مثل الملف الذي تقوم بتحريره. يمكن أن يؤدي إجبار إعادة الكتابة إلى تحسين الأداء لأن محرر العلامات لن يحاول حتى معرفة ما إذا كان يمكن تجنبه وبالتالي يمكنه تخطي الحسابات التي يمكن أن تستغرق وقتًا ملحوظًا لملفات Matroska الكبيرة.
بالطبع أن تكون قادرًا على تجنب إعادة الكتابة لا يزال أكثر مثالية. الخروج من القسم السابق لكيفية تحقيق ذلك. لتحسين الأداء بشكل أكبر عند تجنب إعادة الكتابة ، ضع العلامة في النهاية (خيار CLI --tag-pos back
). بعد ذلك ، لن يحاول محرر العلامات حتى وضع علامات في المقدمة ، وبالتالي يمكنه تخطي بعض الحسابات. (تجنب إعادة الكتابة لا يزال ليس فكرة جيدة بشكل عام.)
تنسيق حاوية Matroska (و WebM الذي يعتمد على matroska) ينكسر مع اتفاقيات مشتركة. لذلك ، ليس كل أمثلة CLI المذكورة أدناه منطقية لاستخدامها في هذه الملفات.
بشكل عام ، يمكن أن يحتوي ملف Matroska على علامات متعددة وكل علامة لها "هدف" تقرر ما تنطبق عليه حقول العلامة ، على سبيل المثال الأغنية أو الألبوم بأكمله. لذلك عند استخدام CLI أو واجهة المستخدم الرسومية ، يجب أن تكون على دراية بالعلامة/الهدف لإضافة الحقول إلى.
لا تستخدم Matroska أيضًا حقلًا مشتركًا واحدًا لرقم المسار/القرص والإجمالي مثل التنسيقات الأخرى. بدلاً من ذلك ، يستخدم part
الحقول المنفصل و totalparts
والذي يحتاج مرة أخرى إلى إضافته إلى علامة الهدف المطلوب (على سبيل المثال 50/"ألبوم" لرقم المسار والإجمالي).
الخروج عن وثائق Matroska الرسمية على وضع العلامات للحصول على التفاصيل. كما أنه يحتوي على أمثلة لمحتوى الصوت ومحتوى الفيديو.
لاحظ أن محرر العلامات لا يدعم تنسيق XML المذكور على وثائق Matroska. في واجهة المستخدم الرسومية ، يمكنك ببساطة إضافة/إزالة/تحرير العلامات وأهدافها عبر عناصر التحكم في الجزء العلوي من المحرر. في الإعدادات ، يمكنك أيضًا تحديد علامات أهداف معينة يجب إضافة تلقائيًا عند تحميل ملف. عند استخدام CLI ، يمكنك تحديد أنه يجب إضافة حقل إلى علامة هدف معين من خلال تحديد الهدف قبل هذا الحقل. يمكنك أيضًا إزالة علامات بعض الأهداف بشكل صريح. يمكن العثور على أمثلة على استخدام CLI الخرساني أدناه.
انظر قسم الإصدار على جيثب.
tageditor-qt6
إذا كان ذلك متاحًا لنظام التشغيل الخاص بك.tageditor
من المستودعات الرسميةlibopengl0
على Debian/Ubuntu)QT_QPA_PLATFORM=xcb
لتعطيل دعم Wayland الأصلي إذا لم ينجح على نظامك)B9E36A7275FC61B464B67907E06FE8F53CDC6A4C
.B9E36A7275FC61B464B67907E06FE8F53CDC6A4C
.يحتوي محرر العلامات على واجهة المستخدم الرسومية المستندة إلى QT وواجهة سطر الأوامر. للحصول على واجهة مكتبة C ++ ، يمكنك الخروج من مكتبة Tagparser الأساسية.
يجب أن يكون واجهة المستخدم الرسومية محسوسة ذاتيًا - حيث تحتوي الكثير من عناصر واجهة المستخدم على تلميحات أدوات مع المزيد من التفسيرات. سير العمل الأساسي بسيط للغاية:
يمكنك تعيين سلوك المحرر للحفاظ على القيم السابقة ، لذلك لا يتعين عليك إدخال معلومات مثل اسم الألبوم أو الفنان لجميع الملفات في ألبوم مرارًا وتكرارًا.
لا يدعم واجهة المستخدم الرسومية تعيين قيم متعددة لنفس الحقل (إلى جانب أغلفة أنواع مختلفة). إذا كان الملف يحتوي بالفعل على حقول ذات قيم متعددة ، يتم التخلص من القيم الإضافية. استخدم CLI إذا كان الدعم لقيم متعددة لكل حقل مطلوبًا. ليس كل تنسيقات العلامات تدعم هذا على أي حال ، على الرغم من.
واجهة المستخدم الرسومية لا يدعم معالجة الدُفعات. أوصي باستخدام CLI لهذا الغرض.
تُظهر لقطة الشاشة هذه البحث التجريبي MusicBrainz/Lyricwiki.
الخروج في مربع الحوار الإعدادات. أنت تستطيع
إعدادات واجهة المستخدم الرسومية لا تؤثر على CLI.
هناك أيضًا أداة لإعادة تسمية الملفات باستخدام معلومات العلامة المخزنة في الملفات. يتم إنشاء الاسم الجديد لكل ملف بواسطة JavaScript صغير يمكن تخصيصه. يتم توفير نص مثال. قبل إجراء أي تغييرات فعلية ، سترى معاينة بأسماء الملفات التي تم إنشاؤها. كما هو موضح في البرنامج النصي على سبيل المثال ، من الممكن أيضًا نقل الملفات إلى دليل آخر.
يتميز محرر TAG أيضًا بموسيقي ، وأرشيف فن الغلاف والبحث Lyricwiki.
tageditor <operation> [options]
الخروج من العمليات والخيارات المتاحة مع --help
. للحصول على قائمة بجميع أسماء الحقول المتاحة ، وأسماء السمات والمعدل ، استخدم خيار CLI- --print-field-names
. لا يتم دعم جميع الحقول بواسطة جميع تنسيقات العلامات/الحاوية. والجدير بالذكر أن تنسيق حاوية Matroska لا يستخدم track
/ disk
لتخزين رقم المسار / القرص والإجمالي في حقل واحد. بدلاً من ذلك ، يجب استخدام part
الحقول و totalparts
على الهدف المطلوب.
لاحظ أنه يجب على مستخدمي Windows استخدام tageditor-cli.exe
بدلاً من tageditor.exe
أو استخدام Mintty كمحطة. الخروج عن قسم "المشكلات الخاصة بـ Windows" للحصول على التفاصيل.
فيما يلي بعض أمثلة باش التي توضح معلومات الحصول على العلامة وإعدادها:
يعرض العنوان والألبوم والفنان لجميع ملفات *.m4a في الدليل المحدد:
tageditor get title album artist --files /some/dir/*.m4a
يعرض جميع الحقول المدعومة لجميع ملفات *.mkv في الدليل المحدد:
tageditor get --files /some/dir/*.mkv
يستخرج غطاء ملف (OPUS) المحدد:
tageditor extract cover --output-file the-cover.jpg --file some-file.opus
--attachment
.يعرض المعلومات الفنية حول جميع ملفات *.m4a في الدليل المحدد:
tageditor info --files /some/dir/*.m4a
يعين العنوان والألبوم والفنان والغطاء ورقم المسار لجميع ملفات *.m4a في الدليل المحدد:
tageditor set title="Title of "{1st,2nd,3rd}" file" title="Title of "{4..16}"th file"
album="The Album" artist="The Artist"
cover'=/path/to/image' lyrics'>=/path/to/lyrics' track'+=1/16' --files /some/dir/*.m4a
lyrics
اسم الحقل في قراءة محرر العلامات في قراءة القيمة من الملف >
. هذا يعمل مع الحقول الأخرى أيضًا وضمنًا cover
.+
بعد track
اسم الحقل إلى أنه ينبغي زيادة قيمة الحقل بعد معالجة ملف./path/to/image
وكلمات من الملف /path/to/lyrics
.يعين عنوان كل من الملفات المحددة وألبوم الملف المحدد الثاني:
tageditor set title0="Title for both files" album1="Album for 2nd file"
--files file1.ogg file2.mp3
يحدد الرقم بعد اسم الحقل فهرس الملف الأول لاستخدام القيمة ل. الفهرس الأول هو 0.
يضبط العنوان خصيصًا للمسار مع ID 3134325680
ويزيل العلامات التي تستهدف الأغنية/المسار والألبوم/الفيلم بشكل عام:
tageditor set target-level=30 target-tracks=3134325680 title="Title for track 3134325680"
--remove-target target-level=50 --remove-target target-level=30
--files file.mka
لمزيد من المعلومات ، الخروج من مواصفات Matroska.
يحدد الحقول المخصصة:
tageditor set mkv:FOO=bar1 mp4:©foo=bar2 -f file.mkv file.m4a
FOO
على bar1
في file.mkv ويتم تعيين الحقل المخصص ©foo
على bar2
في file.m4a. لذلك تخبر البادئات محرر العلامات أن معرف الحقل المحدد هو معرف الحقل الأصلي لتنسيق علامة معين بدلاً من معرف عام. يتم تطبيق الحقول الأصلية فقط على التنسيق المقابل بالطبع.mp4
: معرف MP4/M4A على غرار Itune (يجب أن يكون 4 أحرف بالضبط)mkv
: Matroska IDid3
: ID3V2 ID (يجب أن يكون بالضبط 3 أو 4 أحرف حسب إصدار العلامة)vorbis
: معرف تعليق Vorbis ، يعمل أيضًا لدى Opus (الذي يستخدم تعليقات Vorbis أيضًا)يزيل العلم "القسري" من جميع المسارات ، ويعلن المسار مع المعرف 2 على أنه "افتراضي" ويضع لغته على "ger":
tageditor set track-id=all forced=no track-id=2 default=yes language=ger
فيما يلي مثال آخر ، يوضح استخدام المصفوفات وبناء الجملة للتزوير التلقائي الحقول الرقمية مثل رقم المسار:
cd some/dir
# create an empty array
titles=()
# iterate through all music files in the directory
for file in *.m4a; do
# truncate the first 10 characters
title="${file:10}";
# append the title truncating the extension
titles+=("title=${title%.*}");
done
# now set the titles and other tag information
tageditor set "${titles[@]}" album="Some Album" track+=1/25 disk=1/1 -f *.m4a
يضع غلافًا لنوع خاص مع وصف:
tageditor set cover=":front-cover" cover0="/path/to/back-cover.jpg:back-cover:The description" -f foo.mp3
path:cover-type:description
. نوع الغلاف والوصف اختياريين. يمكن تغيير المحدد عن طريق --cover-type-delimiter
الذي يكون مفيدًا إذا كان المسار يتضمن :
.0
بعد cover
الثاني مطلوب. وإلا فإن الغطاء الثاني لن يتم تعيينه إلا في الملف الثاني (والذي لم يتم تحديده في هذا المثال).… cover= cover0="/path/to/back-cover.jpg:back-cover"
.:
غائب) ، يتم استبدال جميع الأغطية الموجودة للنوع المحدد وسيكون للغطاء الجديد وصف فارغ.:
.… cover=":back-cover"
.tageditor --print-field-names
.يعين الحقول عن طريق تشغيل برنامج نصي لحساب التغييرات ديناميكيًا:
tageditor set --pedantic debug --script path/to/script.js -f foo.mp3
main()
. تم استدعاء هذه الوظيفة لكل ملف وتمرير كائن يمثل الملف الحالي كوسيطة أولى. تم تعديل الملف فقط إذا كان main()
يرجع قيمة الحقيقة أو undefined
؛ وإلا فإن الملف يتم تخطيه بالكامل (وبالتالي لم يتم تعديله على الإطلاق ، لذلك يتم تمرير القيم التي يتم تمريرها عبر --values
يتم تطبيق القيم).testfiles/set-tags.js
في هذا المستودع للحصول على مثال يطبق الإصلاحات الأساسية ويحاول إحضار كلمات الأغاني وفن الغلاف عندما يتم تمرير الإعدادات (على سبيل المثال- --script-settings addCover=1 addLyrics=1
).--pedantic debug
مفيد للغاية. يمكنك أيضًا إضافة- --script-settings dryRun=1
والتحقق من هذا الإعداد داخل البرنامج النصي كما هو موضح في testfiles/set-tags.js
.testfiles/set-tags.js
.ArrayBuffer
. يجب أيضًا استخدام ArrayBuffer
لتعيين قيمة الحقول الثنائية مثل الغطاء.String
أو Number
. يجب عليك أيضًا استخدام أحد هذه الأنواع لتعيين قيمة هذه الحقول. سيتم بعد ذلك تحويل التمثيل السلسلة للمحتوى المعين تلقائيًا إلى ما هو مطلوب داخليًا.utility
عن طرق مفيدة ، على سبيل المثال لتسجيل حلقة الحدث والتحكم فيه.testfiles/http.js
في هذا المستودع للحصول على مثال على استخدام XHR والتحكم في حلقة الحدث.--id3v1-usage
). لذا فإن العلامات الموجودة أثناء تنفيذ البرنامج النصي لا تمثل بالضرورة علامات موجودة بالفعل في الملف على القرص (ولكن العلامات التي ستكون موجودة بعد حفظ الملف).--values
) ، فإن هذه القيم لها الأسبقية على القيم التي حددها البرنامج النصي.file.rename(newPath)
). سيتم القيام بذلك على الفور وأيضًا إذا قام main()
بإرجاع قيمة falsy (لذلك من الممكن إعادة تسمية ملف فقط دون تعديله عن طريق إرجاع قيمة falsy). إذا كان المسار المحدد نسبيًا ، فسيتم تفسيره بالنسبة إلى الدليل الحالي للملف ( وليس إلى دليل العمل الحالي لمحرر العلامات).utility.openFile(path)
. هذا يجعل من الممكن نسخ العلامات من ملف آخر ، على سبيل المثال لإدراج العلامات مرة أخرى من الملفات الأصلية التي فقدت عند التحويل إلى تنسيق مختلف. يوضح مثال SCRIPT set-tags.js
أيضًا هذا للأغطية وكلمات الأغاني عندما يتم تمرير إعدادات البرنامج النصي (على سبيل المثال- --script-settings addCover=1 originalDir=… originalExt=…
). مثال: cd '/…/music'
find 'artist/album' -iname '*.m4a' -exec tageditor set
--pedantic debug
--script /…/tageditor/testfiles/set-tags.js
--script-settings dryRun=1 originalDir='../music-lossless' originalExt=.flac addCover=1 addLyrics=1
--temp-dir /…/tmp/tageditor
--files {} +
tageditor set ... --pedantic warning -f ...
tageditor info --pedantic warning --validate -f ...
--encoding
وفي إعدادات واجهة المستخدم الرسومية.يعتمد التطبيق على المرافق C ++ و Tagparser ويتم تصميمه بنفس طريقة هذه المكتبات. للحصول على إرشادات أساسية الخروج من ملف readMe الخاص بـ C ++ المرافق. عندما يتم تمكين واجهة المستخدم الرسومية QT ، تكون QT و QTUTILISS مطلوبة أيضًا.
لتجنب إنشاء C ++ المرافق/tagparser/QTUTILISS بشكل منفصل ، اتبع التعليمات تحت "بناء هذا مستقيم". هناك أيضًا وثائق حول متغيرات البناء المختلفة التي يمكن نقلها إلى Cmake للتأثير على البناء.
يتم تمكين واجهة المستخدم الرسومية QT بشكل افتراضي. مطلوب وحدات QT التالية (أحدث إصدار من QT 5 و QT 6 تم اختباره): WebEngineWidgets Core
لاحظ أن إصدارات QT القديمة تفتقر إلى دعم ميزات JavaScript الحديثة. لاستخدام أداة إعادة تسمية JavaScript المستندة إلى JavaScript ، توصي باستخدام ما لا يقل عن QT 5.12.
لتحديد إصدار QT الرئيسي للاستخدام ، قم بتعيين QT_PACKAGE_PREFIX
(على سبيل المثال ADD -DQT_PACKAGE_PREFIX:STRING=Qt6
إلى وسيطات CMAKE).
-DWEBVIEW_PROVIDER:STRING=webkit/webengine/none
إلى وسيطات cmake لاستخدام إما QT WebKit (يعمل مع إصدار "Revived" أيضًا) أو QT WebEngine أو عدم عرض الويب على الإطلاق. إذا لم يتم استخدام عرض ويب ، لا يمكن عرض معلومات الملف إلا باستخدام عرض شجرة عادي. وإلا يمكن للمستخدم الاختيار بين صفحة ويب وعرض شجرة.-DJS_PROVIDER:STRING=script/qml/none
إلى وسيطات cmake لاستخدام البرنامج النصي QT ، Qt QML أو محرك JavaScript على الإطلاق. إذا لم يتم استخدام محرك JavaScript ، فسيتم تعطيل أداة إعادة تسمية.من الممكن البناء بدون واجهة المستخدم الرسومية إذا كانت هناك حاجة فقط إلى CLI. في هذه الحالة ، لا توجد حاجة إلى تبعيات QT (بما في ذلك QTUTILIS).
للبناء بدون واجهة المستخدم الرسومية ، أضف المعلمات التالية إلى استدعاء CMake:
-DWIDGETS_GUI=OFF -DQUICK_GUI=OFF
كتوضيح صغير لـ Rapidjson العاكس ، يتميز محرر العلامات بتصدير JSON اختياري. لتمكينه ، أضف -DENABLE_JSON_EXPORT=ON
على وسيطات cmake.
عند التمكين ، تكون التبعيات الإضافية التالية مطلوبة (فقط في وقت الإنشاء): Rapidjson و RapeCt-Rapidjson و LLVM/Clang
cd "$SOURCES"
git config core.symlinks true # only required on Windows
git clone https://github.com/Martchus/cpp-utilities.git c++utilities
git clone https://github.com/Martchus/tagparser.git
git clone https://github.com/Martchus/qtutilities.git # only required for Qt GUI
git clone https://github.com/Martchus/reflective-rapidjson.git # only required for JSON export
git clone https://github.com/Martchus/tageditor.git
git clone https://github.com/Martchus/subdirs.git
git config core.symlinks=true
مطلوب فقط تحت Windows للتعامل مع Symlinks بشكل صحيح. يتطلب هذا إصدار GIT حديثًا ونظام ملفات يدعم Symlinks (أعمال NTFS). بالإضافة إلى ذلك ، تحتاج إلى تمكين وضع مطور Windows. إذا واجهت أخطاء "لم يتم العثور عليها" على إنشاء Symlink ، فاستخدم git reset --hard
داخل المستودع لإصلاح ذلك. cd "$BUILD_DIR"
cmake
-G Ninja
-DCMAKE_BUILD_TYPE=Release
-DLANGUAGE_FILE_ISO_639_2="/usr/share/iso-codes/json/iso_639-2.json"
-DCMAKE_INSTALL_PREFIX="/install/prefix"
"$SOURCES/subdirs/tageditor"
/install/prefix
بالدليل حيث تريد التثبيت./usr/…/iso_639-2.json
مع مسار تثبيت iso-codes الخاص بك. cd "$BUILD_DIR"
ninja install
DESTDIR
على موقع قابل للكتابة (على سبيل المثال DESTDIR="temporary/install/dir" ninja install
) ونقل الملفات من هناك إلى الموقع المطلوب بعد ذلك. يمكن العمل على التحذيرات التالية باستخدام Cli-Wrapper بدلاً من القابل للتنفيذ الرئيسي. هذا هو الملف الذي ينتهي بـ -cli.exe
. بدلاً من ذلك ، يمكنك استخدام Mintty (على سبيل المثال عبر MSYS2) والتي لا تتأثر أيضًا بتلك المشكلات:
set ENABLE_CP_UTF8=0
إذا لم يكن هذا مطلوبًا.set ENABLE_CONSOLE=0
لتعطيل هذا السلوك.يجب أن يعمل الوضع المظلم خارج المربع ضمن نظام التشغيل Windows 11 ويمكن تمكينه عن طريق تحديد نمط الاندماج.
يدعم TAG PMV2 خارج المربع اعتبارًا من QT 6. يمكنك تعديل الإعدادات وفقًا لوثائق QT.
حقوق الطبع والنشر © 2015-2024 Marius Kittler
جميع الكود مرخصة بموجب GPL-2 أو لاتر.