seltsames conky Hintergrundverhalten

9

Ich habe einen benutzerdefinierten Conky erstellt , der Wettervorhersagen in 3 Städten wie diesen zeigt: conky Fenstertyp override1

Aber vor kurzem habe ich angefangen, ein seltsames Verhalten zu sehen. Nach einigen Sekunden erscheint ein etwas größerer weißer Hintergrund darunter: conky Fenstertyp override2

Ich habe versucht, dies zu überwinden, indem ich eine Reihe von Änderungen in der Konfigurationsdatei .conkyrc vorgenommen habe. Die einzige wirksame Änderung bestand darin, den Wert für own_window_type von override auf normal zu ändern . Aber dann verschwindet nicht nur dieser Conky , wenn ich alle Fenster minimiere, sondern es wird auch ein transparenter Hintergrund mit der gleichen Größe angezeigt :

conky Fenstertyp normal

Meine Conky-Fenstereinstellungen sind wie folgt:

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

Hintergrund ja
own_window ja
own_window_type überschreiben
own_window_transparent ja
own_window_hints undecorated, unten, sticky, skip_taskbar, skip_pager
Minimum_size 300 480
maximale_Breite 300
Ausrichtung 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 ja
use_xft ja
xftfont Ubuntu: Größe = 10
xftalpha 1.0
Großbuchstaben Nr
Temperatureinheit 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

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

Kann jemand sagen, was diese unerwünschte Leinwand unter meinem Fenster verursachen könnte (und wie kann ich sie überwinden)?

Sadi
quelle

Antworten:

8

EIN):

Ihre .conkyrc Staaten own_window yes. Dies bedeutet, dass conky ein eigenes Fenster hat. Durch die Angabe wird own_window_type normaldas Fenster angewiesen, "normal" zu handeln. Somit wird das Conky-Fenster sowie jedes andere Fenster minimiert, wenn die Option "Desktop anzeigen" verwendet wird.

B):

Was Conky an seiner Stelle halten würde, ändert sich own_window_type normalzu own_window_type dock. Der Nachteil dieser Methode besteht darin, dass Conky mithilfe von Lücke x und Lücke y wieder an der richtigen Stelle auf Ihrem Desktop platziert werden muss. Die Lücke x wird jetzt von der linken Seite der Desktop-Kante anstelle der rechten Seite gezählt. Die Lücke wird immer noch von oben gezählt. Angenommen, Ihre Bildschirmauflösung beträgt 1440 x 900 und die Lücke x betrug früher 2 und das Conky-Maximum 300. Die neue Lücke x wäre 1440-300-2 = 1138

C):

Um sichtbare Dockränder vollständig zu verlieren, ändern Sie außerdem die Linie own_window_transparent yesmit den Linien: own_window_argb_visual yesund own_window_argb_value 0. Wenn own_window_argb_valueauf 255das Conky-Fenster eingestellt ist, hat es keine Transparenz und ist schwarz.

Für weitere Konfigurationseinstellungen:

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

Jeroen
quelle
Danke, aber ... 1) Ihr Vorschlag bezüglich: Transparenz entfernt auch mein Hintergrundbild und Wettersymbole werden weiß. 2) Ich werde own_window_type erneut betrachten, obwohl es auch einen Nachteil bei der Positionierung hat, wenn Sie die Monitore wechseln, denke ich.
Sadi
Ok, eine andere Lösung: Ignorieren Sie C. Unter B): Bearbeiten Sie die Codezeile own_window_type desktopund versuchen Sie es. Ich habe keine Lösung für die weißen Symbole. Conky muss die meiste Zeit ein bisschen herumspielen, z. B. lässt die Verwendung Ihres Codes keine Bilder auf meiner Box verschwinden. Durch das Wechseln des Monitors wird die Conky-Position immer geändert, es sei denn, die Auflösung ändert sich nicht.
Jeroen
Bevor ich hier gefragt habe, habe ich Conky-Handbücher wie den obigen Link studiert und verschiedene "window_type" -Optionen mit folgenden Ergebnissen ausprobiert: conky (minimierbar), Desktop (verschwindet vollständig, wenn auf den Desktop geklickt wird und nicht zurückgebracht werden kann), Dock (Standardposition oben links) , nicht minimierbar), normal (minimierbar), überschreiben (Standardposition oben rechts, nicht minimierbar, von Zeit zu Zeit weißer Hintergrund), Bedienfeld (was zu ernsthaften Problemen mit der Einheit führt). Unter all diesen scheint DOCK momentan die bestmögliche Lösung zu sein (da ich zum Glück die Speicherbreite habe, wenn ich die Monitore wechsle).
Sadi
Obwohl dies das sekundäre Problem der Minimierung löst , bleibt die Frage leider immer noch offen, da ich immer noch diesen unerklärlichen Hintergrund habe. Es ist seltsam, dass ich diesen weißen Hintergrund bis vor kurzem nicht im "Override" -Modus hatte , und es ist auch seltsam, dass der halbtransparente Hintergrund in anderen Modi wie "Dock" am Anfang nicht vorhanden war, sondern auftauchte, als ich weitere Städte hinzufügte zum ursprünglichen Code. Wahrscheinlich werde ich nie wissen, was das verursacht ;-)
Sadi
Ähm, noch etwas ... :-): Conky verwendet "Pseudo" -Transparenz, kein wirklich "transparentes" Fenster. Es liest den Hintergrund des Stammfensters und ändert seinen eigenen Hintergrund in den Abschnitt des gefundenen Bildes. Einige Fenster- oder Desktop-Manager platzieren ihren Hintergrund auf einer Ebene über dem Stammfenster. Um dies zu beheben, können Sie eine Anwendung wie "fbsetbg" verwenden, die in Fluxbox ( Fluxbox.org ) oder "Feh" ( linuxbrit.co.uk/feh ) enthalten ist. Verwenden Sie "feh" aus Ihrem ~ / .xinitrc: #!/bin/shnächste Zeile: sleep 1 && feh --bg-center ~/background.png &oderfbsetbg -f /path/to/picture.jpg
jeroen
3

Ich habe hier eine Lösung für den unerwünschten Schatten gefunden: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky

  1. Starten Sie den CompizConfig-Einstellungsmanager
  2. Wählen Sie Effekte > Fensterdekoration
  3. Gehen Sie in Schatten Fenster Feld und nach dem Wert jeder Add &! (Class = Conky) diese Regel auf alle Fenster mit Ausnahme Conky anwenden

Dies ist in der Tat eher eine Problemumgehung als eine Lösung, denn warum Conky ein größeres Fenster als nötig zeichnet, bleibt mir immer noch ein Rätsel ;-)

  • Hinweis: Wahrscheinlich erfordert dies auch das Hinzufügen dieser Zeile zur Conky-Konfigurationsdatei: own_window_class Conky

  • Hinweis: Eine Problemumgehung für den schwarzen Hintergrund, der unter Ubuntu 13.04 einige Minuten lang angezeigt wird: Fügen Sie einen Befehl hinzu, um das Desktop-Hintergrundbild nach dem Befehl conky hin und her zu ändern, zsleep 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
quelle
1

Ich hatte am 12.10 genau das gleiche Problem, stellte jedoch fest, dass durch das Öffnen des Panels oder eines Terminals (das ich als transparent eingestellt hatte) der weiße Hintergrund verschwand. Ärgerlich, aber einfach zu lösen - ich nehme an, es hat etwas damit zu tun, wie das Display mit Transparenz umgeht.

Ich habe gerade 13.04 bekommen und jetzt funktioniert dieser Trick nicht mehr. Wenn ich es aufgreife, funktioniert die Transparenz bisher, wenn ich Folgendes einstelle:

own_window yes
own_window_type dock
own_window_transparent yes

Der einzige Nachteil ist, dass sich das Conky-Fenster jetzt links vom Bildschirm ausrichtet (früher rechts), sodass ich es wie folgt verschieben musste:

alignment tr
gap_x 1120
gap_y 55

Ärgerlicherweise bedeutet dies, dass das Conky-Fenster nicht vorhanden ist, wenn sich meine Bildschirmauflösung ändert (z. B. bei der Arbeit häufig an einen Projektor angeschlossen), aber es ist ein Anfang. Hoffe das hilft.

Seej500
quelle
Danke, aber das ist auch sehr ärgerlich für mich, weil ich einen Laptop benutze und häufig einen größeren externen Monitor daran anschließe. Aus diesem Grund habe ich mich entschlossen, Conky loszuwerden und zu Screenlets zu wechseln .
Sadi
Ich habe gerade herausgefunden, dass das Ändern des Desktop-Hintergrunds auch dazu führt, dass Conky die gefälschte Transparenz neu zeichnet (wie das Öffnen des Panels oder eines Terminals, wie Sie sagten). Dann könnte vielleicht ein Befehl zum Ändern des Hintergrundbilds, das nach Conky ausgeführt wird, den Trick tun ;-)
Sadi
1

Hier sind einige der Parameter, die ich verwende:

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}

Ich hatte Probleme mit einem zu kleinen Bild. Ich habe gerade angefangen, die Größenparameter zu optimieren und es zum Laufen zu bringen.

Wie Sie vielleicht bemerken, own_windowist das auf eingestellt no. Wenn yes, dann würde mein Bild nicht funktionieren. Es war nur ein Durcheinander. Dies kann Ihnen helfen oder auch nicht. Ich hoffe es hilft.

Marshall Neill
quelle
Danke, aber im Gegenteil, mein Desktop wird so durcheinander, wenn ich ihn auf "Nein" setze ;-) Seltsames, konkiges Verhalten ;-)
Sadi
0

Wie wäre es damit:

Suchen Sie in der Datei ~ / conkyrc

own_window_type override

ersetzen Sie es für

own_window_type desktop

und hinzufügen

own_window_argb_visual yes

Das hat es für mich getan.

Damiao
quelle
Vielen Dank, aber zumindest in meinem Fall (Ubuntu 13.04 64-Bit) lässt das Ändern des Werts "own_window_type" in "desktop" das Conky-Fenster verschwinden, wenn Sie mit der linken Maustaste auf den Desktop klicken. Dies ist schlimmer, als wenn Sie einen schwarzen Hintergrund hinter dem Conky-Fenster sehen oder zwei Sekunden.
Sadi
Du hast recht. Besser das Feld mit dem Wert "normal" haben.
Damiao