You are not logged in.

#1 2016-07-29 01:38:40

acegallagher
Member
Registered: 2016-07-29
Posts: 12

conky transparency broken in 1.10.x - images in particular

I've been investigating an issue with transparency and conky, where an image placed into conky inherets strange transparency when conky is set to transparent. I've tried a number of configs and it seems to be independent of settings. Notably, not affected by the xftalpha = parameter at all.  The newest versions of conky or conky-lua (1.10.3)from the AUR both have the same issues. Interestingly, a black square image is completely transparent, while a white one is completely opaque. I tried adjusting the own_window_argb_value parameter but to no effect.


Full resolution:
http://i.imgur.com/0lFigN0.png
http://i.imgur.com/4OueG57.png

Setting own_window_transparent = false, at the same time as setting use_xft=true causes conky to crash.

I'm wondering if anyone else has seen similar issues. Looking through the conky bug reports I see no reports of similar behavior.

Relevant conky configs:

conky.config = {

  double_buffer = false,
  eno_buffers = true,
  background = false,
  own_window = true,
  own_window_type = normal,
  own_window_transparent = true,
  own_window_colour = hotpink,
  own_window_hints = 'undecorated,below,skip_taskbar,sticky,skip_pager',
  own_window_argb_visual = true,
  own_window_argb_value = 100,
  use_xft = true,
  -- xftalpha = .0,
  --own_window_argb_value = 26,

  update_interval = 3.0,
  total_run_times = 0,
  draw_shades = false,
  draw_outline = false, -- change to false
  draw_borders = false,-- change to false
  font = 'Roboto:size=9',
  draw_graph_borders = false,
  stippled_borders = 0,
  border_width = 1,
  default_color = 'white',
  outlinecolor  = 'white',
  shadecolor =  'white',
  color = 'white',

  --default_shade_color = '000000',
  default_outline_color = 'ffffff',
  alignment = 'top_left',
  minimum_height = 600,
  minimum_width = 400,
  maximum_width = 1000,
  --
  -- gap_x = 820,  -- dual monitor
  -- gap_y = 1080, --dual monitor
  -- gap_x = 0,  -- single monitor
  gap_y = 20,  -- single monitor
  --
  uppercase = false,
  cpu_avg_samples = 2,
  net_avg_samples = 2,
  short_units = true,
  text_buffer_size = 2048,
  use_spacer = 'none',
  override_utf8_locale = true,

  color1 = '18DACF',
  color2 = 'D9A0B0',

  lua_load = '~/.config/conky/lua.lua',
  lua_draw_hook_post = 'drawing',
}

A thread that hints at a similar issue:
http://superuser.com/questions/552216/c … in-mint-14

I'm also wondering if this is a kwin/conky interaction issue but I tried to force 100% opacity using window rules and kde with no changes. I checked a lot of other settings and all seemed well there too. The only other thing I've noticed is that on occasion I unplug my external monitor and the transparency for the image in conky "flickers correct" as in conky remains transparent, but the album art is opaque, as it should be. Is there a simple way to test this with xrandr?

Last edited by jasonwryan (2016-07-29 02:24:49)

Offline

#2 2016-07-29 02:25:13

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: conky transparency broken in 1.10.x - images in particular

Read the Code of Conduct and only post thumbnails http://wiki.archlinux.org/index.php/Cod … s_and_code


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#3 2016-07-29 16:19:57

acegallagher
Member
Registered: 2016-07-29
Posts: 12

Re: conky transparency broken in 1.10.x - images in particular

Read the Code of Conduct and only post thumbnails

Damnit, I should have known better, been a while since I've been around. I'm truly sorry and I humbly repent.

I ran a session of just xcompmgr and conky and behavior appears to be the same.

Last edited by acegallagher (2016-07-29 16:28:24)

Offline

#4 2016-07-30 06:34:33

Roken
Member
From: South Wales, UK
Registered: 2012-01-16
Posts: 1,251

Re: conky transparency broken in 1.10.x - images in particular

My solution is to run a separate conky running behind the main one that simply draws a black square behind any images. Transparency issue gone.

e.g.

#Setup Windows
own_window yes
own_window_type override
#own_window_argb_visual yes 
own_window_argb_value 255
own_window_title conky-back
own_window_transparent no 
own_window_class conky-semi
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes

#Setup Positioning
minimum_size 160 120
maximum_width 160
alignment top_right
gap_x 22 
gap_y 171

#Misc Graphical stuff
draw_shades no
draw_outline yes
draw_borders no
draw_graph_borders no
draw_outline no

#Performance Stuff
update_interval 3600
total_run_times 0
background yes
no_buffers yes
cpu_avg_samples 2

TEXT

That's it, nothing else in there.


Ryzen 5900X 12 core/24 thread - RTX 3090 FE 24 Gb, Asus Prime B450 Plus, 32Gb Corsair DDR4, Cooler Master N300 chassis, 5 HD (1 NvME PCI, 4SSD) + 1 x optical.
Linux user #545703

Offline

#5 2016-08-01 20:32:29

acegallagher
Member
Registered: 2016-07-29
Posts: 12

Re: conky transparency broken in 1.10.x - images in particular

Roken, thanks for the response. That did it, I guess. It's a workaround at the least! I had to play with my settings and put your idea in the new 'lua style' config to make it work. Here's my 2 config files for anyone who follows up.

cmhQ2F9.png

Here's a link to the full res

Here's my two configs:

conky.config = {

  double_buffer = true,
	eno_buffers = true,
  background = false,
  own_window = true, 
  own_window_type = normal,
  own_window_transparent = true,  
  own_window_colour = hotpink,
  own_window_hints = 'undecorated,below,skip_taskbar,sticky,skip_pager',
  own_window_argb_visual = true, 
  own_window_argb_value = 100,
  use_xft = true,
  xftalpha = .10,
	--own_window_argb_value = 26,

	update_interval = 3.0,
	total_run_times = 0,
	draw_shades = false,
	draw_outline = false, -- change to false
	draw_borders = false,-- change to false
  font = 'Roboto:size=9',
	draw_graph_borders = false,
	stippled_borders = 0,
	border_width = 1,
	default_color = 'white',
  outlinecolor  = 'white',
  shadecolor =  'white',
  color = 'white',
  
	--default_shade_color = '000000',
	default_outline_color = 'ffffff',
	alignment = 'top_left',
 	minimum_height = 600,
	minimum_width = 400,
	maximum_width = 1000,
  -- 
  -- gap_x = 820,  -- dual monitor
	-- gap_y = 1080, --dual monitor 
  -- gap_x = 0,  -- single monitor
   gap_y = 20,  -- single monitor
  --      
	uppercase = false,
	cpu_avg_samples = 2,
	net_avg_samples = 2,
	short_units = true,
	text_buffer_size = 2048,
	use_spacer = 'none',
	override_utf8_locale = true,

	color1 = '18DACF',
	color2 = 'D9A0B0',

	lua_load = '~/.config/conky/lua.lua',
	lua_draw_hook_post = 'drawing',
}


conky.text = [[

##Time & Day
${voffset -28}${offset 66}${font LG Weather_Z:size=75}${time %I:%M}${font Aliquam:weight=Bold:size=20}${time %P}
${voffset 25}${offset 74}${font Aliquam:weight=Bold:size=20}${time %A }
${voffset }${offset 77}${font Aliquam:weight=Bold:size=23}${exec date +%B' '%e`DaySuffix`}

###Systems
${voffset -9}${offset 75}$color1${font ConkyColors:size=14}o${font}$color${voffset -7}${offset 10}${font Aliquam:size=11:weight=Bold}${uptime}
${voffset 4}${offset 75}$color1${font ConkyColors:size=14}e${font}$color${voffset -7}${goto 106}${font Aliquam:size=11:weight=Bold} $cpu%
${voffset 4}${offset 75}$color1${font ConkyColors:size=14}g${font}$color${voffset -7}${goto 106}${font Aliquam:size=11:weight=Bold} $memperc%${font}
${voffset 6}${offset 75}$color1${font ConkyColors:size=14}7${font}$color${voffset -7}${goto 109}${font Aliquam:size=11:weight=Bold}${hwmon 0 temp 1}°C${font}
${voffset 6}${offset 76}$color1${font ConkyColors}s${font}$color${voffset -6}${goto 109}${font Aliquam:size=11:weight=Bold}${downspeed wlp2s0}${font}
${voffset 6}${offset 76}$color1${font ConkyColors}t${font}$color${voffset -6}${goto 109}${font Aliquam:size=11:weight=Bold}${upspeed wlp2s0}${font}


##spotify/mpd
${if_running spotify}
${voffset -3}${offset 250}${font Aliquam:size=13:weight=Bold}${color1}Artist:${offset 17}${color}${execi 5 dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 2 "artist"|egrep -v "artist"|egrep -v "array"|cut -b 27-|cut -d '"' -f 1|egrep -v ^$ }
${voffset 2}${offset 250}${color1}Album: ${offset 2}${color}${execi 5 dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 1 "album"|egrep -v "album"|egrep -v "album"|cut -b 44-|cut -d '"' -f 1|egrep -v ^$ }
## this would add the year if spotify suppoorted it in dbus
##(${color}${execi 5 dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'| grep T00 |  cut -d '"' -f2  | cut -d '-' -f1})
${voffset 2}${offset 250}${color1}Song:${offset 16}${color}${execi 5 dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 1 "title"|egrep -v "title"|cut -b 44-|cut -d '"' -f 1|egrep -v ^$ }
## cover art
${execi 10 ~/.config/conky/Spotify/getcover.sh}
${image ~/.config/conky/Spotify/currentCover/whitesquare.jpg -p 75, 385 -s 164x164}
${image ~/.config/conky/Spotify/currentCover/current.jpg -p 75, 385 -s 164x164 -f 5}

##${image ~/.config/conky/Spotify/background.png -p 60,415 -s 164x164 -f 5}
${else}
${if_mpd_playing}
${voffset -12}${offset 76}${font Aliquam:size=10:weight=Bold}${color1}Song: ${color}${mpd_title 40}
${voffset 7}${offset 76}${color1}Artist: ${color}${mpd_artist 40}
${voffset 7}${offset 76}${color1}Album: ${color}${mpd_album 40}${font}
##${voffset 7}${offset 78}${color1}${font Aliquam:size=10:weight=Bold}$mpd_elapsed/$mpd_length $color${goto 151}${mpd_bar 5,170}$font
${else}${voffset 7}${offset 79}${font Aliquam:size=10:weight=Bold}Mpd & Spotify:			${color1}off${color}
${endif}${endif}
]]
conky.config = {
   -- Setup Windows
   own_window = true, 
   own_window_type = override,
   own_window_argb_visual = true,  
   own_window_argb_value = 255,
   own_window_title = 'conky-back',
   own_window_transparent = false,
   own_window_class = 'conky-semi',
   own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
   double_buffer = true,
   minimum_height = 162,
   minimum_width = 162,
   maximum_width = 162,
   alignment = top_left,
   gap_y = 512,
   gap_x = 81
}
conky.text = [[ ]]

Offline

Board footer

Powered by FluxBB