Du bist nicht angemeldet.

#1 18.09.2016 20:48:32

H-Milch
Gast

Conky Anzahl der Updates farbig gestalten

Hallo,

ich benutze conky um mir per 'checkupdates' anzeigen zu lassen ob Updates anstehen.
Das mache ich mit folgendem Eintrag:

${execpi 900 checkupdates | wc -l} Update(s) verfügbar

Wenn keine Updates anliegen wird mir angezeigt:   0 Update(s) verfügbar
Wenn z.B. 3 Updates anliegen wird mir angezeit: 3 Update(s) verfügbar

jeweils in der Schriftfarbe grau. Soweit gefällt mir das auch alles ganz gut.
Was ich ganz gerne ändern würde wäre die Farbe der Anzahl der angezeigten Updates, also wenn Updates vorhanden sind, her im Beispiel die Zahl 3.
Diese hätte ich dann ganz gerne in Rot anstatt grau. Wenn 0 Updates anliegen soll die 0 grau bleiben.

Wie kann ich das umsetzen?
Mit ${color #FF0000} kann ich den Text ganzen Text permannent farbigmachen, aber ich will das ja nur wenn Updates vorhanden sind und dann auch nur die Anzahl.

#2 18.09.2016 21:18:46

skull-y
Mitglied

Re: Conky Anzahl der Updates farbig gestalten

Da ich schon ewig kein Conky verwendet habe, würde mir nur eine if-Abfrage dazu einfallen. Hier mal als Beispiel mein alte Config für die Titelanzeige von Audacious in Conky:

${if_running audacious2}
${font Aerial:style=Bold:pixelsize=12}AUDACIOUS${font Snap.se:size=9} ${hr 1 }

Titel: $alignr $audacious_playlist_position / $audacious_playlist_length
${scroll 29 3 ${audacious_title 200}}
Position: $alignr $audacious_position / $audacious_length
$audacious_bar

$else
${font Aerial:style=Bold:pixelsize=12}AUDACIOUS${font Snap.se:size=9} ${hr 1 }

Audacious läuft nicht




$endif

In wie weit sich das auf die neue Config von Conky sich das anpassen lässt weiß ich nicht, vielleicht hilft es dir trotzdem weiter.

Beitrag geändert von skull-y (18.09.2016 21:19:22)

Offline

#3 19.09.2016 11:05:27

Werner
Mitglied

Re: Conky Anzahl der Updates farbig gestalten

Es bietet sich an, die if-Abfrage mit der Match-Variablen durchzuführen:

${if_match ${execpi 900 checkupdates | wc -l} < 1}
${color #848484} Kein Update verfügbar
${else}
${color #FF0000} ${execpi 900 checkupdates | wc -l}${color #848484} Update(s) verfügbar
${endif}

Gruß, Werner


Edit: Flüchtigkeitsfehler beseitigt – nicht exec sondern execpi 900 nach else.

Beitrag geändert von Werner (19.09.2016 13:59:34)

Offline

#4 19.09.2016 20:33:18

H-Milch
Gast

Re: Conky Anzahl der Updates farbig gestalten

Vielen Dank Euch beiden :-)

Habe den Quellcode von Werner eingebau in meine conkyrc.
Jetzt muss ich nur noch auf Updates warten ;-)

Wo lernt man überhaupt sowas, z.B. die Bedeutung der Variabeln von checkupdates | wc -l.

Habe einfach nichts im Internet gefunden welche Bedeutung wc -l hat.
Ein man checkupdates oder checkupdates --help brachte auch keine Ergebnis.

#5 19.09.2016 22:44:21

dagget
Mitglied

Re: Conky Anzahl der Updates farbig gestalten

versuche mal

man wc

dort stehen auch alle optionen beschrieben wink

Dass du in der manpage von von checkupdates bzw. checkupdates --help nichts findest ist auch richtig so.
Mit der Pipe | gibst du die Ausgabe von checkupdates an wc (wordcount) weiter.

LG
Markus

Offline

#6 20.09.2016 09:40:55

Werner
Mitglied

Re: Conky Anzahl der Updates farbig gestalten

@H-Milch
Was mir noch eingefallen ist …
Wenn dein Conky startet, kann es sein, dass zunächst keine Updates angezeigt werden, obwohl welche vorhanden sind. Der Zähler zeigt das aber erst nach 1800 Sekunden (2 × 900) an. Das liegt an einem seit längerem nicht behobenen Bug in conky 1.10, der dazu führt, das "exec" erst bei der zweiten Iteration vollständig ausgeführt wird.
Ein möglicher Workaround ist, dem Befehl eine Zeile mit einer ersten Iteration voranzustellen:

${execpi 900 checkupdates > /dev/null 2>&1}

Gruß, Werner

Beitrag geändert von Werner (20.09.2016 09:41:53)

Offline

#7 20.09.2016 18:39:37

H-Milch
Gast

Re: Conky Anzahl der Updates farbig gestalten

@Werner

Danke für die Info.
Da ich keine Programmiererfahrung habe, muss ich noch mal fragen, Du meinst so?:

${execpi 900 checkupdates > /dev/null 2>&1}
${if_match ${execpi 900 checkupdates | wc -l} < 1}
${color #848484} Kein Update verfügbar
${else}
${color #FF0000} ${execpi 900 checkupdates | wc -l}${color #848484} Update(s) verfügbar
${endif}

Danke nochmals :-)

#8 20.09.2016 19:53:54

Werner
Mitglied

Re: Conky Anzahl der Updates farbig gestalten

Ja, genau so. Ein kleiner und vielleicht unerwünschter Nebeneffekt: Die Ausgabe dieser vorangestellten Zeile geht zwar in‘s Nirvana, aber Conky zeigt dennoch eine zusätzliche Leerzeile an. Die gewünschte Ausgabe rutscht dadurch quasi eine Zeile tiefer. Wenn du die Ausgabe nach oben korrigieren willst, kannst du das über einen vorangestellten negativen vertikalen Abstandswert bewerkstelligen, beispielsweise:

${voffset -32}
${execpi 900 checkupdates > /dev/null 2>&1}

Gruß, Werner

Offline

#9 21.09.2016 10:21:11

H-Milch
Gast

Re: Conky Anzahl der Updates farbig gestalten

Mein conky sieht jetzt perfekt aus..... Danke :-)

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums