Raspberry PI OS - po(d)ręczny Conky ;) - Lokacja elementów

Spis treści

Lokacja elementów

$image bez "-p"Okno Conky wypełnione jest treścią. Należy zwrócić uwagę na fakt, że w oknie elementy graficzne są pozycjonowane inaczej niż czcionki (o nich za chwilę).

O ich pozycji decydują współrzędne określonem parametrem "-p" 

I tak: ${image -p 20,30} to oznacza, że lewy, górny narożnik znajdzie się w pozycji x=20px, y=30px od lewego, górnego rogu okna Conky.

Jeśli pominięmy parametr -p to bez względu na to, gdzie w sekcji treści znajdzie się ten wpis obrazek zostanie wyświetlony w pozycji "zero". Czyli brak parametru -p jest równoznaczny z ${image -p 0, 0}.

Położenie obrazków nie zależy od położenia czcionek. Używając wyłącznie tych ostatnich sprawa jest dość prosta: każdy wiersz znajduje swój obraz w polu okna. 

Bez użycia funkcji pozycjonujących o położeniu kolejnego elementu decydują własności i styl czcionki (wysokość, szerokość, odstępy, itd.) Dotyczy to również spacji.

Każda "nowa linia" w pliku treści pliku konfiguracyjnego to nowa linia w treści okna.

Ale dysponujemy ponadto następującymi funkcjami pozycjonującymi:

  • ${goto x} - wyświetl następny element w bieżącym wierszu na pozycji x (wartość x wyrażona w px),
  • ${offset x) - wyświetl następny element w bieżącym wierszu z przesunięciem o x (wartość x wyrażona w px, dopuszczalne wartości ujemne),
  • ${voffset y) - wyświetl następny element z przesunięciem pionowym o y (wartość y wyrażona w px, dopuszczalne wartości ujemne).

Ale i używanie czcionek daje czasami zaskakujące efekty.Działanie komendy goto x

Okazuje się, że nieco inaczej traktowane są: lewa i prawa krawędź okna Conky. :D

Zacznimy od prezentacji podstawowej, testowej wersji okna Conky. Oprócz (widocznych na prawym obrazku) w dolnej części okna Conky w zasadzie nic ciekawego.

Wielkość okna edytora nano specjalnie dobrano. Czerwone pole obejmuje obszar wolny od okna Conky.

"Eksperyment" polega na dodaniu (w miejscu kursora, w postaci 3 linii tekstu) w Sekcji treści pliku .conkyrc następującej treści: 

$color${voffset -350}${offset -210}${font :style=Bold:size=45}${color5}${freq_g cpu0}GHz
${color8}${freq_g cpu0}GHz
${color ff0000}${offset 53}${freq_g cpu0}GHz

Ciekawe właściwości okna ConkyPo przeładowaniu Conky zauważymy następujące zmiany:

  • okno Conky (wyznaczone granicą, jasna linia 1px) powiększyło się (chodzi o wysokość). Jakkolwiek na dole okna nie widać żadnego tekstu to okno zostało powiększone o 3 linie (po 45px).
    Jest wysokość linii wyświetlających informację o bieżącej częstotliwości taktowania procesora.
    Ujemna wartość poziomego przesunięcia (-210px) pierwszego (zielonego) napisu spowodowała jego "wyrzucenie" poza obszar okna Conky. Ale obcięcie nie nastąpiło "w obszarze" okna.
    Napis pojawił się również w części objętej zewnętrznym marginesem (outher_margin),
  • punktem wyjścia dla drugiego (pomarańczowego) napisu jest pozycja następnej linii (skorygowanej o wartość inner_margin, tu 5px) określonej na podstawie wielkości czcionki,
  • ostatni (czerwony) wiersz został tak przesunięty w poziomie (53px), że litera "H" nie mieści się w obrysie okna Conky. Zmiana wartości przesunięcia ($offset) z 53 na 52 powoduje, że litera jest wyświetlana prawidłowo. Bez obcięć.
    Również zmiana wewnętrznego marginesu daje ten sam efekt. Oznacza to, że położenie prawej krawędzi okna (minus inner_margin) decyduje o tym czy znak (i to co po nim następuje) ma zostać wyświetlone czy też nie!

Czyli projektując okno Conky należy również te jego "własności" uwzględniać!