Comment obtenir conky de rester sur le bureau


15

J'ai une configuration conky que j'ai utilisée sur un certain nombre de bureaux (voici le conkyrc ). Cela fonctionne 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 conky disparaît si je clique sur le bureau ou si je minimise toutes les fenêtres (afficher le bureau).

J'ai essayé toutes les variantes dans le fichier de configuration pour "own_window", "own_window_colour", "own_window_transparent" et "own_window_type" et j'ai googlé pas mal pour résoudre ce problème. S'il modifie le fichier conkyrc et définit le own_window_type sur "normal", conky disparaît si je minimise toutes les fenêtres. Si je le mets sur "bureau", il disparaît si je clique n'importe où sur le bureau. Si j'utilise "override", il 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 résolu en utilisant Compiz Config Settings Manager pour ignorer ma fenêtre conky. Sur mon netbook Lubuntu, je n'ai pas installé compiz.

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


1
Conky ne semble pas bien jouer avec Openbox.
Uri Herrera

Avez-vous essayé le mode "panneau"? .. BTW J'ai également des problèmes similaires avec conky sous Unity; pouvez-vous s'il vous plaît me dire comment vous avez utilisé le Gestionnaire de paramètres Compiz Config pour ignorer la fenêtre conky?
Sadi

1
Sadi: Le paramètre conky suivant devrait normalement fonctionner pour Unity: own_window yes own_window_transparent yes own_window_type normal own_window_hints undecorated,below,sticky,skip_taskbar,skip_pagerSi vous avez des problèmes avec compiz (et des ombres étranges), utilisez le gestionnaire de paramètres de Compiz Config pour définir les éléments suivants: * Sous la zone "Décoration de fenêtre", définissez le champ "Fenêtres d'ombre" sur any & !(name=Conky) Notez que le mode panneau est conçu pour permettre à conky de se comporter comme un panneau. Cela signifie que normalement les fenêtres ne le couvriront pas et qu'il ne devrait être ancré que sur le côté de votre écran. Ce n'est pas ce que je voulais.
aspersieman

Réponses:


20

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

Essayer:

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

Je l'ai d' ici .

Fonctionne pour moi dans XFCE. Je suppose que ce sera bien aussi pour lxde / openbox.


5
Comment cette réponse est-elle acceptée? Dans LXDE, cliquer sur le bureau fait disparaître conky.
Redsandro

Je ne sais pas non plus pourquoi. La question (mais pas son titre) indique explicitement que le problème est présent UNIQUEMENT dans LXDE et l'auteur demande de l'aide pour résoudre ce problème particulier. La réponse marquée "Réponse" ne répond pas à la question. J'ai atterri ici alors que je cherchais une réponse au même problème, mais avec Debian (dernière version stable), exécutant LXDE.
rbaleksandar

cela n'aide pas. il continue de disparaître
nazar_art

Pour Ubuntu simple avec Unity own_window_type overridefonctionne très bien
MInner

2
Non, non. Pas pour moi de toute façon. Cela arrête la disparition des widgets mais il y a quelque chose de mal avec l'actualisation de l'écran pour les personnages qui sont dessinés. Ils deviennent flous après un certain temps, puis vous pouvez dire que c'est parce qu'il y a des personnages qui se superposent.
user447607

8

Cette config fonctionne, sur Gnome et Cinnamon et est 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 le positionnent absolument à l'écran et doivent être modifiés pour votre configuration. Un fichier de configuration complet et 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 de "remplacer" et "normal".


own_window_type dockn'est pas toujours optimal car la fenêtre conky sera traitée comme un dock.
aspersieman

1
@aspersieman Je n'ai rien trouvé de différent jusqu'ici. C'est le seul paramètre qui l'a empêché de s'éteindre lorsque vous cliquez sur le bureau ou super+windows+D.
Anirudh Ramanathan

Essayez de own_window_type overridemodifier le paramètre dans le Gestionnaire de paramètres de configuration Compiz que j'ai décrit à Sadi ci-dessus.
aspersieman

dockpour moi, il en fait une partie permanente de mon écran, comme le panneau, c'est-à-dire que les fenêtres en plein écran ne peuvent pas le couvrir
Karthik T

2

J'ai moi-même fait des tonnes de recherches à 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 une fenêtre de dock ou de panneau.
  • Vous pouvez le définir sur une fenêtre normale et éviter simplement d'utiliser le plugin / keybind show desktop.
  • J'ai même essayé d'utiliser l'argument -w pour conky pour l'amener à dessiner sur la fausse fenêtre de bureau / PCManFM, mais cela entraînera le redessin de votre bureau aussi souvent que conky updates = messy.
  • Si vous pouvez vivre sans icônes de bureau, vous pouvez définir conky sur une fenêtre de bureau, puis désactiver simplement PCManFM en tapant pcmanfm --desktop-offsur le terminal.
  • Vous pouvez laisser feh ou un autre programme gérer le bureau

Je n'ai aimé aucune des options ci-dessus. Donc, comme Redsandro, la solution de contournement sur laquelle j'ai opté était d'avoir conky comme fenêtre normale (skip_pager, skip_taskbar, ci-dessous, non décoré bien sûr) et d'écrire un script bash simple et de créer un fichier .desktop pour que je puisse l'inclure dans mon panneau pour remplacer le plugin Show Desktop. Il utilise wmctrl , vous devez donc le télécharger. De plus, il ne réduit malheureusement pas toutes les fenêtres, il ne fait que les masquer. Mais pour mes besoins, il 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

La création d'un script de démarrage avec la première action pcmanfm --desktop-offpuis le lancement l'a conkyrésolu pour moi. Je peux vivre sans les fonctionnalités du bureau de pcmanfm :) Merci!
codeman48

1

Ce qui précède n'a pas fonctionné pour moi. Ce qui a fonctionné, c'est 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


J'avais aussi besoin de "own_window_hints non décoré, ci-dessous, collant, skip_taskbar, skip_pager` sur LXDE.
Motiejus Jakštys

Cela provoque le cas "minimiser toutes les fenêtres (afficher le bureau)" comme dans l'OP, même avec l'ajout de la ligne de @ MotiejusJakštys
Karthik T

1

La réponse acceptée ne prend pas en compte "Afficher le bureau".

Vous pouvez utiliser le hack que j'ai expliqué dans cette réponse pour montrer conky après Win+Davoir Show Desktopappuyé sur:

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

1

Le problème avec l'utilisation de conky avec LXDE est que PCManFM gère le bureau d'une manière différente de tout autre bureau. 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. En quoi est-ce pertinent? Eh bien, le bureau de LXDE est traité plus 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'entre elles, cela la met en évidence. C'est exactement ce qui se passe avec Conky. Lorsque vous cliquez sur le bureau, il place conky beneith le bureau, qui est, comme je l'ai expliqué, géré plus comme une fenêtre. Dans mon cas, c'est 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

Maintenant, si vous utilisez le plugin de panneau pour minimiser toutes les fenêtres, il minimisera toujours conky, mais ce correctif empêche conky de disparaître dans des circonstances normales.


1

ÉDITER:

mieux: à partir de 12.04 Precise et toutes les versions ultérieures d'Ubuntu (confirmées jusqu'au 16.04 xenial), vous pouvez obtenir la même chose que devilspie (ci-dessous) avec compiz -> Windows Rules. J'ai utilisé le match de classe là-bas, son auto-explicatif. Fonctionne également avec mon script Super + Home lié.

Voici ma petite contribution après avoir gaspillé quelques heures avec cela pour quiconque ne pourrait pas le trier avec tout ce qui précède (testé avec Ubuntu 16.04):

Solution rapide :

  1. Ajoutez une ligne 'own_window_type dock ' dans le conkyrc.txt dans le répertoire respectif dans ~ / .conky / (pour ne pas la faire disparaître lors du clic sur le bureau)
  2. Installer devilspie
  3. Créez une règle dans devilspie avec le motif 'match' window_name 'contient' conky (pas de majuscule c - c'est important). En fait, avec le bouton "Get" fourni, vous pouvez utiliser n'importe quel modèle de correspondance qui fonctionne.
  4. comme actions, sélectionnez ' skip_tasklist ', ' unminimize ' et si vous voulez l'avoir sur tous les espaces de travail, aussi ' stick '.
  5. C'est ça.

Cochez bien évidemment «Exécuter devilspie au démarrage».

effet secondaire: la fenêtre de Conky Manager se comportera de manière similaire lorsqu'elle sera ouverte en fonction du modèle de correspondance, cela ne devrait cependant pas poser de problème.

Mon problème était le suivant:

' override own_window_type ' a créé le problème que les éléments changeants du conky ne se substitueraient pas mais seraient plutôt dessinés sur des valeurs plus anciennes - laids et aussi illisibles en quelques secondes.

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

'own_window_type dock ' en conjonction avec devilspie a résolu le problème d'origine, mais ne jouerait pas bien avec cela petit script astucieux pour ajouter un 'afficher le bureau mais garder la fenêtre active ouverte' - touche de raccourci comme Windows Win + Home. EDIT: le dernier mentionné en quelque sorte cessé de fonctionner .. Je suis sorti: - |

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

Mon système: UBUNTU Xenial Xerus 64 bits.


0

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

Par exemple:

#!/bin/bash
conky ;

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


Merci pour votre réponse. Malheureusement, j'ai déjà essayé cela et cela ne change rien. J'ai même essayé de le faire dormir quelques secondes. D'autres suggestions?
aspersieman

désolé mec aucune autre suggestion. j'ai résolu le mien de cette façon, mais si je me souviens bien, j'utilisais gnome.
user981916

Pas de soucis. Merci quand même pour vôtre aide.
aspersieman

0

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

own_window_type override

Correct! Cela vous permet de conserver les widgets sur le bureau lorsque vous cliquez sur le bureau ou que le bureau d'affichage (Ctrl + Super + D) est essayé. TOUTEFOIS, après le show desktop, je vois que j'ai maintenant des doublons de mes widgets conky où l'ancien a un horodatage fixe et la nouvelle superposition a des horodatages changeants. En d'autres termes, c'est un gâchis en couches! Suis-je en train d’oublier d’ajouter autre chose?
Brad Horn

0

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 conky disparaît lorsque vous appuyez sur le bouton, minimisez toutes les fenêtres (afficher le bureau), allez dans Paramètres-> Applications par défaut pour LXsession-> Exécution d'applications-> Bureau et sélectionnez "feh" au lieu de "gestionnaire de fichiers"

Travaille pour moi à Lubuntu 13.10.


0

J'ai moi-même fait des tonnes de recherches à 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 une fenêtre de dock ou de panneau.
  • Vous pouvez le définir sur une fenêtre normale et éviter simplement d'utiliser le plugin / keybind show desktop. J'ai même utilisé l'argument -w pour conky pour le faire dessiner dans la fausse fenêtre de bureau / PCManFM, mais cela entraînera le redessin de votre bureau aussi souvent que conky updates = messy. Si cela ne vous dérange pas de ne pas avoir d'icônes, vous pouvez simplement désactiver PCManFM en tapant pcmanfm --desktop-offsur le terminal.

Comme Redsandro , le moyen de contourner cela était d'écrire un simple script bash et de créer un fichier .desktop pour que je puisse l'inclure dans mon panneau pour prendre la place du plugin Show Desktop. Il utilise wmctrl, vous devez donc le télécharger. De plus, il ne réduit malheureusement pas toutes les fenêtres, il ne fait que les masquer. Mais pour mes besoins, il suffit:

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

0

Cela fonctionne dans Lubuntu 14.10

own_window yes
own_window_hints undecorated,below,skip_taskbar
background no
own_window_transparent yes

0

Je sais que ce fil est ancien, mais pour toute autre personne aux prises 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 en .conkyrc ou dans 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 que je pouvais mettre au travail (j'utilise compton pour la transparence). Remarque, il n'y a pas de paramètre "ci-dessous" dans own_window_hints, car même si cela fonctionne, il fait disparaître et réapparaître (scintillement) conky après quelques secondes lors de l'affichage du bureau. Du moins, ce fut mon expérience.

HTH


0

Linux avec Mate / Gnome2 GUI Ubuntish;)

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

S'ancre sur l'écran supérieur, désaffectant toutes les actions du bureau.

Mettre en position:

gap_x ...
gap_y ...  

Selon votre résolution.


0

Définir background=falsedans .conkyrcet assurez - vous n'êtes pas autostarting Conky avec le -ddrapeau. J'ai essayé toutes les autres suggestions que je pouvais trouver, et parfois elles fonctionnaient et parfois non, et même si elles fonctionnaient, ce n'était que pour un petit moment.

Remarque: si vous réduisez accidentellement toutes les fenêtres, utilisezSuper+Dpour récupérer Conky.


0

J'ai rencontré le même problème dans LXDE lorsque je clique sur "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 en Python un script simple qui toutes les 50 millisecondes affiche 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 en .conkyrc ces lignes peuvent être nécessaires:

own_window = true,
own_window_type = 'normal',

Cela fonctionne très bien.


-1

Ma solution à ce problème consiste à ajouter ces deux lignes dans votre script bash

conky -c /home/ajay/.conkycolors/conkyrc >/dev/null 2>&1 &
conky -c /home/ajay/.conkycolors/conkyrc >/dev/null 2>&1 &


La question comprend 3 problèmes différents: 1) conky disparaissant lorsque le bureau est cliqué en mode "bureau", 2) même lorsque toutes les fenêtres sont réduites (en utilisant la commande Afficher le bureau) en modes "normal" et "conky", 3) conky non affiché en mode "override" ... Quel problème cela résout-il? Que fait-il vraiment?
Sadi

-1

Dans Unity ne change rien, il suffit de coller dans le terminal:

gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hide-skip-taskbar-windows false
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.