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

Broadcast to ... "This Window" and "This Tab" #365

Closed
mikeperalta1 opened this issue Jan 16, 2021 · 8 comments · Fixed by #480
Closed

Broadcast to ... "This Window" and "This Tab" #365

mikeperalta1 opened this issue Jan 16, 2021 · 8 comments · Fixed by #480
Labels
enhancement New feature or request question Further information is requested

Comments

@mikeperalta1
Copy link

mikeperalta1 commented Jan 16, 2021

Hey guys. Love this terminal emulator and have been using+recommending it forever.

Is your feature request related to a problem? Please describe.
I like to use the "Broadcast {x}" functionality. But it's slightly slow in certain situations. For example, sometimes I may have many terminals open over many workspaces, and I don't always want to broadcast to every terminal window. Sometimes I'd like to only broadcast to every terminal pane embedded inside the current window. Other times I'd like to broadcast only to terminals residing (via splits) in the current window's tab.

To solve this problem, I use Broadcast to group. But then I have to manually set each pane to the same group, which can consume some extra time, needlessly.

Describe the solution you'd like
It would be great to have two new broadcast options:

  1. Broadcast to Window, which would broadcast to all tabs and split panes inside the same terminator window.
  2. Broadcast to Tab, which would broadcast to all split panes inside the same terminator tab.

Describe alternatives you've considered
Broadcast to groups works for this purpose, but with extra clicks making sure each pane has the correct group setup.

Additional context
To clarify the terms I'm using. Window on the left has 2 tabs, and 2 split panes on the visible tab. Window on the right has 4 panes on the visible tab.

image

@mattrose mattrose added question Further information is requested enhancement New feature or request labels Jan 17, 2021
@mattrose
Copy link
Member

Hmm, I'll see what I can do. Would creating groups out of the contents of the window/tab do the trick? I'd rather re-use as much existing functionality as possible rather than trying to force the broadcast code understand windows and tabs. I might do a "Group this window/tab" plugin that would automatically create a group out of the window or tab, if that's possible. The reason for a plugin would be so that you could only enable that feature if you wanted it.

@mikeperalta1
Copy link
Author

I think if the new buttons automatically created+assigned groups, that would be completely great.

A plugin could be useful, but I remember wanting this feature as a fresh newbie, before I understood much about the program or that it might have plugins.

@Joshua-Snapp
Copy link

I love this terminal emulator too! 😃
I just wanted to point out some features that IMHO already provide most of the requested functionality. Those features are shown in the Manipulating Terminal Groups and Broadcasting input to multiple terminals documentation and the ability to spawn a new terminator session instead of just creating a new window.

Let's consider a single terminator session with one window with multiple tabs and multiple panes in each tab. You can instantly create a group for all panes in a tab by pressing Super+T or by clicking "Group all in tab" in the grouping menu. Then you just enable the Broadcast group with Alt+G or by clicking "Broadcast group" in the grouping menu.

Creating ad-hoc groups does require clicking the group menu and selecting/creating a group name, unless you're in a tab that already has a pane assigned to the group. In that case, make sure that pane is the active pane and hold down Ctrl while left clicking on the group menu button of the remaining panes you want assigned to the group. That makes it a pretty quick process for assigning a group. That key modifier and others are shown in the Manipulating Terminal Groups documentation.

All the above describes a single terminator session with one window. If you create additional windows with Shift+Ctrl+I, those windows will share group names. Also, the Broadcast All feature will broadcast keystrokes to every pane in every window of that terminator session. If you'd rather handle a window separately, then spawn a new terminator session (and window) with Super+I. The new session and window will not share group names and Broadcast All with the other terminator session.

@mikeperalta1
Copy link
Author

@Joshua-Snapp thank you for that! I don't think I've ever even realized "Group all in tab" was there. That alone helps a lot.

Using Super+I might help me avoid the dreaded "whoops, broadcast all also broadcast to the other workspaces and ruined everything" issue I have sometimes. Maybe there could be a new menu option that says "New Session" with "Super + I" as a hover hint or in parenthesis or something. That way you can always click even when you don't remember the hotkey, but the hotkey is more easily discoverable for casual users.

All in all you helped me today. Thank you!

@mattrose
Copy link
Member

Would adding a "Group all in Window" option be the last bit of this? I can probably do that fairly easily

@mikeperalta1
Copy link
Author

As far as I'm concerned, that would be amazing and all I need.

@mattrose
Copy link
Member

Oh, and thank you so much @Joshua-Snapp for chiming in with an excellent selection. @sboddy did a really good job on the documentation for Terminator, and even I learn a lot from it from reading it through

@Joshua-Snapp
Copy link

Joshua-Snapp commented Jan 31, 2021

Glad to know I could contribute something useful. 😊 I've enjoyed terminator for nearly a decade, but I sat down and learned how to leverage the grouping, broadcasting and saved layouts just a couple years ago. That really made it a one of a kind tool in my mind. This is one of my favorite applications. I'm glad to see that folks are helping to keep it alive and supported.

@mattrose mattrose mentioned this issue Aug 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants