dziwne zachowanie w tle

9

Stworzyłem niestandardowy conky pokazujący prognozy pogody w 3 miastach takich jak to: nadpisanie typu okna Conky 1

Ale ostatnio zacząłem widzieć dziwne zachowanie. Po kilku sekundach białe tło, nieco większe, pojawia się poniżej: nadpisanie typu okna Conky 2

Próbowałem to przezwyciężyć, próbując szeregu zmian w pliku konfiguracyjnym .conkyrc, a jedyną skuteczną zmianą była zmiana wartości typu własna_okna z zastąpienia na normalną . Ale potem nie tylko znikam, gdy wybieram minimalizację wszystkich okien, ale także wyświetla przezroczyste tło o takim samym rozmiarze, jak ten:

Conky typ okna normalny

Moje ustawienia okna Conky są takie:

update_interval 1
total_run_times 0
cpu_avg_samples 1
net_avg_samples 1
no_buffers tak
double_buffer tak
imlib_cache_size 0

tło tak
okno własne tak
przesłonięcie typu own_window_type
own_window_transparent tak
own_window_hints undecorated, below, sticky, skip_taskbar, skip_pager
minimum_size 300 480
maksymalna_szerokość 300
wyrównanie top_right
przerwa_x 2
gap_y 28

draw_borders no
draw_graph_borders no
stippled_borders 0
border_inner_margin 0
border_outer_margin 0
border_width 0

text_buffer_size 1024
override_utf8_locale tak
use_xft tak
xftfont Ubuntu: size = 10
xftalpha 1.0
wielka litera nr
temperatura_jednostki celsjusza
draw_shades no
nr_rysowania
default_color C0C0C0
default_shade_color 000000
default_outline_color C0C0C0
kolor 1 C0C0C0
kolor2 B2B2B2
kolor 3 808080
color4 D4D4D4

TEKST
$ {image ~ / .conky / base.png -p 0,0 -s 300x480}

Czy ktoś może powiedzieć, co może powodować (i jak mogę pokonać) to niechciane płótno pod moim zwartym oknem?

Sadi
źródło

Odpowiedzi:

8

ZA):

Państwa stan .conkyrc own_window yes. Oznacza to, że conky ma własne okno. Stwierdzenie, own_window_type normalże okno ma działać „normalnie”. W ten sposób okno stożkowe będzie, podobnie jak każde inne okno, zminimalizowane, gdy zostanie użyta opcja „Pokaż pulpit”.

B):

To, co utrzymałoby conky na swoim miejscu, zmienia się own_window_type normalna own_window_type dock. Wadą tej metody jest konieczność ponownego umieszczenia stożka we właściwym miejscu na pulpicie za pomocą odstępu x i odstępu y. Odstęp x jest teraz liczony od lewej strony krawędzi pulpitu zamiast od prawej. Luka y jest nadal liczona od góry. Załóżmy więc, że Twoja rozdzielczość ekranu wynosi 1440 x 900, a przerwa x wynosiła 2, a maksymalna zwartość wynosi 300, nowa przerwa x wyniesie 1440–300–2 = 1138

DO):

Ponadto, aby całkowicie utracić wszelkie widoczne obramowania doków, zmień linię own_window_transparent yesz liniami: own_window_argb_visual yesi own_window_argb_value 0. Jeśli own_window_argb_valueustawione 255na conky, okno nie będzie miało przezroczystości i będzie czarne.

Aby uzyskać dalsze ustawienia konfiguracji:

http://conky.sourceforge.net/config_settings.html

jeroen
źródło
Dzięki, ale ... 1) Twoja sugestia dotycząca: przezroczystość pozbywa się również mojego obrazu tła, a ikony pogody zmieniają kolor na biały. 2) Ponownie rozważę typ_window_window, chociaż wydaje mi się, że ma też wadę pozycjonowania podczas zmiany monitorów.
Sadi
Ok, inne rozwiązanie: Ignoruj ​​C. Pod B): edytuj wiersz kodu own_window_type desktopi spróbuj. Nie mam rozwiązania dla białych ikon. Conky przez większość czasu potrzebuje trochę majstrowania, np. Użycie kodu nie powoduje zniknięcia obrazów na moim pudełku. Zmieniający monitor zawsze zmienia pozycjonowanie stożkowe, chyba że nie ma zmiany rozdzielczości.
jeroen
Zanim zapytałem tutaj, przestudiowałem podręczniki Conky, takie jak powyższy link, i wypróbowałem różne opcje „typ_okna” z następującymi wynikami: conky (minimalizowalny), pulpit (całkowicie znika po kliknięciu pulpitu i nie można go przywrócić), dok (domyślna pozycja u góry po lewej stronie , nie-minimalizowalny), normalny (minimalizowalny), nadpisywanie (domyślna pozycja u góry po prawej, nie-minimalizowalne, białe tło od czasu do czasu), panel (powodujący poważne problemy z jednością). Tak więc spośród tych wszystkich DOCK wydaje się być obecnie najlepszym możliwym rozwiązaniem (na szczęście mam szerokość zapisu przy zmianie monitorów).
Sadi
Chociaż rozwiązuje to drugorzędny problem minimalizacji , niestety pytanie wciąż pozostaje otwarte, ponieważ nadal mam to niewyjaśnione tło. Dziwne, że do niedawna nie miałem tego białego tła w trybie „zastępowania” , a także dziwne, że półprzezroczyste tło w innych trybach, takich jak „dok”, nie było na początku, ale pojawiło się, gdy dodałem więcej miast do kodu początkowego. Prawdopodobnie nigdy się nie dowiem, co to powoduje ;-)
Sadi
Ahem, coś jeszcze ... :-): Conky używa „pseudo” -przejrzystości, a nie naprawdę „przezroczystego” okna. Odczytuje tło okna głównego i zmienia własne tło na odcinek znalezionego obrazu. Niektórzy menedżerowie okien lub pulpitu umieszczają swoje tło na warstwie powyżej okna głównego. Aby to naprawić, możesz użyć aplikacji takiej jak „fbsetbg”, która jest dołączona do fluxbox ( fluxbox.org ) lub „feh” ( linuxbrit.co.uk/feh ). Użyj „feh” z ~ / .xinitrc: #!/bin/shnext line: sleep 1 && feh --bg-center ~/background.png &orfbsetbg -f /path/to/picture.jpg
jeroen
3

Znalazłem rozwiązanie niechcianego cienia tutaj: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky

  1. Uruchom Menedżera ustawień CompizConfig
  2. Wybierz Efekty > Dekoracja okna
  3. Idź do Cień okna pudełko i po wartości każdy doda &! (Class = conky) , aby zastosować tę regułę do wszystkich okien oprócz Conky

Jest to w rzeczywistości obejście, a nie rozwiązanie, ponieważ dlaczego Conky rysuje większe okno, niż jest to potrzebne, nadal pozostaje dla mnie tajemnicą ;-)

  • Uwaga: Prawdopodobnie wymaga to również dodania tej linii do pliku konfiguracyjnego Conky: own_window_class Conky

  • Uwaga: Obejście czarnego tła pojawiającego się przez kilka minut w systemie Ubuntu 13.04 : dodaj polecenie zmiany tapety pulpitu tam iz powrotem po poleceniu conky, np.sleep 5 && conky -c /home/user/.conkyrc && sleep 2 && gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/bckgrnd.jpg && gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/background.jpg

Sadi
źródło
1

Miałem dokładnie ten sam problem w dniu 12.10, ale odkryłem, że otwarcie panelu lub terminala (które ustawiłem jako przezroczyste) sprawiło, że białe tło zniknęło. Irytujące, ale proste do rozwiązania - zakładam, że miało to związek z tym, jak wyświetlacz obsługuje dowolną przezroczystość.

Właśnie dostałem 13.04, a teraz ta sztuczka nie działa. Biorąc to pod uwagę, do tej pory mam przezroczystość działającą, jeśli ustawię następujące ustawienia:

own_window yes
own_window_type dock
own_window_transparent yes

Jedynym minusem jest to, że okno Conky teraz dopasowuje się do lewej strony ekranu (kiedyś po prawej), więc musiałem to przesunąć w następujący sposób:

alignment tr
gap_x 1120
gap_y 55

Irytujące oznacza to, że jeśli zmieni się rozdzielczość mojego wyświetlacza (na przykład często podłączam projektor do pracy), okno Conky nie będzie tam, ale to początek. Mam nadzieję że to pomoże.

Seej500
źródło
Dzięki, ale to też jest dla mnie bardzo denerwujące, ponieważ używam laptopa i często podłączam do niego większy monitor zewnętrzny. W rezultacie postanowiłem porzucić Conky i przejść na Screenlety .
Sadi
Właśnie odkryłem, że zmiana tapety na pulpicie wymusza także odręczne przerysowanie fałszywej przezroczystości (tak jak powiedziałeś, otwierając panel lub terminal). Wtedy być może polecenie zmiany tapety wykonane po conky może załatwić sprawę ;-)
Sadi
1

Oto niektóre parametry, których używam:

override_utf8_locale yes
own_window no
own_window_colour 313131    # Black
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#own_window_hints below,sticky,skip_taskbar,skip_pager
own_window_transparent no
own_window_type normal  ## normal

${image ~/BOX/conkybg1.png -p -50,-44 -s 380x500}

Miałem problemy ze zbyt małym obrazem. Właśnie zacząłem dostosowywać parametry rozmiaru i zacząłem działać.

Jak możesz zauważyć, own_windowjest ustawiony na no. Jeśli yesto mój obraz nie działałby. To był tylko bałagan. To może ci pomóc, ale nie musi. Mam nadzieję, że to pomoże.

Marshall Neill
źródło
Dzięki, ale wręcz przeciwnie, mój pulpit staje się takim bałaganem, gdy ustawiam go na „nie” ;-) Dziwne dziwaczne zachowanie ;-)
Sadi
0

Co powiesz na to:

W pliku ~ / conkyrc zlokalizuj

own_window_type override

zamień na

own_window_type desktop

i dodaj

own_window_argb_visual yes

To mi zrobiło.

Damiao
źródło
Dzięki, ale przynajmniej w moim przypadku (Ubuntu 13.04 64-bit) zmiana wartości „own_window_type” na „desktop” powoduje, że okno Conky znika po kliknięciu pulpitu lewym przyciskiem myszy, a to gorsze niż widzenie czarnego tła za oknem Conky dla jednego lub dwie sekundy.
Sadi
Masz rację. Lepiej mieć to pole o wartości „normal”.
Damiao,