web-dev-qa-db-fra.com

Comment obtenir conky pour rester sur le bureau

J'ai une configuration de conky que j'ai utilisée sur un certain nombre de bureaux (voici le conkyrc ). Cela fonctionne très bien dans Ubuntu Unity, XFCE, Gnome et Openbox, mais pas Lubuntu (LXDE). Le problème est que je ne peux pas le faire rester sur le bureau Lubuntu LXDE de manière fiable. Soit la fenêtre de conky disparaît si je clique sur le bureau ou si je minimise toutes les fenêtres (show desktop).

J'ai essayé toutes les variantes du fichier de configuration pour "own_window", "own_window_colour", "own_window_transparent" et "own_window_type" et j'ai un peu cherché à résoudre ce problème. Si elle édite le fichier conkyrc et définit le type de propriété own_window_ sur "normal", conky disparaît si je minimise toutes les fenêtres. Si je le configure sur "Bureau", il disparaît si je clique n'importe où sur le bureau. Si j'utilise "override", cela ne s'affiche pas du tout. Et les autres options ne fonctionnent pas bien pour des raisons évidentes.

Sur une autre installation d'Ubuntu Unity, j'ai eu un problème similaire, mais je l'ai contourné en utilisant Compiz Config Settings Manager pour ignorer ma fenêtre conky. Sur mon netbook Lubuntu installer je n'ai pas compiz installé.

Comment puis-je obtenir conky pour rester sur mon bureau.

14
aspersieman

On dirait que définir le type de fenêtre sur le bureau ne suffit parfois pas.

Essayer:

own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

Je l'ai eu de ici .

Fonctionne pour moi dans XFCE. Je suppose que ça ira pour lxde/openbox également.

19
llaen

Cette configuration fonctionne sur Gnome et Cinnamon et constitue le moyen de le faire.

own_window yes
own_window_transparent yes
own_window_type dock
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_visual yes
own_window_argb_value 100
gap_x 940
gap_y 20

Les 2 derniers attributs absolument le positionnent à l'écran et doivent être modifiés pour votre configuration. Un fichier de configuration complet fonctionnel peut être trouvé ici sur Github.

Edit: D'après les commentaires: Si own_window_type défini sur "dock" ne fonctionne pas bien pour vous, essayez également "override" et "normal".

8

J'ai fait des tonnes de recherches sur ce sujet et il semble qu'il y ait très peu de solutions de contournement et encore moins de solutions efficaces:

  • Vous pouvez définir conky sur un dock ou une fenêtre de panneau.
  • Vous pouvez le définir sur une fenêtre normale et simplement éviter d'utiliser le plugin/keybind de show desktop.
  • J'ai même essayé d'utiliser l'argument -w pour conky pour qu'il attire la fenêtre fictive desktop/PCManFM, mais cela ferait redessiner votre bureau aussi souvent que conky updates = désordre.
  • Si vous ne pouvez pas vivre sans les icônes du bureau, vous pouvez définir conky sur une fenêtre du bureau, puis simplement désactiver PCManFM en tapant pcmanfm --desktop-off sur le terminal.
  • Vous pouvez laisser feh ou un autre programme gérer le bureau

Je n'ai aimé aucune des options ci-dessus. Ainsi, comme Redsandro, la solution de contournement sur laquelle j’ai opté était de conky comme fenêtre normale (skip_pager, skip_taskbar, ci-dessous, non décorée bien sûr) et d’écrire un simple script bash et de créer un fichier .desktop pour pouvoir l’inclure dans mon panneau. pour remplacer le plugin Show Desktop. Il utilise wmctrl vous devrez donc le télécharger. De plus, malheureusement, toutes les fenêtres ne sont pas minimisées, elles sont seulement ombragées Mais pour mes besoins, cela suffit:

#!/bin/bash
var=($(wmctrl -l | grep -o "0x[[:alnum:]]\+"))
for v in ${var[@]}
do wmctrl -i -r $v -b toggle,shaded
done
exit 0
2
Toni

EDIT:

mieux: à partir de 12.04 Précis et toutes les versions ultérieures d'Ubuntu (confirmé jusqu'au 16.04 xenial), vous pouvez obtenir le même résultat. comme devilspie (ci-dessous) avec compiz -> Règles Windows. J'ai utilisé la correspondance de classe là-bas, elle se passe d'explication. Fonctionne également avec mon script Super + Home lié.

Voici ma petite contribution après avoir passé quelques heures avec ceci à ceux qui ne pourraient pas résoudre ce problème (testé avec bunt 16.04):

Solution rapide:

  1. Ajouter une ligne 'own_window_type dock' dans le fichier conkyrc.txt du répertoire respectif dans ~/.conky/(pour ne pas la faire disparaître au clic du bureau)
  2. Installer devilspie
  3. Créez une règle dans devilspie avec le motif 'match' nom_fenêtre 'contient' conky (pas de c - c'est important). En fait, avec le bouton "Get" fourni, vous pouvez utiliser n’importe quel modèle de correspondance qui fonctionne.
  4. en tant qu'actions, sélectionnez 'skip_tasklist', 'nminimize' et si vous souhaitez l'avoir sur tous les espaces de travail, choisissez également 'stick'.
  5. C'est tout.

Ne vérifiez évidemment 'Run devilspie au démarrage'.

effet secondaire: la fenêtre de Conky Manager se comportera de la même manière lorsqu’elle sera ouverte en fonction du motif de correspondance; cela ne devrait toutefois pas poser de problème.

Mon problème était le suivant:

'own_window_type override' a créé le problème suivant: les éléments changeants de la conky ne seraient pas substitués, mais plutôt dessinés au-dessus d'anciennes valeurs - laides et illisibles en quelques secondes.

'own_window_type desktop' n'a tout simplement pas fait l'affaire.

'own_window_type dock' en conjonction avec devilspie a résolu le problème initial, mais ne joue pas à Nice avec this un joli petit script pour ajouter un 'show fenêtre active mais restez actif - touche directe comme Windows Win + Home. EDIT: le dernier a en quelque sorte cessé de travailler .. Je suis dehors: - |

J'espère que j'ai aidé quelqu'un, donne-moi un coup de pouce, je suis nouveau ici ;-)

Mon système: UBUNTU Xenial Xerus 64 bits.

1
Maximo

Le problème de l’utilisation de conky avec LXDE est que PCManFM gère le bureau d’une manière qui ne ressemble à aucun autre. LXDE est essentiellement Openbox avec un bureau superposé par le gestionnaire de fichiers (pcmanfm). Si vous supprimez pcmanfm au profit d’un autre gestionnaire de fichiers, vous n’auriez plus LXDE, vous auriez essentiellement Openbox avec le panneau LXDE. Comment est-ce pertinent? Eh bien, le bureau de LXDE est géré davantage comme une fenêtre par le gestionnaire de fenêtres, ce qui signifie que lorsque vous avez plusieurs fenêtres ouvertes et que vous cliquez sur l’une d’elles, elles sont mises en évidence. C'est exactement ce qui se passe avec Conky. Lorsque vous cliquez sur le bureau, cela place conky beneith sur le bureau, qui est comme je l'ai expliqué, traité plutôt comme une fenêtre. Dans mon cas, voici le correctif:

own_window_class Conky
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below

Désormais, si vous utilisez le plug-in du panneau pour minimiser toutes les fenêtres, cela réduira tout de même conky, mais ce correctif empêche Conky de disparaître dans des circonstances normales.

Ce qui précède n'a pas fonctionné pour moi. Ce qui a bien fonctionné a été de définir "own_window_type" sur "normal" dans /etc/conky/conky.conf.

own_window_type normal

Selon ce fil: http://ubuntuforums.org/showthread.php?t=2039399

1
Grim

La réponse acceptée ne prend pas en compte "Show Desktop".

Vous pouvez utiliser le hack j'ai expliqué dans cette réponse pour afficher conky après que Win+D pour Show Desktop est appuyé:

#!/usr/bin/env bash
zenity --info --text "Remapping Conky..." &
pid=$!
sleep 0.3
kill $pid
xdotool windowmap `xdotool search --classname 'conky'`
1
Redsandro

J'ai fait des tonnes de recherches sur ce sujet et il semble qu'il y ait très peu de solutions de contournement et encore moins qui fonctionnent bien.

  • Vous pouvez définir conky sur un dock ou une fenêtre de panneau.
  • Vous pouvez le définir sur une fenêtre normale et simplement éviter d'utiliser le plugin/keybind de show desktop. J'ai même utilisé l'argument -w pour conky pour qu'il attire la fenêtre fictive desktop/PCManFM, mais cela provoquera une mise à jour de votre bureau aussi souvent que conky updates = désordonné. Si vous n'avez pas d'icônes, vous pouvez simplement désactiver PCManFM en tapant pcmanfm --desktop-off au terminal.

Comme Redsandro , le moyen le plus simple était d'écrire un script bash simple et de créer un fichier .desktop pour pouvoir l'inclure dans mon panneau afin de remplacer le plugin Show Desktop. Il utilise wmctrl, vous devez donc le télécharger. De plus, malheureusement, toutes les fenêtres ne sont pas minimisées, elles ne sont que nuancées. Mais pour mes besoins, cela suffit:

#!/bin/bash
var="($(wmctrl -l | grep -o "0x[[:alnum:]]\+"))"
for v in ${var[@]}
do wmctrl -i -r $v -b toggle,shaded
done
0
Toni

Cela fonctionne dans Lubuntu 14.10

own_window yes
own_window_hints undecorated,below,skip_taskbar
background no
own_window_transparent yes
0
Organic Marble

Pour Lubuntu avec LXDE:

own_window yes
own_window_class Conky
own_window_transparent yes
own_window_type desktop
double_buffer yes

Si la fenêtre de conky disparaît lorsque vous appuyez sur le bouton, réduisez toutes les fenêtres (show desktop), entrez Paramètres-> Applications par défaut pour LXsession-> Applications en cours d'exécution-> Desktop et sélectionnez "feh" à la place de "gestionnaire de fichiers".

Travaille pour moi à Lubuntu 13.10.

0
user220494

J'ai rencontré le même problème dans LXDE en cliquant sur le bouton "Iconify All Windows" de LXPanel masque également la fenêtre de Conky. Je l'ai corrigé avec wmctrl.

Installer wmctrl

Sudo apt install wmctrl

Trouvez le nom de la fenêtre de Conky

wmctrl -l
0x03200001 -1 Host conky (Host)

Pour le ramener courir:

wmctrl -a 'conky (Host)'

J'ai écrit dans Python un script simple qui indique toutes les 50 millisecondes Conky et le met au démarrage de LXDE:

bring_conky_back.py

#!/usr/bin/python

import time, os

while True:
    os.system("wmctrl -a 'conky (Host)'")
    time.sleep(0.05)

Aussi dans . Conkyrc ces lignes pourraient être nécessaires:

own_window = true,
own_window_type = 'normal',

Ça marche génial.

0
alex ivanov

Pour Unity, mon problème a été résolu en utilisant

own_window_type override
0
Gerhard Burger

Définissez background=false dans .conkyrc et assurez-vous de ne pas démarrer automatiquement Conky avec l'indicateur -d. J'ai essayé toutes les autres suggestions que je pouvais trouver, et parfois elles travaillaient et parfois pas, et même si elles travaillaient, ce n'était que pour un petit moment.

Remarque: Si vous réduisez accidentellement toutes les fenêtres, utilisez Super+D pour récupérer Conky.

0
Clint

Linux avec interface graphique Mate/Gnome2 Ubuntish;)

use_xft yes
..............
.........
.....
..........
own_window_type dock

Sera amarré sur l’écran supérieur, désaffectant les actions du bureau.

Mettre en position de réglage:

gap_x ...
gap_y ...  

En fonction de votre résolution.

0
Bartosz Szulu Szulc

Je sais que ce fil est ancien, mais pour quiconque ayant encore des difficultés avec ce problème, je voulais juste ajouter que la réponse de Grims fonctionne pour moi, avec une petite mise en garde.

Dans /etc/conky/conky.conf

own_window_type normal

et dans .conkyrc ou le fichier de thème:

own_window_type desktop
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

Après quelques essais et erreurs, c’était la seule combinaison possible (j’utilise compton pour plus de transparence). Notez qu'il n'y a pas de paramètre "inférieur" dans own_window_hints, car bien que cela fonctionne toujours, cela provoque la disparition de Conky et sa réapparition (scintillement) après quelques secondes lorsque vous affichez le bureau. Du moins, ce fut mon expérience.

HTH

0
Mark Henderson

Vous pouvez essayer d'ajouter un script qui s'exécute le démarrage.

Par exemple:

#!/bin/bash
conky ;

(n'oubliez pas de chmod + x it;)

0
user981916