7

I was reading the Tmux source to see how it works. It saw that it uses imsg for its IPC, which I had never even heard of. I've been trying to find out more, but it turns out imsg is kind of hard to google, and I get a lot of results for iMessage.

I found some imsg documentation here, so it seems to be an OpenBSD library. I started looking for a Linux implementation, but I can't find anything. It appears the author(s) of Tmux wrote their own compatibility layer. This kind of surprises me, because imsg seems like it would be really useful. Does Linux have a similar C API for this, that I just don't know about?

elixenide
  • 44,308
  • 16
  • 74
  • 100
tprk77
  • 1,151
  • 1
  • 9
  • 22

1 Answers1

9

A quick look at the build script shows the following three files:

So the tmux authors ship a copy of OpenBSD's imsg library, which is implemented entirely in user-space.

Community
  • 1
  • 1
Fred Foo
  • 355,277
  • 75
  • 744
  • 836