1
.. image:: imgs/icon_grouping.png
3
:alt: Because nothing says grouping like three different coloured
12
----------------------------
13
Manipulating terminal groups
14
----------------------------
16
Grouping, as the name suggests, allows grouping of terminals allowing
17
actions to be taken that affect more than one terminal. As usual,
18
following along will help understanding, so lets start with a basic
19
window, then split into a 2x2 grid.
21
Let's have another look at the grouping menu for reference, because
22
as we proceed, it will change:
24
.. image:: imgs/grouping_01.png
26
The first item **New group...** allows you to create a named group,
27
using an editable field that will appear next to the 3-box icon. By
28
default this will be given a randomly selected name from the names
29
of the Greek alphabet. Here you can see **Phi** was selected:
31
.. image:: imgs/grouping_02.png
33
You can either start typing to replace the provided one with something
34
more descriptive, or you can accept the default with ``Return``. For
35
the purpose of this document I will just be using default names.
37
If you again click the 3-box/group button, you will see that several
38
new entries have been added to the menu:
40
.. image:: imgs/grouping_03.png
42
Because the terminal now has a group the first new entry is **None**
43
which will remove the grouping for this terminal.
45
Following that is a list of the known groups, in this case only *Phi*
46
so far. This list (plus the *None* entry) can be used to change the
47
group of this terminal.
49
Next are two items: **Remove group Phi** and **Remove all groups**.
50
You will only get the currently assigned group group as an option to
51
remove, as well as an option to remove all groups. This does not
52
close the group, but simply removes the group assignments from the
55
The next option is more destructive: **Close group Phi** will exit
56
the terminals assigned to this group.
58
Here I've gone ahead and set the upper right terminal to the same
59
*Phi* group, and the lower left terminal to a *New group...* of
62
.. image:: imgs/grouping_04.png
64
A quick glance at the menu again will show that the only change is
65
the addition of the *Epsilon* group to the list.
67
To change a group name you can either click on *New group...* again,
68
or ``Shift``\ +\ ``click`` on the 3-box/group button, and the editable
71
The current terminal is the one with focus. By clicking with key
72
modifiers on other terminals 3-box/group button we can speed up group
73
organisation. Here's a list of mouse actions (including some already
76
+------------------------------------------------+---------------------------------------+------------------+
77
| Action | Mouse | Default Shortcut |
78
+================================================+=======================================+==================+
79
| Group menu popup | ``click`` | (TBD) |
80
+------------------------------------------------+---------------------------------------+------------------+
81
| Edit group for terminal | ``Shift``\ +\ ``click`` | (TBD) |
82
+------------------------------------------------+---------------------------------------+------------------+
83
| Edit group for all terminals in the "group" | ``Shift``\ +\ ``Super``\ +\ ``click`` | (TBD?) |
84
+------------------------------------------------+---------------------------------------+------------------+
85
| Toggle to current terminals group [1]_ | ``Ctrl``\ +\ ``click`` | |
86
+------------------------------------------------+---------------------------------------+------------------+
87
| Toggle "group" to current terminals group [1]_ | ``Ctrl``\ +\ ``Super``\ +\ ``click`` | |
88
+------------------------------------------------+---------------------------------------+------------------+
90
.. [1] These shortcuts will only work if you use them on terminals
91
that are *not* the current terminal.
93
.. warning:: The terminals with no named group are also considered a
94
group. If you use one of the ``Super`` shortcuts on a
95
terminal with no group, you will also include all the
96
other terminals with no group.
98
Skipping slightly ahead in the menu, there are two options that make
99
more sense covered here. The **Split to this group** (default: off)
100
option means that when you split the current terminal, the new one
101
will inherit the group of the current terminal. It is off by default
102
in which case new terminals have no group.
104
The second option **Autoclean groups** (default: on) will remove a
105
group from the menus group list when the last terminal with that
106
group is closed. If off groups will remain in the list until the
107
application exits, or the option is enabled.
109
.. note:: Not shown in the above screenshots, there are also menu
110
items for grouping all terminals in a tab in the menu. They
111
only appear once a new tab is created - **Group all in tab**
112
and **Ungroup all in tab**.
114
Some final group related shortcuts are for grouping all terminals
115
at once, or grouping terminals in the same tab.
117
+------------------+-----------------------------------+
118
| Action | Default Shortcut |
119
+==================+===================================+
120
| Group all | ``Super``\ +\ ``G`` |
121
+------------------+-----------------------------------+
122
| Ungroup all | ``Shift``\ +\ ``Super``\ +\ ``G`` |
123
+------------------+-----------------------------------+
124
| Group tab | ``Super``\ +\ ``T`` |
125
+------------------+-----------------------------------+
126
| Ungroup tab | ``Shift``\ +\ ``Super``\ +\ ``T`` |
127
+------------------+-----------------------------------+
128
| Group all toggle | |
129
+------------------+-----------------------------------+
130
| Group tab toggle | |
131
+------------------+-----------------------------------+
133
----------------------------------------
134
Broadcasting input to multiple terminals
135
----------------------------------------
137
So first let me describe some terminology (no pun intended).
138
**Broadcasting** is the act of sending your input to multiple
139
terminals. The current terminal (the one with the red titlebar by
140
default) is always the **broadcaster**. Any terminal that is in
141
the same group as the current terminal is a potential **receiver**.
142
I say potential because the act of broadcasting can be turned on
143
and off independently of the grouping.
145
This can be an invaluable time-saver when having to do active
146
investigation across multiple machines where you would be repeating
147
the same commands on each of them.
149
Terminator's titlebar is colour-coded to help you quickly see which
150
terminals are potential receivers, and whether they *will* receive
153
The titlebar is split into two parts. The leftmost part is the
154
3-box/group button that has one of three background colours as defined
155
in the :ref:`prefs-global` tab of :ref:`preferences`:
157
- *Red* - The current terminal and broadcaster.
158
- *Blue* - A terminal that is in the same group as the broadcaster.
159
- *Grey* - A terminal in a different group, or no group.
161
The second part consists of the title, and uses the same colouring
162
to show the following:
164
- *Red* - The current terminal and broadcaster.
165
- *Blue* - A terminal that is acting as a receiver and will duplicate
166
input from the broadcaster.
167
- *Grey* - A terminal that is not a receiver.
169
There are three settings for broadcasting, selected from the *Group
170
menu*. Following are an image of each of these modes, with ``test``
171
typed into the current broadcasting terminal:
175
.. image:: imgs/broadcast_01.png
177
Here you can see that only the current terminal receives input, even
178
though the upper right terminal is also a part of the *Phi* group.
182
.. image:: imgs/broadcast_02.png
184
Here you can see that all terminals, including those in other groups,
185
or with no group, receive the input.
187
- *Broadcast group* (default mode; can be changed in the
188
:ref:`prefs-global` tab of :ref:`preferences`.)
190
.. image:: imgs/broadcast_03.png
192
Here you can see that only the terminal(s) in the same group in the
193
same group as the broadcaster receive input.
195
Be careful with additional tabs, windows, or when you are zoomed or
196
maximised on a single terminal. Just because you cannot see a terminal
197
does not mean the terminal is not receiving. This can cause problems
198
if you are typing a destructive command without realising that this
199
command is going to other terminals.
201
Those with good eyesight may have spotted the other visual indicator
202
of the colours in the 3-box icon changing for the different status of
203
the terminals too. When you are zoomed or maximised, the presence of
204
blue in this icon might be the only visual indicator of receivers.
206
As with all things in Terminator, we have shortcuts to help you keep
207
your hands on the keyboard:
209
+-----------------+-------------------+
210
| Action | Default Shortcut |
211
+=================+===================+
212
| Broadcast off | ``Alt``\ +\ ``O`` |
213
+-----------------+-------------------+
214
| Broadcast all | ``Alt``\ +\ ``A`` |
215
+-----------------+-------------------+
216
| Broadcast group | ``Alt``\ +\ ``G`` |
217
+-----------------+-------------------+
219
.. warning:: It has become apparent that IBus causes problems with
220
broadcast input. When multiple keystrokes are used to
221
*compose* a letter, such as the ``AltGr``\ +\ ``[``
222
followed by ``a``\ , ``o``\ , ``u`` keys to get **ä**,
223
**ö**, **ü** characters for the German language.
225
Instead of getting your composed letter in all receivers,
226
you will only get the composed letter in the current
227
terminal. If you copy and paste the character into the
228
current terminal then it will be input into the
231
You may not even realise that you are running IBus.
232
Killing it will temporarily fix the problem. There is
233
a fix for IBus and VTE, but only in the newer builds of
234
VTE. For that we would need the experimental GTK3
235
version of Terminator.
237
----------------------
238
Insert terminal number
239
----------------------
241
The last two menu items are slightly out of place here. They are the
242
same function as the shortcuts mentioned :ref:`here <insert-termnum_shortcut>`.
243
They were added early on when the broadcast feature was added, and
244
the argument could be made for removing them. So far no-one has
245
though, so for now they will stay here.