Skip to content

[Bug]: Improve IPC hook protocol  #2532

@dvermd

Description

@dvermd

Checklist

  • I have read the appropriate section in the contributing guidelines
  • I believe this issue is a problem with polybar itself and not a misconfiguration on my part
  • I have searched for other open and closed issues that may have already reported this problem
  • I have checked the known issues page for this problem.
  • I have followed the debugging guide to narrow down the problem to a minimal config.

Steps to reproduce

polybar-msg hook demo 11

Minimal config

[bar/bar_test]
enable-ipc = true

modules-center = demo demo1

[module/demo]
type = custom/ipc
hook-0 = echo hook0
hook-1 = echo hook1
hook-2 = echo hook2
hook-3 = echo hook3
hook-4 = echo hook4
hook-5 = echo hook5
hook-6 = echo hook6
hook-7 = echo hook7
hook-8 = echo hook8
hook-9 = echo hook9
hook-10 = echo hook10

[module/demo1]
type = custom/ipc
hook-0 = echo hook0
hook-1 = echo hook1
hook-2 = echo hook2

Polybar log

No response

Expected behavior

Only the hook of the demo module is triggered

Actual behavior

Given the way the hook message is serialized before being send to polybar : hook:module/<module_name><hook_index>, polybar receives hook:module/demo11 that will match:

  • module/demo hook 11
  • module/demo1 hook 1

This means both hooks are triggered and the 2 modules are updated.

Window Manager and Version

i3-gaps 4.19.1

Linux Distribution

Manjaro Linux 21.1.5

Polybar version

polybar 3.5.5

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor

Build type: Release
Compiler: /usr/bin/c++
Compiler flags: -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

Additional Context / Screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions