strange conky background behavior
I have created a custom conky showing weather forecasts in 3 cities like this:
But recently I've begun to see a strange behavior. After a few seconds, a white background a bit larger appears underneath like this:
I've attempted to overcome this by trying a number of changes in the configuration file .conkyrc and the only effective one was changing own_window_type value from override to normal. But then I not only have this conky disappear when I choose to minimize all windows, but it also displays a transparent background of the same size like this:
My conky window settings are like this:
update_interval 1 total_run_times 0 cpu_avg_samples 1 net_avg_samples 1 no_buffers yes double_buffer yes imlib_cache_size 0 background yes own_window yes own_window_type override own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager minimum_size 300 480 maximum_width 300 alignment 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 yes use_xft yes xftfont Ubuntu:size=10 xftalpha 1.0 uppercase no temperature_unit 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}
Can somebody tell what might be causing (and how can I overcome) this unwanted canvas underneath my conky window?
A):
Your .conkyrc states own_window yes
. This means that conky has it's own window. By stating own_window_type normal
the window is being told to act "normally". Thus the conky-window will as well as any other window minimize when the "Show desktop" option is used.
B):
What would keep conky in its place is changing own_window_type normal
to own_window_type dock
. The drawback of this method is having to place conky on the right spot on your desktop again using gap x and gap y. Gap x is now counted from the left side of the desktop edge instead of the right side. Gap y is still counted from above. So suppose your screen resolution is 1440x900 and gap x used to be 2 and conky maximum with is 300, the new gap x would be 1440-300-2=1138
C):
In addition, to entirely lose any visible dock borders change the line own_window_transparent yes
with the lines: own_window_argb_visual yes
and own_window_argb_value 0
. If own_window_argb_value
is set to 255
the conky window will have no transparency and be black.
For further configuration settings:
http://conky.sourceforge.net/config_settings.html
I've found a solution to the unwanted shadow here: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky
- Start the CompizConfig Settings Manager
- Select Effects > Window Decoration
- Go into Shadow windows box and after the value any add & !(class=Conky) to apply this rule to all windows except Conky
This is in deed a workaround rather than a solution, because why Conky draws a larger window than needed still remains a mystery to me ;-)
Note: Probably this also requires adding this line to the conky config file:
own_window_class Conky
Note: A workaround for the black background appearing for some minutes under Ubuntu 13.04: add a command to change desktop wallpaper back and forth after the conky command, e.g.
sleep 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
I had the exact same problem on 12.10 but found that opening the panel or a terminal (which I set to be transparent) made the white background go away. Annoying, but simple to solve - I assume it was something to do with how the display handles any transparency.
Just got 13.04 though, and now that trick doesn't work. Picking away at it, I'm so far getting the transparency working if I set the following:
own_window yes
own_window_type dock
own_window_transparent yes
The only downside is that the Conky window now aligns itself to the left of the screen (used to be on the right), so I've had to shift it over with the following:
alignment tr
gap_x 1120
gap_y 55
Annoyingly, this means that if my display resolution changes (I often plug into a projector at work, for example), the Conky window isn't going to be there, but it's a start. Hope this helps.
Here are some of the parameters I use:
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}
I had problems with image being too small. I just started tweaking the size parameters and got it to work.
As you may notice the own_window
is set to no
. If yes
, then my image would not work. It was just a mess.
This may or may not help you. I hope it is of some help.