من سجلي:
conky: وسيطات سيئة: "0،0" و "10.0"
conky: فشل المقارنة للتعبير "0،0 <10.0"
هذه المقارنات كلها متشابهة مع هذا:
$ {if_match $ {downspeedf enp2s0} <100.0}
المقارنة لا تزال تفشل إذا كانت الحجة مكتوبة مع "،". تعيين لغة conky بشكل صريح إلى en_US.UTF-8 يعمل حاليًا.
(لم يحدث هذا في 1.9.0.)
لدي نفس المشكلة.
نفس الشيء هنا ، هل يمكنك أن تخبر من فضلك كيفية تعيين LOCALE معين لـ conky؟
أنت تسبق الأمر بـ eg.
LC_ALL = C conky
شكرًا ، لكن اتضح أن المقارنة تفشل بشكل عام مع الأعداد الكسرية:
conky: مقارنة فشل للتعبير '12،61> = 10'
${if_match ${top cpu 1} >= 10 }${color red}\
${else}${color}\
${endif}\
آسف خطأي ، لم يتم تعيين اللغة أنها تعمل الآن. أستخدم البرنامج النصي التالي لبدء التشغيل الآن:
#!/bin/bash
export LANG=en_US.UTF-8
export LC_ALL=C
sleep 5 && conky
ملاحظة جانبية: يبدو أنه موجود في algebra.cc: enum arg_type get_arg_type. أوصي باستخدام محلل رقم علم الإعدادات المحلية.
هل ما زالت هذه المشكلة معلقة في الإصدار الحالي من Conky؟ إذا كان الأمر كذلك ، يرجى تحديث المشكلة. خلاف ذلك ، سيتم إغلاق المشكلة في غضون أسبوعين.
@ الليزر هل يمكنك إلقاء نظرة؟
@ su8 حاولت. ليس على دراية باللغة. حاولت ايطاليا. لم يتم عرض الفواصل. ربما فعلت ذلك خطأ.
@ su8 حاولت git bisect هنا إلى 1.9.0
. لا تحتوي العلامات السابقة على مواد cmake
. :-(
نحن.
0B // False
56.9K // True
16.9K // False
544B // False
74.9K // True
88.4K // True
13.9K // False
DK.
conky: Bad arguments: '0,0' and '50.0'
conky: compare failed for expression '0,0>50.0'
0B // True
conky: Bad arguments: '0,0' and '50.0'
conky: compare failed for expression '0,3>50.0'
307B // True
^Cconky: Bad arguments: '0,3' and '50.0'
conky: compare failed for expression '0,3>50.0'
350B // True
@ su8 فقط في حال فاتتك آخر تعليق ، يمكنني اختبار ذلك الآن.
يتم تخطي هذا السطر عند استخدام اللغات التي تستخدم "،"
والعودة
مما يؤدي إلى طباعة "حجة سيئة"
هل يمكنك اختبار هذا:
diff --git a/src/algebra.cc b/src/algebra.cc
index 66dfd2d6..4e1d36e2 100644
--- a/src/algebra.cc
+++ b/src/algebra.cc
@@ -155,7 +155,7 @@ enum arg_type get_arg_type(const char *arg) {
if (p == e + 1) {
return ARG_LONG;
}
- if (*p == '.') {
+ if (*p == '.' || *p == ',') {
p++;
while (p <= e) {
if (isdigit((unsigned char)*p) == 0) {
إنها تعمل. تتم طباعة الأرقام بفاصلة أيضًا. نسخ كسول المثال أعلاه.
56,9K // True
16,9K // False
544B // False
74,9K // True
88,4K // True
13,9K // False
هذا يحدث في السيد أيضا. همم. في الواقع ، أعتقد أن هذا جيد كما هو. دوه .
افتح طلب سحب بهذا التغيير لأنني كسول للقيام بذلك: هامبرغر:
أنت لست كسولاً. أنا ليزر كسول. أنا أتساءل عن شيء ما. إذا كان هذا يحتوي على فاصلة ، ألا يجب عليك تبديل الأحرف أولاً؟
هل هذا منطقي أم أنني أفكر كثيرًا؟
هذا هو معيار الدولة الحالي ، لماذا تغييره إلى معيار آخر؟
لا أعرف. مستجد هنا. سأقدم طلب سحب بناء على طلبك. ما هو if (*p == '.') {
ل؟
مغلق عبر https://github.com/brndnmtthws/conky/pull/585 : wave: