comportement de fond conky étrange

9

J'ai créé un conky personnalisé affichant les prévisions météorologiques dans 3 villes comme celle-ci: conky window type override1

Mais récemment, j'ai commencé à voir un comportement étrange. Après quelques secondes, un fond blanc un peu plus grand apparaît en dessous comme ceci: conky window type override2

J'ai essayé de surmonter cela en essayant un certain nombre de modifications dans le fichier de configuration .conkyrc et la seule efficace était de changer la valeur own_window_type de la substitution à la normale . Mais alors, non seulement ce conky disparaît lorsque je choisis de réduire toutes les fenêtres, mais il affiche également un arrière-plan transparent de la même taille comme ceci:

type de fenêtre conky normal

Mes paramètres de fenêtre conky sont comme ceci:

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

fond oui
own_window oui
remplacement de own_window_type
own_window_transparent yes
own_window_hints non décoré, ci-dessous, collant, skip_taskbar, skip_pager
taille_minimale 300 480
maximum_width 300
alignement en haut à droite
gap_x 2
gap_y 28

draw_borders non
draw_graph_borders non
stippled_borders 0
border_inner_margin 0
border_outer_margin 0
border_width 0

text_buffer_size 1024
override_utf8_locale oui
use_xft oui
xftfont Ubuntu: taille = 10
xftalpha 1.0
non majuscule
temperature_unit celsius
draw_shades no
draw_outline non
default_color C0C0C0
default_shade_color 000000
default_outline_color C0C0C0
color1 C0C0C0
couleur2 B2B2B2
color3 808080
color4 D4D4D4

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

Quelqu'un peut-il dire ce qui pourrait causer (et comment puis-je surmonter) cette toile indésirable sous ma fenêtre conky?

Sadi
la source

Réponses:

8

UNE):

Votre .conkyrc déclare own_window yes. Cela signifie que conky a sa propre fenêtre. En déclarant own_window_type normalla fenêtre, on lui dit d'agir "normalement". Ainsi, la fenêtre conky ainsi que toute autre fenêtre seront minimisées lorsque l'option "Afficher le bureau" est utilisée.

B):

Ce qui garderait conky à sa place est en train own_window_type normalde changer own_window_type dock. L'inconvénient de cette méthode est de devoir placer à nouveau le conky au bon endroit sur votre bureau en utilisant l'espace x et l'espace y. L'écart x est désormais compté à partir du côté gauche du bord du bureau au lieu du côté droit. L'écart y est toujours compté d'en haut. Supposons donc que votre résolution d'écran soit de 1440 x 900 et que l'écart x était auparavant de 2 et que le conky maximum soit de 300, le nouvel écart x serait de 1440-300-2 = 1138.

C):

De plus, pour perdre entièrement les bordures de quai visibles, changez la ligne own_window_transparent yesavec les lignes: own_window_argb_visual yeset own_window_argb_value 0. Si own_window_argb_valueest réglé sur 255la fenêtre conky, il n'y aura pas de transparence et sera noir.

Pour d'autres paramètres de configuration:

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

jeroen
la source
Merci, mais ... 1) Votre suggestion: la transparence supprime également mon image d'arrière-plan et les icônes météo deviennent blanches. 2) Je vais reconsidérer own_window_type bien qu'il ait également un inconvénient de positionnement lorsque vous changez de moniteur, je suppose.
Sadi
Ok, une autre solution: Ignorer C. Sous B): modifiez la ligne de code own_window_type desktopet essayez. Je n'ai pas de solution pour les icônes blanches. Conky a besoin de jouer la plupart du temps, par exemple, en utilisant votre code, aucune image ne disparaît sur ma boîte. Changer de moniteur change toujours le positionnement conky à moins qu'il n'y ait aucun changement de résolution.
jeroen
Avant de demander ici, j'ai étudié les manuels conky comme le lien ci-dessus et essayé différentes options "window_type" avec ces résultats: conky (minimisable), bureau (disparaît complètement lorsque le bureau est cliqué et ne peut pas être ramené), dock (position par défaut en haut à gauche) , non minimisable), normal (minimisable), priorité (position par défaut en haut à droite, non minimisable, fond blanc de temps en temps), panneau (provoquant de graves problèmes d'unité). Donc, parmi tous ces DOCK semble être la meilleure solution possible pour le moment (car j'ai heureusement la largeur de sauvegarde lorsque je change de moniteur).
Sadi
Bien que cela résout le problème secondaire de la minimisation , malheureusement, la question reste ouverte, car j'ai toujours ce fond inexplicable. C'est étrange que je n'ai pas eu ce fond blanc en mode "override" jusqu'à récemment , et il est également étrange que le fond semi-transparent dans d'autres modes comme "dock" n'était pas là au début, mais est apparu lorsque j'ai ajouté plus de villes au code initial. Je ne saurai probablement jamais ce qui cause cela ;-)
Sadi
Ahem, autre chose ... :-): Conky utilise une "pseudo" transparence, pas une fenêtre vraiment "transparente". Il lit l'arrière-plan de la fenêtre racine et change son propre arrière-plan pour la section de l'image qu'il trouve. Certains gestionnaires de fenêtres ou de bureaux placent leur arrière-plan sur un calque au-dessus de la fenêtre racine. Pour résoudre ce problème, vous pouvez utiliser une application telle que "fbsetbg" qui est incluse avec fluxbox ( fluxbox.org ) ou "feh" ( linuxbrit.co.uk/feh ). Utilisez "feh" de votre ~ / .xinitrc: #!/bin/shligne suivante: sleep 1 && feh --bg-center ~/background.png &oufbsetbg -f /path/to/picture.jpg
jeroen
3

J'ai trouvé une solution à l'ombre indésirable ici: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky

  1. Démarrez le gestionnaire de paramètres CompizConfig
  2. Sélectionnez Effets > Décoration de fenêtre
  3. Allez dans la fenêtre Shadow windows et après la valeur any add &! (Class = Conky) pour appliquer cette règle à toutes les fenêtres sauf Conky

C'est en fait une solution de contournement plutôt qu'une solution, car pourquoi Conky dessine une fenêtre plus grande que nécessaire reste un mystère pour moi ;-)

  • Remarque: Cela nécessite probablement également l'ajout de cette ligne au fichier de configuration conky: own_window_class Conky

  • Remarque: Une solution de contournement pour le fond noir apparaissant pendant quelques minutes sous Ubuntu 13.04 : ajoutez une commande pour changer le fond d'écran du bureau d'avant en arrière après la commande conky, par exemplesleep 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
la source
1

J'ai eu exactement le même problème le 12.10, mais j'ai découvert que l'ouverture du panneau ou d'un terminal (que j'avais défini comme transparent) faisait disparaître le fond blanc. Ennuyeux, mais simple à résoudre - je suppose que cela a quelque chose à voir avec la façon dont l'écran gère toute transparence.

Je viens tout juste d'obtenir 13.04, et maintenant cette astuce ne fonctionne plus. En le repoussant, j'obtiens jusqu'à présent la transparence si je définis ce qui suit:

own_window yes
own_window_type dock
own_window_transparent yes

Le seul inconvénient est que la fenêtre Conky s'aligne maintenant à gauche de l'écran (autrefois à droite), j'ai donc dû la déplacer avec ce qui suit:

alignment tr
gap_x 1120
gap_y 55

Chose ennuyeuse, cela signifie que si ma résolution d'affichage change (je me branche souvent sur un projecteur au travail, par exemple), la fenêtre Conky ne sera pas là, mais c'est un début. J'espère que cela t'aides.

Seej500
la source
Merci, mais c'est aussi très ennuyeux pour moi, car j'utilise un ordinateur portable et je lui connecte fréquemment un moniteur externe plus grand. En conséquence, j'ai décidé d' abandonner Conky et de passer à Screenlets .
Sadi
Je viens de découvrir que changer le papier peint du bureau oblige également conky à redessiner la fausse transparence (comme ouvrir le panneau ou un terminal comme vous l'avez dit). Alors peut-être qu'une commande pour changer le fond d'écran exécuté après conky pourrait faire l'affaire ;-)
Sadi
1

Voici quelques paramètres que j'utilise:

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}

J'ai eu des problèmes avec une image trop petite. Je viens de commencer à modifier les paramètres de taille et à le faire fonctionner.

Comme vous pouvez le remarquer, le own_windowest défini sur no. Si yes, alors mon image ne fonctionnerait pas. C'était juste un gâchis. Cela peut ou non vous aider. J'espère que cela vous sera utile.

Marshall Neill
la source
Merci, mais au contraire mon bureau devient un tel gâchis quand je le mets à "non" ;-) Comportement bizarre de conky ;-)
Sadi
0

Que dis-tu de ça:

Sur le fichier ~ / conkyrc localiser

own_window_type override

remplacez-le pour

own_window_type desktop

et ajouter

own_window_argb_visual yes

Ça l'a fait pour moi.

Damiao
la source
Merci mais au moins dans mon cas (Ubuntu 13.04 64 bits) changer la valeur de "own_window_type" en "desktop" fait disparaître la fenêtre conky lorsque vous cliquez avec le bouton gauche sur le bureau, et c'est pire que de voir un fond noir derrière la fenêtre conky pour une personne ou deux secondes.
Sadi
Tu as raison. Mieux vaut avoir ce champ avec la valeur "normal".
Damiao