Wie Sie conky dazu bringen, auf dem Desktop zu bleiben


15

Ich habe ein Conky-Setup, das ich auf einer Reihe von Desktops verwendet habe (hier ist der Conkyrc ). Es funktioniert gut in Ubuntu Unity, XFCE, Gnome und Openbox, aber nicht in Lubuntu (LXDE). Das Problem ist, dass ich es nicht dazu bringen kann, zuverlässig auf dem Lubuntu LXDE-Desktop zu bleiben . Entweder verschwindet das conky-Fenster, wenn ich auf den Desktop klicke oder wenn ich alle Fenster minimiere (Desktop anzeigen).

Ich habe alle Variationen in der Konfigurationsdatei für "own_window", "own_window_colour", "own_window_transparent" und "own_window_type" ausprobiert und einiges gegoogelt, um dies zu beheben. Wenn die conkyrc-Datei bearbeitet und own_window_type auf "normal" gesetzt wird, verschwindet conky, wenn ich alle Fenster minimiere. Wenn ich es auf "desktop" stelle, verschwindet es, wenn ich irgendwo auf den Desktop klicke. Wenn ich "override" benutze, wird es überhaupt nicht angezeigt. Und die anderen Optionen funktionieren aus offensichtlichen Gründen nicht gut.

Bei einer anderen Ubuntu Unity-Installation hatte ich ein ähnliches Problem, konnte es jedoch umgehen, indem ich den Compiz Config Settings Manager verwendete, um mein conky-Fenster zu ignorieren. Auf meinem Netbook Lubuntu installiere ich kein Compiz.

Wie kann ich conky dazu bringen, auf meinem Desktop zu bleiben?


1
Conky scheint nicht gut mit Openbox zu spielen.
Uri Herrera

Hast du den "Panel" -Modus ausprobiert? Übrigens habe ich auch ähnliche Probleme mit conky unter Unity; Können Sie mir bitte sagen, wie Sie den Compiz Config Settings Manager verwendet haben, um conky window zu ignorieren?
Sadi

1
Sadi: Die folgende Conky-Einstellung sollte normalerweise für Unity funktionieren: own_window yes own_window_transparent yes own_window_type normal own_window_hints undecorated,below,sticky,skip_taskbar,skip_pagerWenn Sie Probleme mit Compiz (und seltsamen Schatten) haben, verwenden Sie den Compiz Config-Einstellungsmanager, um Folgendes festzulegen: * Setzen Sie im Bereich "Fensterdekoration" das Feld "Schattenfenster" auf any & !(name=Conky) Beachten Sie, dass der Bedienfeldmodus Conky wie ein Bedienfeld verhalten soll. Dies bedeutet, dass normalerweise Fenster es nicht verdecken und es nur an der Seite Ihres Bildschirms angedockt werden sollte. Das wollte ich nicht.
Aspersieman

Antworten:


20

Scheint, als würde es manchmal nicht ausreichen, den Fenstertyp auf Desktop zu setzen.

Versuchen:

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

Habe es von hier .

Funktioniert bei mir in XFCE. Ich vermute, es wird auch für lxde / openbox in Ordnung sein.


5
Wie wird diese Antwort akzeptiert? Wenn Sie in LXDE auf den Desktop klicken, verschwindet Conky.
Redsandro

Ich habe auch keine Ahnung warum das so ist. Die Frage (jedoch nicht der Titel) besagt ausdrücklich, dass das Problem NUR in LXDE vorhanden ist, und der Autor bittet um Hilfe bei der Lösung dieses bestimmten Problems. Die als "Antwort" gekennzeichnete Antwort beantwortet die Frage nicht. Ich bin hier gelandet, als ich nach einer Antwort auf genau das gleiche Problem gesucht habe, aber mit Debian (letzter Stable), auf dem LXDE läuft.
Rbaleksandar

das hilft nicht. es verschwindet immer wieder
nazar_art

Für einfache Ubuntu mit Unity own_window_type overridefunktioniert gut
MInner

2
Nein, das tut es nicht. Für mich sowieso nicht. Es stoppt die verschwindenden Widgets, aber dann stimmt etwas nicht mit der Bildschirmaktualisierung für die Zeichen, die gezeichnet werden. Sie verschwimmen nach einer Weile und man merkt es daran, dass Zeichen Zeichen überlagern.
user447607

8

Diese Konfiguration funktioniert auf Gnome und Cinnamon und ist der Weg, dies zu tun.

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

Die letzten beiden Attribute positionieren sie unbedingt auf dem Bildschirm und müssen für Ihre Konfiguration geändert werden. Eine funktionierende vollständige Konfigurationsdatei finden Sie hier auf Github .

Bearbeiten: Aus den Kommentaren: Wenn own_window_type auf "dock" eingestellt ist und für Sie nicht gut funktioniert, versuchen Sie es mit "override" und "normal".


own_window_type dockist nicht immer optimal, da das conky-Fenster wie ein Dock behandelt wird.
Aspersieman

1
@aspersieman Ich habe bisher nichts anderes damit gefunden. Dies ist die einzige Einstellung, die verhindert, dass sie beim Klicken auf den Desktop oder das Symbol deaktiviert wird super+windows+D.
Anirudh Ramanathan

Versuchen Sie own_window_type override, die Einstellung in Compiz Config Settings Manager zu ändern, die ich oben für Sadi beschrieben habe.
Aspersieman

dockfür mich macht es einen dauerhaften Teil meines Bildschirms, wie Panel, dh Vollbild-Fenster können es nicht abdecken
Karthik T

2

Ich habe selbst jede Menge Nachforschungen angestellt und es scheint, dass es nur sehr wenige Problemumgehungen gibt und noch weniger, die gut funktionieren:

  • Sie könnten conky auf ein Dock oder Panel-Fenster einstellen.
  • Sie können ein normales Fenster festlegen und einfach die Verwendung des Plugins / der Tastaturbindung für die Anzeige des Desktops vermeiden.
  • Ich habe sogar versucht, das Argument -w für conky zu verwenden, damit es in das gefälschte Desktop- / PCManFM-Fenster gezeichnet wird, aber dadurch wird Ihr Desktop so oft neu gezeichnet, wie conky updates = chaotisch.
  • Wenn Sie ohne Desktopsymbole leben können, können Sie conky auf ein Desktop-Fenster einstellen und PCManFM dann einfach durch Eingabe pcmanfm --desktop-offam Terminal ausschalten .
  • Sie könnten feh oder ein anderes Programm den Desktop verwalten lassen

Ich mochte keine der oben genannten Optionen. Wie bei Redsandro bestand die Problemumgehung darin, conky als normales Fenster zu haben (skip_pager, skip_taskbar unten, natürlich ohne Dekoration) und ein einfaches Bash-Skript zu schreiben und eine .desktop-Datei dafür zu erstellen, damit ich sie in mein Panel aufnehmen konnte um das Show Desktop Plugin zu ersetzen. Es verwendet wmctrl, sodass Sie es herunterladen müssen. Auch werden leider nicht alle Fenster verkleinert, sondern nur beschattet. Aber für meine Bedürfnisse reicht es aus:

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

Das Erstellen eines Startskripts mit der ersten Aktion pcmanfm --desktop-offund dem anschließenden Starten hat conkyes für mich gelöst. Ich kann ohne die Desktop-Funktionen von pcmanfm leben :) Danke!
codeman48

1

Das oben genannte hat bei mir nicht funktioniert. Was funktionierte, war, den "own_window_type" in /etc/conky/conky.conf auf "normal" zu setzen.

own_window_type normal

Bezüglich dieses Threads: http://ubuntuforums.org/showthread.php?t=2039399


Ich brauchte auch "own_window_hints undecorated, unten, sticky, skip_taskbar, skip_pager" auf LXDE.
Motiejus Jakštys

Dies führt dazu, dass der Fall "Alle Fenster minimieren (Desktop anzeigen)" wie im OP angezeigt wird, auch wenn die Zeile von @ MotiejusJakštys
Karthik T am

1

Die akzeptierte Antwort berücksichtigt nicht "Show Desktop".

Sie können den in dieser Antwort erläuterten Hack verwenden , um anzuzeigen, dass conky after Win+Dfor Show Desktopgedrückt ist:

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

1

Das Problem bei der Verwendung von conky mit LXDE ist, dass PCManFM den Desktop auf eine Weise behandelt, die mit keinem anderen Desktop vergleichbar ist. LXDE ist im Wesentlichen Openbox mit einem Desktop, der vom Dateimanager (pcmanfm) überlagert wird. Wenn Sie pcmanfm zugunsten eines anderen Dateimanagers entfernt hätten, hätten Sie LXDE nicht mehr, Sie hätten im Wesentlichen Openbox mit dem LXDE-Bedienfeld. Wie ist das relevant? Nun, der Desktop von LXDE wird vom Fenstermanager eher wie ein Fenster behandelt. Das heißt, wenn Sie mehrere Fenster geöffnet haben und auf eines davon klicken, wird es in den Fokus gerückt. Genau das passiert mit Conky. Wenn Sie auf den Desktop klicken, wird der Desktop so platziert, dass er wie ein Fenster behandelt wird. In meinem Fall ist dies der Fix:

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

Wenn Sie das Bedienfeld-Plug-in verwenden, um alle Fenster zu minimieren, wird der Conky-Effekt weiterhin minimiert, aber dieser Fix verhindert, dass der Conky-Effekt unter normalen Umständen verschwindet.


1

BEARBEITEN:

besser: ab 12.04 Precise und allen späteren Versionen von Ubuntu (bestätigt bis 16.04 xenial) können Sie mit compiz -> Windows Rules dasselbe wie mit devilspie (unten) erreichen . Ich habe das Klassenkampfspiel dort benutzt, es ist selbsterklärend. Funktioniert auch mit meinem Super + Home-Skript.

Hier ist mein kleiner Beitrag, nachdem ich ein paar Stunden damit verschwendet habe, für alle, die es mit all dem oben Genannten nicht klären konnten (getestet mit Ubuntu 16.04):

Schnelle Lösung :

  1. Fügen Sie eine ‚own_window_type andocken ‘ Linie in der conkyrc.txt in dem entsprechenden Verzeichnis in ~ / .conky / (nicht hat sie verschwinden auf Desktop-Klick)
  2. Installiere devilspie
  3. Erstellen Sie in devilspie eine Regel mit dem Muster 'match'. Window_name 'enthält' conky (keine Groß- / Kleinschreibung ). Tatsächlich können Sie mit dem dort bereitgestellten "Get" -Button jedes passende Muster verwenden, das funktioniert.
  4. Wählen Sie als Aktionen ' skip_tasklist ', ' unminimize ' und, wenn Sie es auf allen Arbeitsbereichen haben möchten, auch ' stick '.
  5. Das ist es.

Aktivieren Sie das Kontrollkästchen "Devilspie beim Start ausführen".

Nebeneffekt: Das Conky Manager-Fenster verhält sich beim Öffnen je nach Spielmuster ähnlich, sollte aber kein Problem sein.

Mein Problem war folgendes:

'own_window_type override ' verursachte das Problem, dass die sich ändernden Elemente des Conky nicht ersetzt, sondern auf ältere Werte gesetzt wurden - hässlich und auch innerhalb von Sekunden unleserlich.

'own_window_type desktop ' hat es einfach nicht geschafft.

'own_window_type dock ' in Verbindung mit devilspie löste das ursprüngliche Problem, würde aber nicht gut mit diesem kleinen Skript spielen, um einen 'Desktop anzeigen, aber aktives Fenster bleiben' hinzuzufügen - Tastenkürzel wie Windows Win + Home. EDIT: die zuletzt genannten irgendwie funktioniert nicht mehr .. Ich bin raus: - |

Hoffe ich habe jemandem geholfen, gib mir einen Daumen hoch, ich bin neu hier ;-)

Mein System: UBUNTU Xenial Xerus 64 Bit.


0

Sie können versuchen, ein Skript hinzuzufügen, das beim Start ausgeführt wird .

Beispielsweise:

#!/bin/bash
conky ;

(Vergiss nicht, chmod + x es;)


Danke für deine Antwort. Leider habe ich das schon ausprobiert und es ändert nichts. Ich habe sogar versucht, es für ein paar Sekunden zum Schlafen zu bringen. Irgendwelche anderen Vorschläge?
Aspersieman

Entschuldigung, Alter, kein anderer Vorschlag. Ich habe meine auf diese Weise gelöst, aber wenn ich mich richtig erinnere, habe ich Gnome benutzt.
User981916

Keine Bange. Vielen Dank für Ihre Hilfe.
Aspersieman

0

Für Unity wurde mein Problem mit gelöst

own_window_type override

Richtig! Auf diese Weise können Sie die Widgets auf dem Desktop belassen, wenn auf den Desktop geklickt wird oder wenn versucht wird, den Desktop anzuzeigen (Strg + Super + D). JEDOCH nach dem Erscheinen des Desktops sehe ich jetzt Duplikate meiner Conky-Widgets, bei denen das alte einen festen Zeitstempel hat und das neue Overlay sich ändernde Zeitstempel hat. Mit anderen Worten, es ist ein vielschichtiges Durcheinander! Vergesse ich, noch etwas hinzuzufügen?
Brad Horn

0

Für Lubuntu mit LXDE:

own_window yes
own_window_class Conky
own_window_transparent yes
own_window_type desktop
double_buffer yes

Wenn das conky-Fenster verschwindet, wenn die Taste gedrückt wird, alle Fenster minimieren (Desktop anzeigen ), gehen Sie in Einstellungen-> Standardanwendungen für LXsession-> Ausführen von Anwendungen-> Desktop und wählen Sie "feh" statt "Dateimanager".

Arbeite für mich in Lubuntu 13.10.


0

Ich habe selbst Unmengen an Nachforschungen angestellt und es scheint, dass es nur sehr wenige Problemumgehungen gibt und noch weniger, die gut funktionieren.

  • Sie könnten conky auf ein Dock oder Panel-Fenster einstellen.
  • Sie können ein normales Fenster festlegen und einfach die Verwendung des Plugins / der Tastaturbindung für die Anzeige des Desktops vermeiden. Ich habe sogar das Argument -w für conky verwendet, um es in das gefälschte Desktop- / PCManFM-Fenster zu ziehen, aber das führt dazu, dass Ihr Desktop so oft neu gezeichnet wird, wie conky updates = chaotisch. Wenn es Ihnen nichts ausmacht, keine Symbole zu haben, können Sie PCManFM einfach deaktivieren, indem Sie pcmanfm --desktop-offam Terminal tippen .

Wie bei Redsandro bestand der Weg dahin darin, ein einfaches Bash-Skript zu schreiben und eine .desktop-Datei dafür zu erstellen, damit ich in meinem Panel den Platz des Show Desktop-Plugins einnehmen konnte. Es verwendet wmctrl, sodass Sie es herunterladen müssen. Auch werden leider nicht alle Fenster verkleinert, sondern nur beschattet. Aber für meine Bedürfnisse reicht es aus:

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

0

Dies funktioniert in Lubuntu 14.10

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

0

Ich weiß, dass dieser Thread alt ist, aber für alle anderen, die noch mit diesem Thema zu kämpfen haben, wollte ich nur hinzufügen, dass die Antwort von grims für mich funktioniert, mit einer kleinen Einschränkung.

In /etc/conky/conky.conf

own_window_type normal

und in .conkyrc oder der Themendatei:

own_window_type desktop
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

Nach einigem Ausprobieren war dies die einzige Kombination, mit der ich arbeiten konnte (ich verwende compton für Transparenz). Beachten Sie, dass es in own_window_hints keine "below" -Einstellung gibt, da dies immer noch dazu führt, dass Conky verschwindet und beim Anzeigen des Desktops nach einigen Sekunden wieder angezeigt wird (flackert). Zumindest war das meine Erfahrung.

HTH


0

Linux mit Mate / Gnome2 GUI Ubuntish;)

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

Dockt auf dem oberen Bildschirm an und wirkt sich nicht auf Desktop-Aktionen aus.

Position einstellen:

gap_x ...
gap_y ...  

Abhängig von Ihrer Auflösung.


0

Stellen Sie background=falsein .conkyrcund sicher sein , dass Sie nicht Autostart Conky mit der -dFlagge. Ich versuchte jeden anderen Vorschlag, den ich finden konnte, und manchmal arbeiteten sie und manchmal nicht, und selbst wenn sie arbeiteten, war es nur für eine kurze Zeit.

Hinweis: Wenn Sie versehentlich alle Fenster minimieren, verwenden SieSuper+D, um Conky zurückzugewinnen.


0

Ich hatte das gleiche Problem in LXDE, als ich auf LXPanels "Iconify All Windows" klickte, um auch das Conky-Fenster auszublenden. Ich habe es mit wmctrl behoben .

Installieren Sie wmctrl

sudo apt install wmctrl

Suchen Sie den Namen des Conky-Fensters

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

So bringen Sie es zurück:

wmctrl -a 'conky (Host)'

Ich habe in Python ein einfaches Skript geschrieben, das Conky alle 50 Millisekunden ausblendet und beim Start von LXDE hinzufügt:

bring_conky_back.py

#!/usr/bin/python

import time, os

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

Auch in .conkyrc könnten diese Zeilen benötigt werden:

own_window = true,
own_window_type = 'normal',

Es funktioniert super.


-1

Meine Lösung für dieses Problem besteht darin, diese beiden Zeilen in Ihr Bash-Skript einzufügen

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


Die Frage beinhaltet 3 verschiedene Probleme: 1) conky verschwindet, wenn der Desktop im "Desktop" -Modus angeklickt wird, 2) wenn alle Fenster im "normalen" und "conky" -Modus minimiert sind (mit dem Befehl "Show Desktop"), 3) conky wird nicht angezeigt im "Override" -Modus ... Welches Problem löst das? Was macht es wirklich?
Sadi

-1

In Unity nichts ändern, einfach Terminal einfügen:

gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hide-skip-taskbar-windows false
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.