Because nothing says grouping like three different coloured boxes... /s

The Grouping Menu

Manipulating terminal groups

Grouping, as the name suggests, allows grouping of terminals so that actions can be taken that affect more than one terminal. As usual, following along will help understanding, so lets start with a basic window, then split into a 2x2 grid.

Let’s have another look at the grouping menu for reference, because as we proceed, it will change:

_images/grouping_01.png

The first item New group… allows you to create a named group, using an editable field that will appear next to the 3-box icon. By default this will be given a randomly selected name from the names of the Greek alphabet. Here you can see Phi was selected:

_images/grouping_02.png

You can either start typing to replace the provided one with something more descriptive, or you can accept the default with Return. For the purpose of this document I will just be using default names.

If you again click the 3-box/group button, you will see that several new entries have been added to the menu:

_images/grouping_03.png

Because the terminal now has a group the first new entry is None which will remove the grouping for this terminal.

Following that is a list of the known groups, in this case only Phi so far. This list (plus the None entry) can be used to change the group of this terminal.

Next are two items: Remove group Phi and Remove all groups. You will only get the currently assigned group group as an option to remove, as well as an option to remove all groups. This does not close the group, but simply removes the group assignments from the terminals.

The next option is more destructive: Close group Phi will exit the terminals assigned to this group.

Here I’ve gone ahead and set the upper right terminal to the same Phi group, and the lower left terminal to a New group… of Epsilon.

_images/grouping_04.png

A quick glance at the menu again will show that the only change is the addition of the Epsilon group to the list.

To change a group name you can either click on New group… again, or Shift+click on the 3-box/group button, and the editable field will reappear.

The current terminal is the one with focus. By clicking with key modifiers on other terminals 3-box/group button we can speed up group organisation. Here’s a list of mouse actions (including some already detailed):

Action Mouse Default Shortcut
Group menu popup click (TBD)
Edit group for terminal Shift+click (TBD)
Edit group for all terminals in the “group” Shift+Super+click (TBD?)
Toggle to current terminals group [1] Ctrl+click  
Toggle “group” to current terminals group [1] Ctrl+Super+click  
[1](1, 2) These shortcuts will only work if you use them on terminals that are not the current terminal.

Warning

The terminals with no named group are also considered a de facto group. If you use one of the Super shortcuts on a terminal with no group, you will also include all the other terminals with no group.

Skipping slightly ahead in the menu, there are two options that make more sense covered here. The Split to this group (default: off) option means that when you split the current terminal, the new one will inherit the group of the current terminal. It is off by default in which case new terminals have no group.

The second option Autoclean groups (default: on) will remove a group from the menus group list when the last terminal with that group is closed. If off groups will remain in the list until the application exits, or the option is enabled.

Note

Not shown in the above screenshots, there are also menu items for grouping all terminals in a tab in the menu. They only appear once a new tab is created - Group all in tab and Ungroup all in tab.

Some final group related shortcuts are for grouping all terminals at once, or grouping terminals in the same tab.

Action Default Shortcut
Group all Super+G
Ungroup all Shift+Super+G
Group tab Super+T
Ungroup tab Shift+Super+T
Group all toggle  
Group tab toggle  

Broadcasting input to multiple terminals

So first let me describe some terminology (no pun intended). Broadcasting is the act of sending your input to multiple terminals. The current terminal (the one with the red titlebar by default) is always the broadcaster. Any terminal that is in the same group as the current terminal is a potential receiver. I say potential because the act of broadcasting can be turned on and off independently of the grouping.

This can be an invaluable time-saver when having to do active investigation across multiple machines where you would be repeating the same commands on each of them.

Terminator’s titlebar is colour-coded to help you quickly see which terminals are potential receivers, and whether they will receive the broadcast input.

The titlebar is split into two parts. The leftmost part is the 3-box/group button that has one of three background colours as defined in the Global tab of Preferences Window:

  • Red - The current terminal and broadcaster.
  • Blue - A terminal that is in the same group as the broadcaster.
  • Grey - A terminal in a different group, or no group.

The second part consists of the title, and uses the same colouring to show the following:

  • Red - The current terminal and broadcaster.
  • Blue - A terminal that is acting as a receiver and will duplicate input from the broadcaster.
  • Grey - A terminal that is not a receiver.

There are three settings for broadcasting, selected from the Group menu. Following are images of each of these modes, with test typed into the current broadcasting terminal:

  • Broadcast off

    _images/broadcast_01.png

    Here you can see that only the current terminal receives input, even though the upper right terminal is also a part of the Phi group.

  • Broadcast all

    _images/broadcast_02.png

    Here you can see that all terminals, including those in other groups, or with no group, receive the input.

  • Broadcast group (default mode; can be changed in the Global tab of Preferences Window.)

    _images/broadcast_03.png

    Here you can see that only the terminal(s) in the same group as the broadcaster receive input.

Warning

Be careful with additional tabs, windows, or when you are zoomed or maximised on a single terminal. Just because you cannot see a terminal does not mean the terminal is not receiving. This can cause problems if you are typing a destructive command without realising that this command is going to other terminals.

In particular, note that when you run Terminator a second time, by default you are not running a completely separate process. It is still connected to the grouping of the initially launched Terminator process. If you need a completely separated window you need to use the -u option or disable the DBus interface in your config file.

Those with good eyesight may have spotted the other visual indicator of the colours in the 3-box icon changing for the different status of the terminals too. When you are zoomed or maximised, the presence of blue in this icon might be the only visual indicator of receivers.

As with all things in Terminator, we have shortcuts to help you keep your hands on the keyboard:

Action Default Shortcut
Broadcast off Alt+O
Broadcast all Alt+A
Broadcast group Alt+G

Warning

It has become apparent that the complexity of the input systems used (IBus, IME, dead key layouts, etc) can cause problems with broadcast input.

Instead of getting your intended character in all receivers, you will only get the composed letter in the current terminal, and what goes into the receivers is a bit unpredictable. If you copy and paste the character into the current terminal then it will be input into the receivers.

You may not even realise that you are running one of these systems (I had IBus by default, although I did not experience issues with it.) Killing or disabling them should temporarily fix the problem. There is a fix for the IBus issue in newer the GTK3 version of Terminator, but we still encounter people for whom this function is not 100% reliable.

Insert terminal number

The last two menu items are slightly out of place here. They are the same function as the shortcuts mentioned here. They were added early on when the broadcast feature was added, and the argument could be made for removing them. So far no-one has though, so for now they will stay here.