Hi What have you got so far?
Control mode should already get updated for client-session-changed, if you look at notify.c:notify_callback there is already a check that passes it into control_notify_client_session_changed. For new ones you will need to add a notify_add call somewhere and then add a control-notify.c function and a check in notify_callback, for active pane it'll probably need a notify_add call in window.c:window_set_active_pane. Mode changes you can do in window_pane_set_mode and window_pane_reset_mode. On Tue, May 02, 2017 at 02:27:57AM -0500, Joshua Brot wrote: > Hi! > > I???m currently in the process of writing a Wayland Compositor with the goal > of using tmux as a tiling window manager. Basically, the compositor provides > an interface similar to the TTY with tmux running. When the user launches a > visual application, the compositor will then overlay it on the pane from > which it was launched. My current strategy for implementing this is to launch > an internal tmux client in control mode to every session on the server in > order to track what actions the client is taking and respond accordingly. > > In its current state, tmux???s control mode looks like it provides almost > enough capabilities to make this project work. The biggest thing it is > missing are notifications for when the user switches active panes within a > window and when the user switches active windows in a session. It would also > be nice to have a notification for when the user switches into and out of > copy mode, but this isn???t essential. Finally, it would be nice to get > notifications on the ???client-session-changed??? hook, but since there is a > hook already I can very easily work around this. > > I have begun to look through tmux???s source in order to implement these > features myself, but I haven???t made much progress yet as the project is > quite large and I???m not familiar enough with all of the use cases needed > to make these notifications always work. Any advice on how to implement these > features would be much appreciated (or if someone is willing to implement the > features themself, that would be great too :). Finally, any feedback on my > general strategy would be appreciated as I???m not entirely sure if I???m > going about this in a reasonable way. > > Thanks! > ???Joshua Brot > > -- > You received this message because you are subscribed to the Google Groups > "tmux-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send an email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "tmux-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
