Мышь на коньках

Опрос

Используете ли Вы conky?
Нет
Да, но только встроенные функции
Да, и пишу свои скрипты на lua
От окна conky естественно и привычно ожидать "мышепрозрачности", то есть чтобы события мыши проваливались сквозь окно conky к тому окну, которое под ним (обычно это десктоп). В conky 1.9 и раньше настоящей мышепрозрачности не было, а был её картонный муляж: перемещения мыши проглатывались, а клики перехватывались и передавались десктопу (а не тому окну, которое под conky, если conky cконфигурирован с own_window_hints undecorated,above...). В самом частом случае - окно conky на десктопе - это работало, и, например, правый клик на окне conky вызывал меню DE (или что там повешено на этот клик в самопальных DE). Мне была нужна настоящая мышепрозрачность, поэтому я её добавил (через расширение xshape) и выложил на AUR пакет conky-mt.

В conky 1.10 ситуация радикально изменилась. Теперь окно conky должно быть по-настоящему мышепрозрачным, если только не сконфигурировано как нормальное окно с декорациями. При этом старый механизм "псевдомышепрозпачности" был выпилен. Но этот новый механизм в исходном тексте стоит под новым дефайном BUILD_XSHAPE, которого в нашем PKGBUILD нет, так что conky из реп заведомо не мышепрозрачен. То есть клик правой кнопкой на окне conky не имеет никакого эффекта, хотя должен вызывать меню DE.
Но если взять PKGBUILD, добавить в вызов cmake новый дефайн и пересобрать conky, то почему-то мышепрозрачности всё равно нет. По крайне мере, так происходит у меня (radeon, openbox). Почему мышепрозрачность не работает - я не понимаю, код с виду правильный. Дело то ли в порядке вызовов иксовых функций, то ли в гонках параллельных процессов, но если соответствующий вызов сделать позже - всё работает. Похоже, это баг иксов, а не conky, но пользователю от этого не легче. Поэтому я не забросил conky-mt, как надеялся, а переделал под исходники 1.10.

Впрочем, удивительное рядом: под XFCE правый клик на окне conky вызывает меню десктопа. Но это по-моему, какой-то хитрый костыль самой XFCE, conky тут ни при чём.

Попытки попинать мейнтейнера и разрабов ни к чему не привели, и, главное, нет ясного понимания источника проблемы.

Так вот, к тем, кто использует conky, просьба проверить некоторые вещи. Хочется увидеть результаты с разными конфигами, все они с own_window = true.
Конфиг 1 должен быть с own_window_type = 'override'.
Конфиг 2 должен быть с own_window_type = 'normal', own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager'.
Конфиг 3 должен быть с own_window_type = 'normal', own_window_hints = 'undecorated,above,sticky,skip_taskbar,skip_pager'
С первыми двумя конфигами надо проверить, будет ли десктоп адекватно реагировать на клики над окном conky. Третий конфиг надо проверять не с десктопом, а с окном любого приложения: подложить это окно под conky и посмотреть, будет ли окно приложения реагировать на мышь. Назовём всё это экспериментом A (A1, A2, A3).
Если не лень собирать из исходников, то всё это просьба повторить ещё с двумя версиями conky.
Эксперимент B: взять PKGBUILD из abs и добавить в вызов cmake строчку -D BUILD_XSHAPE=ON \.
Эксперимент C: взять из AUR conky-mt.

О результатах просьба сообщить при любом исходе. Для краткости можно обозначать отдельные наблюдения сочетанием буквы и цифры. Скажем, B2 - это официальный conky, пересобранный с BUILD_XSHAPE, и конфиг с below. Обязательно указывайте DE (или WM) и видеодрайвер.
Свой конфиг коньков давно забросил.
Скинь образец на котором нужно проверять.
Есть кеды и xfce. Дрова везде интел.
Lupus pilum mutat, non mentem.
jim945
Скинь образец на котором нужно проверять.
Это дефолтный конфиг conky (/usr/share/doc/conky-1.10.1_pre/conky.conf), в котором изменена одна строчка own_window_type (она без отступа).
Конфиг 1
conky.config = {
    alignment = 'top_left',
    background = false,
    border_width = 1,
    cpu_avg_samples = 2,
    default_color = 'white',
    default_outline_color = 'white',
    default_shade_color = 'white',
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    use_xft = true,
    font = 'DejaVu Sans Mono:size=12',
    gap_x = 5,
    gap_y = 60,
    minimum_height = 5,
    minimum_width = 5,
    net_avg_samples = 2,
    no_buffers = true,
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
    own_window = true,
    own_window_class = 'Conky',
own_window_type = 'override',
    stippled_borders = 0,
    update_interval = 1.0,
    uppercase = false,
    use_spacer = 'none',
    show_graph_scale = false,
    show_graph_range = false
}

conky.text = [[
${scroll 16 $nodename - $sysname $kernel on $machine | }
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
$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}
]]

Конфиг 2 Заменить в конфиге 1 строчку own_window_type на следующие две:
own_window_type = 'normal',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

Конфиг 3 В конфиге 2 в строчке own_window_hints: below заменить на above
кеды

А2 - нет реакции
А3 - нет реакции

B2 - работает
B3 - работает

C2 - работает
C3 - работает

A1, B1, C1 - вообще не появляется окно коньков
Конфиг укоротил
conky.config = {
    alignment = 'top_left',
    own_window = true,
    own_window_type = 'override'
}

conky.text = [[
${scroll 16 $nodename - $sysname $kernel on $machine | }
$hr
${color grey}Uptime:$color $uptime
]]
Lupus pilum mutat, non mentem.
jim945
работает
Что за видео?
akorop
Что за видео?
интел
Lupus pilum mutat, non mentem.
крыса вечером
Lupus pilum mutat, non mentem.
akorop
Эксперимент B: взять PKGBUILD из abs и добавить в вызов cmake строчку -D BUILD_XSHAPE=ON \.
плазма 5.6.90
conky-lua 1.10.1-7

own_window = true,
own_window_type = 'normal',
own_window_transparent = false,
own_window_hints = 'undecorated,sticky,below,skip_taskbar,skip_pager',
own_window_argb_visual = true,
own_window_argb_value = 240,
double_buffer = true,
background = true,
пкм над конями вызывает менюшку от ДЕ
akorop
Эксперимент B: взять PKGBUILD из abs и добавить в вызов cmake строчку -D BUILD_XSHAPE=ON \.
без этого - менюшки нет
https://github.com/warlock90000/awesome
warlock9000
пкм над конями вызывает менюшку от ДЕ
warlock9000
без этого - менюшки нет
Я ничего не понял. Пожалуйста, скажите более чётко, когда меню есть, а когда его нет. И уточните, что за видео.
если коньки собраны с -D BUILD_XSHAPE=ON \, то менюшка от ДЕ есть
если коньки собраны без -D BUILD_XSHAPE=ON \, то менюшки от ДЕ нет
при клике пкм над поверхностью коньков
https://github.com/warlock90000/awesome
 
Зарегистрироваться или войдите чтобы оставить сообщение.