De mi registro:
conky: malos argumentos: '0,0' y '10.0'
conky: la comparación falló para la expresión '0,0 <10.0'
Estas comparaciones son todas similares a esta:
$ {if_match $ {downspeedf enp2s0} <100.0}
La comparación aún falla si el argumento se escribe con ",". Establecer explícitamente la configuración regional de conky en en_US.UTF-8 funciona por ahora.
(Esto no sucedió en 1.9.0).
Tengo el mismo problema.
Lo mismo aquí, ¿puede decirnos cómo establecer un LOCAL específico para conky?
Se introduce el comando con, por ejemplo.
LC_ALL = C conky
Gracias, sin embargo, resulta que la comparación está fallando en general con números de fracción:
conky: la comparación falló para la expresión '12,61> = 10'
${if_match ${top cpu 1} >= 10 }${color red}\
${else}${color}\
${endif}\
Perdón por mi culpa, la configuración regional no estaba configurada, funcionó ahora. Ahora uso el siguiente script de inicio:
#!/bin/bash
export LANG=en_US.UTF-8
export LC_ALL=C
sleep 5 && conky
Nota al margen: parece que está en algebra.cc: enum arg_type get_arg_type. Recomiendo utilizar un analizador de números que reconozca la configuración regional.
¿Sigue pendiente este problema en la versión actual de Conky? Si es así, actualice el problema. De lo contrario, el problema se cerrará en 2 semanas.
@lasers ¿Puedes echar un vistazo?
@ su8 lo intenté. No familiarizado con la configuración regional. Probé Italia. No aparecieron comas. Quizás lo hice mal.
@ su8 Intenté git bisect aquí en 1.9.0
. Las etiquetas anteriores no contienen cmake
. :-(
NOS.
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 En caso de que se haya perdido el último comentario, puedo probarlo ahora.
Esta línea se omite cuando se usan configuraciones regionales que usan ','
y vuelve
lo que hace que se imprima el "argumento incorrecto"
¿Puedes probar esto?
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) {
Funciona. Los números también se imprimen con coma. Lazy copió el ejemplo anterior.
56,9K // True
16,9K // False
544B // False
74,9K // True
88,4K // True
13,9K // False
Esto también sucede en el maestro. Hmm. De hecho, creo que esto está bien tal como está. Duh .
Abra una solicitud de extracción con este cambio porque me da pereza hacerlo: hamburguesa:
No eres vago. Soy láser más vago. Me pregunto sobre algo. Si contiene una coma, ¿no debería intercambiar caracteres primero?
¿Tiene sentido o estoy pensando demasiado?
Ese es el estándar actual del país, ¿por qué cambiarlo por otro?
No sé. Noob aquí. Haré una solicitud de extracción a su solicitud. ¿Para qué sirve if (*p == '.') {
?
Cerrado a través de https://github.com/brndnmtthws/conky/pull/585 : wave: