comportamento estranho de fundo conky

9

Eu criei um conky personalizado mostrando previsões do tempo em 3 cidades como esta: tipo de janela conky override1

Mas recentemente comecei a ver um comportamento estranho. Após alguns segundos, um fundo branco um pouco maior aparece embaixo assim: tipo de janela conky override2

Tentei superar isso tentando várias alterações no arquivo de configuração .conkyrc e a única eficaz foi alterar o valor own_window_type de substituição para normal . Mas não apenas esse conky desaparece quando escolho minimizar todas as janelas, mas também exibe um plano de fundo transparente do mesmo tamanho como este:

tipo de janela conky normal

Minhas configurações da janela conky são assim:

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

fundo sim
own_window yes
substituição de own_window_type
own_window_transparent yes
own_window_hints não decorado, abaixo, adesivo, skip_taskbar, skip_pager
minimum_size 300 480
maximum_width 300
alinhamento 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 yes
use_xft sim
xftfont Ubuntu: size = 10
xftalpha 1.0
maiúsculas não
unidade de temperatura 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

TEXTO
$ {image ~ / .conky / base.png -p 0,0 -s 300 x 480}

Alguém pode dizer o que pode estar causando (e como posso superar) essa tela indesejada debaixo da minha janela conky?

Sadi
fonte

Respostas:

8

UMA):

Seu .conkyrc afirma own_window yes. Isso significa que o conky tem sua própria janela. Ao afirmar que own_window_type normala janela está sendo instruída a agir "normalmente". Assim, a janela conky minimizará qualquer outra janela quando a opção "Mostrar área de trabalho" for usada.

B):

O que manteria conky em seu lugar está mudando own_window_type normalpara own_window_type dock. A desvantagem deste método é ter que colocar o conky no local certo da área de trabalho novamente, usando os espaços x e y. A lacuna x agora é contada do lado esquerdo da borda da área de trabalho, em vez do lado direito. A diferença y ainda é contada de cima. Portanto, suponha que a resolução da tela seja 1440x900 e o intervalo x costumava ser 2 e o máximo conky com 300, o novo intervalo x seria 1440-300-2 = 1138

C):

Além disso, para perder completamente qualquer borda visível do dock, altere a linha own_window_transparent yescom as linhas: own_window_argb_visual yese own_window_argb_value 0. Se own_window_argb_valueestiver definido como 255a janela conky, não terá transparência e ficará preto.

Para outras configurações:

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

jeroen
fonte
Obrigado, mas ... 1) Sua sugestão sobre: ​​transparência também se livra da minha imagem de fundo e os ícones do tempo ficam brancos. 2) Vou considerar novamente o own_window_type, embora também tenha uma desvantagem de posicionamento quando você mudar de monitor, eu acho.
Sadi
Ok, outra solução: Ignore C. Em B): edite a linha de código own_window_type desktope tente. Não tenho uma solução para os ícones brancos. Conky precisa de algumas brincadeiras na maioria das vezes, por exemplo, usar seu código não faz nenhuma imagem desaparecer na minha caixa. A troca do monitor sempre altera o posicionamento do conky, a menos que não haja alteração na resolução.
jeroen
Antes de perguntar aqui, estudei manuais conky como o link acima e tentei diferentes opções "window_type" com os seguintes resultados: conky (minimizable), desktop (desaparece completamente quando o desktop é clicado e não pode ser trazido de volta), dock (posição padrão no canto superior esquerdo) , não minimizável), normal (minimizável), substituição (posição padrão no canto superior direito, não minimizável, fundo branco de tempos em tempos), painel (causando sérios problemas de unidade). Portanto, entre todos esses DOCK parece ser a melhor solução possível para o momento (como felizmente tenho a largura de salvar quando troco de monitor).
Sadi
Embora isso resolva o problema secundário de minimização , infelizmente a questão ainda permanece em aberto, porque ainda tenho esse pano de fundo inexplicável. É estranho que eu não tivesse esse fundo branco no modo "substituir" até recentemente , e também é estranho que o fundo semitransparente em outros modos como "dock" não estivesse lá no começo, mas surgisse quando adicionei mais cidades para o código inicial. Provavelmente eu nunca vai saber o que está causando isso ;-)
Sadi
Ah, outra coisa ... :-): Conky usa a transparência "pseudo", não uma janela verdadeiramente "transparente". Ele lê o plano de fundo da janela raiz e altera seu próprio plano de fundo para a seção da imagem que encontra. Alguns gerenciadores de janelas ou áreas de trabalho colocam seu plano de fundo em uma camada acima da janela raiz. Para corrigir isso, você pode usar um aplicativo como "fbsetbg", incluído no fluxbox ( fluxbox.org ) ou "feh" ( linuxbrit.co.uk/feh ). Use "feh" do seu ~ / .xinitrc: #!/bin/shnext line: sleep 1 && feh --bg-center ~/background.png &oufbsetbg -f /path/to/picture.jpg
jeroen
3

Encontrei uma solução para a sombra indesejada aqui: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky

  1. Inicie o Gerenciador de configurações CompizConfig
  2. Selecione Efeitos > Decoração da janela
  3. Vá para Sombra janelas caixa e depois o valor de qualquer add &! (Class = Conky) para aplicar esta regra a todas as janelas, exceto Conky

Isto é, na verdade, uma solução alternativa e não uma solução, porque o motivo pelo qual Conky desenha uma janela maior do que o necessário ainda permanece um mistério para mim ;-)

  • Nota: Provavelmente isso também requer adicionar esta linha ao arquivo de configuração conky: own_window_class Conky

  • Nota: Uma solução alternativa para o fundo preto que aparece por alguns minutos no Ubuntu 13.04 : adicione um comando para alterar o papel de parede da área de trabalho depois do comando conky, por exemplosleep 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
fonte
1

Eu tinha exatamente o mesmo problema na 12.10, mas descobri que abrir o painel ou um terminal (que eu defini como transparente) fazia o fundo branco desaparecer. Irritante, mas simples de resolver - presumo que tenha algo a ver com a forma como a tela lida com qualquer transparência.

Só tenho 13.04, e agora esse truque não funciona. Resolvendo isso, estou conseguindo fazer a transparência funcionar se definir o seguinte:

own_window yes
own_window_type dock
own_window_transparent yes

A única desvantagem é que a janela do Conky agora se alinha à esquerda da tela (costumava estar à direita), então tive que trocá-la com o seguinte:

alignment tr
gap_x 1120
gap_y 55

Irritantemente, isso significa que, se minha resolução de tela mudar (muitas vezes eu conecto um projetor no trabalho, por exemplo), a janela do Conky não estará lá, mas é um começo. Espero que isto ajude.

Seej500
fonte
Obrigado, mas isso também é muito chato para mim, porque eu uso um laptop e conecto frequentemente um monitor externo maior. Como resultado, decidi abandonar Conky e mudar para Screenlets .
21313 Sadi
Acabei de descobrir que a alteração do papel de parede da área de trabalho também força o redesign a redesenhar a transparência falsa (como abrir o painel ou um terminal, como você disse). Então talvez um comando para mudar papel de parede executado após conky pode fazer o truque ;-)
Sadi
1

Aqui estão alguns dos parâmetros que eu uso:

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}

Eu tive problemas com a imagem sendo muito pequena. Comecei a ajustar os parâmetros de tamanho e o fiz funcionar.

Como você pode perceber, o own_windowestá definido como no. Se yes, então minha imagem não funcionaria. Foi apenas uma bagunça. Isso pode ou não ajudá-lo. Espero que seja de alguma ajuda.

Marshall Neill
fonte
Obrigado, mas ao contrário a minha área de trabalho torna-se uma bagunça quando eu defini-lo como "não" ;-) comportamento conky estranho ;-)
Sadi
0

Que tal agora:

No arquivo ~ / conkyrc, localize

own_window_type override

substitua-o por

own_window_type desktop

e adicione

own_window_argb_visual yes

Isso fez por mim.

Damiao
fonte
Obrigado, mas pelo menos no meu caso (Ubuntu 13.04 64 bits), alterar o valor "own_window_type" para "desktop" faz a janela conky desaparecer quando você clica com o botão esquerdo na área de trabalho, e isso é pior do que ver um fundo preto atrás da janela conky por um ou dois segundos.
Sadi
Você está certo. Melhor ter esse campo com o valor "normal".
Damiao 31/08