Conky: if_match рдХреА рддреБрд▓рдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрджрд┐ рд▓реЛрдХреЗрд▓ "," рджрд╢рдорд▓рд╡ рдЪрд┐рд╣реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЬреБрд▓ре░ 2013  ┬╖  19рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: brndnmtthws/conky

рдореЗрд░реЗ рд▓реЙрдЧ рд╕реЗ:

рд╢рдВрдХреБ: рдмреБрд░рд╛ рддрд░реНрдХ: '0,0' рдФрд░ '10.0'
рд╢рдВрдЦ: рддреБрд▓рдирд╛ '0,0 <10.0' рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓

рдпреЗ рддреБрд▓рдирд╛рдПрдБ рдЗрд╕ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ:

$ {if_match $ {downspeedf enp2s0} <100.0}

рдпрджрд┐ рддрд░реНрдХ "," рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рддреБрд▓рдирд╛ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд╣реИред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдм рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ en_US.UTF-8 рдХреЗ рд▓рд┐рдП рд╢рдВрдХреБ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

(рдпрд╣ 1.9.0 рдореЗрдВ рдирд╣реАрдВ рд╣реБрдЖред)

рд╕рднреА 19 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реА рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢рдВрдХреБ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ LOCALE рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ?

рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред

LC_ALL = рд╕реА рд╢рдВрдХреБ

рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рддреБрд▓рдирд╛ рдХрд░рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдВрд╢ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

рд╢рдВрдЦ: рддреБрд▓рдирд╛ '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

рд╕рд╛рдЗрдб рдиреЛрдЯ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреАрдЬрдЧрдгрд┐рдд рдореЗрдВ рд╣реИ редcc: enum arg_type get_arg_typeред рдореИрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЬрд╛рдЧрд░реВрдХ рдирдВрдмрд░ рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рдХреЙрдиреНрдХреА рдХреЗ рдореМрдЬреВрджрд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдХрд╛рдпрд╛ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдЕрдиреНрдпрдерд╛, рд╕рдорд╕реНрдпрд╛ 2 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреАред

рдХреНрдпрд╛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ?

@ su8 рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред рд▓реЛрдХреЗрд▓ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВред рдЗрдЯрд▓реА рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдЧрд▓рдд рдХрд┐рдпрд╛ред

@ su8 рдореИрдВрдиреЗ рдпрд╣рд╛рдБ 1.9.0 рд▓рд┐рдП gis bisect рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдкрд╣рд▓реЗ рдХреЗ рдЯреИрдЧ рдореЗрдВ cmake рд╕рд╛рдорд╛рди рдирд╣реАрдВ рд╣реИред : --(

рдпреВ.рдПрд╕.

0B // False
56.9K // True
16.9K // False
544B // False
74.9K // True
88.4K // True
13.9K // False

рдбреА.рдХреЗ.

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 рдпрджрд┐ рдЖрдк рдирд╡реАрдирддрдо рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдЪреВрдХ рдЧрдП рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрднреА рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

',' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

https://github.com/brndnmtthws/conky/blob/7bca0ca8819f03883affa5fba9e8506d8c2c5f29/src/algebra.ccbLL158

рдФрд░ рд▓реМрдЯрддрд╛ рд╣реИ

https://github.com/brndnmtthws/conky/blob/7bca0ca8819f03883affa5fba9e8506d8c2c5f29/src/algebra.ccbLL168

рдЬреЛ "рдмреБрд░реЗ рддрд░реНрдХ" рдХреЛ рдЫрд╛рдкрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ

https://github.com/brndnmtthws/conky/blob/7bca0ca8819f03883affa5fba9e8506d8c2c5f29/src/algebra.ccbLL227

https://github.com/brndnmtthws/conky/blob/7bca0ca8819f03883affa5fba9e8506d8c2c5f29/src/algebra.ccbLL228

рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

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

рдЧреБрд░реБ рдореЗрдВ рднреА рдпрд╣реА рд╣реЛрддрд╛ рд╣реИред рд╣рдореНрдоред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣реИред рджреБрд╣ ред

рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рдЦреЛрд▓реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд▓рд╕реА рд╣реВрдВ: рд╣реИрдордмрд░реНрдЧрд░:

рддреБрдо рдЖрд▓рд╕реА рдирд╣реАрдВ рд╣реЛред рдореИрдВ рд▓реЗрдЬрд╝рд░ рд╣реВрдБред рдореИрдВ рдХреБрдЫ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБред рдпрджрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╡рд░реНрдгреЛрдВ рдХреЛ рд╕реНрд╡реИрдк рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

  • рдЕрдЧрд░ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ ...

    • рдЕрд╡рдзрд┐ рдХреЛ рдпреВрдиреАрдХ рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ

    • рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХреЛ рдПрдХ рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ

    • рдмрджрд▓реЗрдВ uniq char рдХреЛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ

    • рддреБрд▓рдирд╛ рдХреАрдЬрд┐рдП

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рд╣реИ рдпрд╛ рдореИрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ?

рдпрд╣ рд╡рд░реНрддрдорд╛рди рджреЗрд╢ рдорд╛рдирдХ рд╣реИ, рдЗрд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдХреНрдпреЛрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ?

Idkред Noob рдпрд╣рд╛рдБред рдореИрдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░реВрдБрдЧрд╛ред if (*p == '.') { рдХрд┐рд╕ рд▓рд┐рдП рд╣реИ?

Https://github.com/brndnmtthws/conky/pull/585 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдВрдж: рд▓рд╣рд░:

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zero77 picture zero77  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bunder2015 picture bunder2015  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Dimerbone picture Dimerbone  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sdban picture sdban  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Microcrap picture Microcrap  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ