strano comportamento di fondo conky


9

Ho creato un conky personalizzato che mostra le previsioni del tempo in 3 città come questa: tipo di finestra conky override1

Ma recentemente ho iniziato a vedere uno strano comportamento. Dopo alcuni secondi, sotto appare uno sfondo bianco un po 'più grande: tipo di finestra conky override2

Ho tentato di ovviare a questo problema provando una serie di modifiche nel file di configurazione .conkyrc e l'unico efficace stava cambiando il valore own_window_type da override a normal . Ma poi non solo faccio scomparire questo conky quando scelgo di ridurre a icona tutte le finestre, ma mostra anche uno sfondo trasparente delle stesse dimensioni come questo:

tipo di finestra conky normale

Le mie impostazioni di finestra conky sono così:

update_interval 1
total_run_times 0
cpu_avg_samples 1
net_avg_samples 1
no_buffers sì
double_buffer sì
imlib_cache_size 0

sfondo sì
finestra propria sì
sovrascrittura di own_window_type
own_window_transparent sì
own_window_hints non decorato, sotto, appiccicoso, skip_taskbar, skip_pager
minimum_size 300 480
maximum_width 300
allineamento top_right
gap_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 sì
use_xft sì
xftfont Ubuntu: size = 10
xftalpha 1.0
maiuscolo n
temperatura_unità Celsius
draw_shades no
draw_outline no
default_color C0C0C0
default_shade_color 000000
default_outline_color C0C0C0
color1 C0C0C0
color2 B2B2B2
color3 808080
color4 D4D4D4

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

Qualcuno può dire cosa potrebbe causare (e come posso superare) questa tela indesiderata sotto la mia finestra conky?

Risposte:


8

UN):

Il tuo .conkyrc afferma own_window yes. Ciò significa che Conky ha la sua finestra. Dichiarando own_window_type normalalla finestra viene detto di agire "normalmente". Pertanto, la finestra conky e qualsiasi altra finestra minimizzeranno quando viene utilizzata l'opzione "Mostra desktop".

B):

Ciò che manterrebbe conky al suo posto sta cambiando own_window_type normalin own_window_type dock. Lo svantaggio di questo metodo è di dover ricomporre il conky nel punto giusto sul desktop usando gap x e gap y. Il divario x viene ora conteggiato dal lato sinistro del bordo del desktop anziché dal lato destro. Il gap y è ancora conteggiato dall'alto. Supponiamo quindi che la risoluzione dello schermo sia 1440x900 e che il gap x fosse 2 e il massimo conky sia 300, il nuovo gap x sarebbe 1440-300-2 = 1138

C):

Inoltre, per perdere completamente qualsiasi bordo del bacino visibile, cambia la linea own_window_transparent yescon le linee: own_window_argb_visual yese own_window_argb_value 0. Se own_window_argb_valueè impostato 255sulla finestra conky non avrà trasparenza e sarà nero.

Per ulteriori impostazioni di configurazione:

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


Grazie, ma ... 1) Il tuo suggerimento è: la trasparenza elimina anche la mia immagine di sfondo e le icone del tempo diventano bianche. 2) Prenderò in considerazione own_window_type anche se ha anche uno svantaggio di posizionamento quando cambi monitor suppongo.
Sadi,

Ok, un'altra soluzione: Ignora C. Sotto B): modifica la riga di codice own_window_type desktope prova. Non ho una soluzione per le icone bianche. Conky ha bisogno di giocherellare per la maggior parte del tempo, ad esempio l'uso del codice non fa scomparire alcuna immagine sulla mia scatola. La modifica del monitor cambia sempre il posizionamento conky a meno che non vi siano cambiamenti nella risoluzione.
jeroen,

Prima di chiedere qui, ho studiato manuali conky come il link sopra e ho provato diverse opzioni "window_type" con questi risultati: conky (minimizzabile), desktop (scompare completamente quando si fa clic sul desktop e non può essere riportato indietro), dock (posizione predefinita in alto a sinistra , non minimizzabile), normale (minimizzabile), sostituzione (posizione predefinita in alto a destra, non minimizzabile, sfondo bianco di volta in volta), pannello (che causa gravi problemi di unità). Quindi tra tutti questi DOCK sembra essere la migliore soluzione possibile per il momento (dato che fortunatamente ho la larghezza di salvataggio quando cambio monitor).
Sadi,

Sebbene questo risolva il problema secondario della minimizzazione , purtroppo la domanda rimane ancora aperta, perché ho ancora quel background inspiegabile. È strano che non ho avuto quello sfondo bianco in modalità "override" fino a poco tempo fa , ed è anche strano che lo sfondo semi-trasparente in altre modalità come "dock" non fosse lì all'inizio, ma è emerso quando ho aggiunto più città al codice iniziale. Probabilmente non saprò mai cosa sta causando questo ;-)
Sadi,

Ahem, qualcos'altro ... :-): Conky usa la "pseudo" trasparenza, non una finestra veramente "trasparente". Legge lo sfondo della finestra principale e cambia il proprio sfondo nella sezione dell'immagine che trova. Alcuni gestori di finestre o desktop posizionano lo sfondo su un livello sopra la finestra principale. Per risolvere questo problema, puoi usare un'applicazione come "fbsetbg" inclusa in fluxbox ( fluxbox.org ) o "feh" ( linuxbrit.co.uk/feh ). Usa "feh" dal tuo ~ / .xinitrc: #!/bin/shriga successiva: sleep 1 && feh --bg-center ~/background.png &oppurefbsetbg -f /path/to/picture.jpg
jeroen,

3

Ho trovato una soluzione all'ombra indesiderata qui: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky

  1. Avviare CompizConfig Settings Manager
  2. Seleziona Effetti > Decorazione finestra
  3. Andate in ombra finestre box e dopo il valore di ogni add &! (Class = Conky) per applicare questa regola a tutte le finestre tranne Conky

Questo è in realtà una soluzione alternativa piuttosto che una soluzione, perché il motivo per cui Conky disegna una finestra più grande del necessario rimane ancora un mistero per me ;-)

  • Nota: probabilmente questo richiede anche l'aggiunta di questa riga al file di configurazione conky: own_window_class Conky

  • Nota: una soluzione alternativa per lo sfondo nero che appare per alcuni minuti in Ubuntu 13.04 : aggiungere un comando per cambiare lo sfondo del desktop avanti e indietro dopo il comando conky, ad es.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


1

Ho avuto lo stesso identico problema il 12.10 ma ho scoperto che l'apertura del pannello o di un terminale (che ho impostato per essere trasparente) ha fatto sparire lo sfondo bianco. Fastidioso, ma semplice da risolvere - suppongo che fosse qualcosa a che fare con il modo in cui il display gestisce qualsiasi trasparenza.

Ho appena ricevuto 13.04, e ora quel trucco non funziona. Selezionandolo, sto facendo funzionare la trasparenza se imposto quanto segue:

own_window yes
own_window_type dock
own_window_transparent yes

L'unico aspetto negativo è che la finestra di Conky ora si allinea alla sinistra dello schermo (era sulla destra), quindi ho dovuto spostarla con il seguente:

alignment tr
gap_x 1120
gap_y 55

In modo fastidioso, ciò significa che se la risoluzione del mio display cambia (spesso mi collego a un proiettore al lavoro, per esempio), la finestra di Conky non sarà lì, ma è un inizio. Spero che sia di aiuto.


Grazie, ma questo è anche molto fastidioso per me, perché uso un laptop e spesso collego un monitor esterno più grande. Di conseguenza, ho deciso di abbandonare Conky e passare a Screenlets .
Sadi,

Ho appena scoperto che cambiare lo sfondo del desktop forza anche il ridisegno ridisegnare la finta trasparenza (come aprire il pannello o un terminale come hai detto). Quindi forse un comando per cambiare lo sfondo eseguito dopo Conky potrebbe fare il trucco ;-)
Sadi

1

Ecco alcuni dei parametri che utilizzo:

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}

Ho avuto problemi con l'immagine troppo piccola. Ho appena iniziato a modificare i parametri delle dimensioni e l'ho fatto funzionare.

Come puoi notare, own_windowè impostato su no. Se yes, quindi la mia immagine non funzionerebbe. Era solo un casino. Questo può o meno aiutarti. Spero sia di qualche aiuto.


Grazie, ma al contrario il mio desktop diventa così disordinato quando lo imposto su "no" ;-) Strano comportamento conky ;-)
Sadi

0

Cosa ne pensi di questo:

Nel file ~ / conkyrc individuare

own_window_type override

sostituirlo per

own_window_type desktop

e aggiungi

own_window_argb_visual yes

Che ha fatto per me.


Grazie, ma almeno nel mio caso (Ubuntu 13.04 a 64 bit), la modifica del valore di "own_window_type" in "desktop" fa scomparire la finestra conky quando si fa clic sul desktop e questo è peggio che vedere uno sfondo nero dietro la finestra conky per uno o due secondi.
Sadi,

Hai ragione. Meglio avere quel campo con valore "normale".
Damiao,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.