Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yesrod opened this issue Sep 5, 2024 · 4 comments
Open
Labels
display: wayland related to Wayland backend feature suggest addition of new functionality that isn't currently supported in any way struts related to conky reserving space along screen edge

Comments

@yesrod
Copy link

yesrod commented Sep 5, 2024

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 yesrod added bug related to incorrect existing implementation of some functionality triage issue that hasn't been verified, categorized or acknowledged yet labels Sep 5, 2024
@Caellian Caellian added this to the Wayland Support milestone Oct 3, 2024
@Caellian Caellian added display: wayland related to Wayland backend and removed triage issue that hasn't been verified, categorized or acknowledged yet labels Oct 3, 2024
@Caellian Caellian changed the title [Bug]: Panel not working as expected in Plasma 5.27.11 using Wayland [Bug]: Can't reserve display area on Wayland (like panel window type) Oct 3, 2024
@Caellian
Copy link
Collaborator

Caellian commented Oct 3, 2024

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
Copy link
Collaborator

Caellian commented Dec 8, 2024

Referenced in: #1960 (comment)

@Bluey26
Copy link

Bluey26 commented Dec 8, 2024

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

@Caellian Caellian added struts related to conky reserving space along screen edge feature suggest addition of new functionality that isn't currently supported in any way and removed bug related to incorrect existing implementation of some functionality labels Dec 8, 2024
@Caellian Caellian changed the title [Bug]: Can't reserve display area on Wayland (like panel window type) [Feature]: Support exclusive zones on Wayland (panel/dock window type) Dec 8, 2024
@Caellian
Copy link
Collaborator

Caellian commented Dec 8, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
display: wayland related to Wayland backend feature suggest addition of new functionality that isn't currently supported in any way struts related to conky reserving space along screen edge
Projects
None yet
Development

No branches or pull requests

3 participants