conky icon indicating copy to clipboard operation
conky copied to clipboard

[Feature]: Support exclusive zones on Wayland (`panel`/`dock` window type)

Open yesrod opened this issue 1 year ago • 4 comments

What happened?

When using own_window_type = panel and out_to_wayland = true with conky 1.20.2, the conky window doesn't behave as expected.

Specifically, when another window is maximized, it covers the conky window instead of stopping at the border of the conky window.

I have not tested with versions newer than 1.20.2 because of #1960.

Expected behavior:

  • Launch conky with own_window_type = panel and out_to_wayland = true in .conkyrc
  • Maximize another window
  • The maximized window does not cover the conky window

Actual behavior:

  • Launch conky with own_window_type = panel and out_to_wayland = true in .conkyrc
  • Maximize another window
  • The maximized window covers the entire screen, blocking the conky window entirely

Version

1.20.2

Which OS/distro are you seeing the problem on?

Ubuntu

Conky config

conky.config = {
    -- xinerama_head = 1,
    alignment = 'middle_right',
    background = false,
    border_width = 1,
    cpu_avg_samples = 2,
    default_color = 'white',
    default_outline_color = 'black',
    default_shade_color = 'black',
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = true,
    draw_shades = true,
    use_xft = true,
    font = 'Liberation Mono:size=10',
    gap_x = 5,
    gap_y = 0,
    minimum_height = 5,
    minimum_width = 5,
    net_avg_samples = 2,
    double_buffer = true,
    out_to_console = false,
    out_to_stderr = false,
    out_to_x = false,
    out_to_wayland = true,
    extra_newline = false,
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'panel',
    -- own_window_hints = 'below,skip_taskbar',
    own_window_transparent = false,
    own_window_argb_visual = true,
    own_window_argb_value = 192,
    stippled_borders = 0,
    update_interval = 1.0,
    uppercase = false,
    pad_percents = 1,
    use_spacer = 'left',
    show_graph_scale = false,
    show_graph_range = false
}

conky.text = [[ $nodename - $sysname $kernel on $machine ${time %A, %B %d, %Y %H:%M:%S} $hr ${texecpi 300 curl -q wttr.in/Morgantown,%20WV?0q | ansito -} $hr ${color grey}Uptime: $color $uptime ${color grey}Load: $color $loadavg ${color grey}RAM Usage: $color $mem/$memmax $memperc% ${membar 4} ${color grey}Swap Usage:$color $swap/$swapmax $swapperc% ${swapbar 4} ${color grey}Processes: $color $processes ${color grey}Running:$color $running_processes $hr ${color grey}File systems: ${color grey} / $color${fs_used /}/${fs_size /} ${fs_bar 6 /} ${color grey} /home $color${fs_used /home}/${fs_size /home} ${fs_bar 6 /home} ${color grey}DiskIO: Read:$color ${diskio_read} ${color grey} - Write:$color ${diskio_write} $hr ${color grey}Networking: Up:$color ${upspeed wlp4s0} ${color grey} - Down:$color ${downspeed wlp4s0} $hr ${color white}${execi 1000 lspci -d $(grep PCI_ID /sys/class/drm/card1/device/uevent | cut -d= -f2) | rev | cut -d: -f1 | rev | sed 's/]/]\n /g' | sed 's/^ //'} ${color red}Voltage: $color${exec cat /sys/class/drm/card1/device/hwmon/hwmon*/in0_input}mV ${color red}Edge: $color${exec echo "scale=1; $(cat /sys/class/drm/card1/device/hwmon/hwmon*/temp1_input) / 1000" | bc -l}C ${color red}Junction: $color${exec echo "scale=1; $(cat /sys/class/drm/card1/device/hwmon/hwmon*/temp2_input) / 1000" | bc -l}C ${color red}Mem: $color${exec echo "scale=1; $(cat /sys/class/drm/card1/device/hwmon/hwmon*/temp3_input) / 1000" | bc -l}C ${color red}GPU Usage: $color${exec cat /sys/class/drm/card1/device/gpu_busy_percent}% ${execbar cat /sys/class/drm/card1/device/gpu_busy_percent} ${color red}GPU Power: $color${exec echo "scale=2; $(cat /sys/class/drm/card1/device/hwmon/hwmon*/power1_average) / 1000000" | bc -l }W / ${exec echo "scale=2; $(cat /sys/class/drm/card1/device/hwmon/hwmon*/power1_cap) / 1000000" | bc -l }W ${color red}GPU Frequencies: $color ${color red}Core: $color${exec echo "scale=0; $(cat /sys/class/drm/card1/device/hwmon/hwmon*/freq1_input) / 1000000" | bc -l }MHz ${color red}Memory: $color${exec echo "scale=0; $(cat /sys/class/drm/card1/device/hwmon//freq2_input) / 1000000" | bc -l }MHz ${color red}GPU Fan: $color${cat /sys/class/drm/card1/device/hwmon/hwmon/fan1_input}RPM $hr ${color white}${execi 1000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'| uniq | cut -d@ -f1} ${color grey}CPU Temp: $color${hwmon k10temp temp 1}C ${color grey} ${color grey}CPU Usage: $color$cpu% ${cpubar 4} ${color grey}CPU Frequencies: $color ${freq_g 1}GHz ${freq_g 9}GHz ${freq_g 2}GHz ${freq_g 10}GHz ${freq_g 3}GHz ${freq_g 11}GHz ${freq_g 4}GHz ${freq_g 12}GHz ${freq_g 5}GHz ${freq_g 13}GHz ${freq_g 6}GHz ${freq_g 14}GHz ${freq_g 7}GHz ${freq_g 15}GHz ${freq_g 8}GHz ${freq_g 16}GHz ${color grey}CPU Fan: $color${hwmon nct6792 fan 2}RPM $hr ${color grey}Name PID CPU% MEM% ${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4} ${color lightgrey} ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5} ${color lightgrey} ${top name 6} ${top pid 6} ${top cpu 6} ${top mem 6} ${color lightgrey} ${top name 7} ${top pid 7} ${top cpu 7} ${top mem 7} ${color lightgrey} ${top name 8} ${top pid 8} ${top cpu 8} ${top mem 8}

Stack trace

No response

Relevant log output

No response

yesrod avatar Sep 05 '24 20:09 yesrod

Currently, Wayland doesn't support conky being displayed anywhere other than behind other windows (i.e. desktop mode).

wlr-layer-shell supports this with zwlr_layer_surface_v1:set_exclusive_zone.

Caellian avatar Oct 03 '24 18:10 Caellian

Referenced in: https://github.com/brndnmtthws/conky/issues/1960#issuecomment-2525311702

Caellian avatar Dec 08 '24 03:12 Caellian

Referenced in: #1960 (comment)

In my case, the issue is present in X11 (openbox), not in wayland (both x11 and wayland backends work in labwc session). The details are:

own_window_type = 'dock'

It seems to be independent of the wayland support, and for some reason, its a change that started in conky > conky-git-1.21.7

Bluey26 avatar Dec 08 '24 11:12 Bluey26

In my case, the issue is present in X11 (openbox), not in wayland (both x11 and wayland backends work in labwc session).

@Bluey26 That's a separate issue. Wayland support isn't implemented at all currently, and this issue is solely purposed for tracking that as indicated by the label. Subscribe to a related issue or create a new one.

Caellian avatar Dec 08 '24 19:12 Caellian

This issue is stale because it has been open 365 days with no activity. Remove stale label or comment, or this issue will be closed in 30 days.

github-actions[bot] avatar Dec 09 '25 02:12 github-actions[bot]

Making a comment to pacify the bot. This is something that I'm still interested in.

yesrod avatar Dec 12 '25 20:12 yesrod