Skocz do zawartości

Usprawnienie sposobu wyświetlania informacji w conky


marek353

Rekomendowane odpowiedzi

Mam pytania odnośnie działania conky. Problem, który zwyczajnie drażni oko.

1) Rozchodzi się o sposób sprawdzania dostępnych aktualizacji systemowych. Wykonuje to skrypt, do którego jest odwołanie w conky. Oto on:

#!/bin/sh
dnf check-update | wc -l


i część z conky:

Aktualizacje: ${color white}${execi 60 ~/dnf.sh}


Całość działa lecz zawsze gdy system jest w pełni zaktualizowany pokazuje "1" tak, jakgdyby jakaś jedna była dostępna. Sprawdzenie w terminalu mówi, że system jest w pełni aktualny.
$ dnf check-update
Ostatnio sprawdzono ważność metadanych: 2:18:52 temu w dniu Fri Jun  9 19:00:35 2017.

Dlaczego tak się dzieje nie wiem i dlaczego conky mylnie informuje?


2) Druga sprawa dotyczy programu Audacious. Tutaj także współdziała conky ze skryptem. Pytanie dotyczy paska tytułu. Jest on prezentowany w ten sposób: nazwa stacji radiowej, jej adres www i dopiero na końcu tutuł utworu- piosenki. Całość jest dosyć mocno rozwlekła i pomimo iż zdefiniowałem ilość liter w tytule na 70 sama końcowa jego część, czyli ta która najbardziej interesuje jest obcięta. Zwiększenie ilość liter rozciąga z kolei mocno conky wszerz. Ten kod definiuje tytuł:

Title: ${exec audtool --current-song | cut -b-70}
${endif}

Czy da się obciąć tytuł lecz w kierunku odwrotnym od tyłu do przodu w ten sposób aby prezentował się cały tytuł aktualnie grany np. bez adresu www?

Odnośnik do komentarza
Udostępnij na innych stronach

1) wc słusznie zauważa, że dnf na wyjściu wypisuje jedną linijkę. Można sobie poradzić w ten sposób:

#!/usr/bin/sh

aktualnosci="$(dnf check-update | wc -l)"

if [ "$aktualnosci" = 1 ] ; then
  echo $(( $aktualnosci - 1 ))
else
  echo $aktualnosci
fi

Trzeba też pamiętać, że check-update informuje nie tylko o liczbie aktualizacji, ale też o ostatnim ich sprawdzaniu, pakietach do usunięcia i zastąpienia. Możesz sobie pomóc parametrem q, czyli quiet:

dnf -q --check-update

Wówczas nie będzie trzeba niczego odejmować, ale mam akurat aktualny system i nie wiem co dnf wówczas pokaże, kiedy będą jakieś aktualizacje. :)

Odnośnik do komentarza
Udostępnij na innych stronach

22 godziny temu, SeeM napisał:

1) wc słusznie zauważa, że dnf na wyjściu wypisuje jedną linijkę. Można sobie poradzić w ten sposób:

Trzeba też pamiętać, że check-update informuje nie tylko o liczbie aktualizacji, ale też o ostatnim ich sprawdzaniu, pakietach do usunięcia i zastąpienia. Możesz sobie pomóc parametrem q, czyli quiet:


dnf -q --check-update

Wówczas nie będzie trzeba niczego odejmować, ale mam akurat aktualny system i nie wiem co dnf wówczas pokaże, kiedy będą jakieś aktualizacje. :)

Masz rację, w międzyczasie sam doszedłem do takiego samego wniosku, Polecenie wc -l zlicza akurat linijki a odpowiedzią na próbę sprawdzenia dostępności aktualizacyjnych jest także informacja jak poniżej:

Ostatnio sprawdzono ważność metadanych: 0:28:10 temu w dniu Mon Jun 12 19:38:08 2017.

a więc jest linia do zliczenia dlatego miałem wynik "1". Poszperałem też w opcjach polecenia "wc" i stwierdzam, że przełącznik "-q" rozwiązał problem. Zastosowałem Twój skrypt i również działa u mnie lecz nie zgadza się liczba dostępnych pakietów, skrypt wywalił 15 sztuk a było ich faktycznie tylko 13. Czy u Ciebie pokazuje rzetelnie liczbę?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...