~gnome-terminator/terminator/manual-gtk3

« back to all changes in this revision

Viewing changes to source/grouping.rst

  • Committer: Stephen Boddy
  • Date: 2016-10-26 23:04:09 UTC
  • Revision ID: stephen.j.boddy@gmail.com-20161026230409-zp8af5cdt3ar1903
Initial creation of GTK3 documentation tree for using with readthedocs.org

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. image:: imgs/icon_grouping.png
 
2
   :align: right
 
3
   :alt: Because nothing says grouping like three different coloured
 
4
         boxes... /s
 
5
 
 
6
.. _grouping-menu:
 
7
 
 
8
=================
 
9
The Grouping Menu
 
10
=================
 
11
 
 
12
----------------------------
 
13
Manipulating terminal groups
 
14
----------------------------
 
15
 
 
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.
 
20
 
 
21
Let's have another look at the grouping menu for reference, because
 
22
as we proceed, it will change:
 
23
 
 
24
.. image:: imgs/grouping_01.png
 
25
 
 
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:
 
30
 
 
31
.. image:: imgs/grouping_02.png
 
32
 
 
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.
 
36
 
 
37
If you again click the 3-box/group button, you will see that several
 
38
new entries have been added to the menu:
 
39
 
 
40
.. image:: imgs/grouping_03.png
 
41
 
 
42
Because the terminal now has a group the first new entry is **None**
 
43
which will remove the grouping for this terminal.
 
44
 
 
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.
 
48
 
 
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
 
53
terminals.
 
54
 
 
55
The next option is more destructive: **Close group Phi** will exit
 
56
the terminals assigned to this group.
 
57
 
 
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
 
60
**Epsilon**.
 
61
 
 
62
.. image:: imgs/grouping_04.png
 
63
 
 
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.
 
66
 
 
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
 
69
field will reappear.
 
70
 
 
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
 
74
detailed):
 
75
 
 
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
+------------------------------------------------+---------------------------------------+------------------+
 
89
 
 
90
.. [1] These shortcuts will only work if you use them on terminals
 
91
       that are *not* the current terminal.
 
92
 
 
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.
 
97
 
 
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.
 
103
 
 
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.
 
108
 
 
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**.
 
113
 
 
114
Some final group related shortcuts are for grouping all terminals
 
115
at once, or grouping terminals in the same tab.
 
116
 
 
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
+------------------+-----------------------------------+
 
132
 
 
133
----------------------------------------
 
134
Broadcasting input to multiple terminals
 
135
----------------------------------------
 
136
 
 
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.
 
144
 
 
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.
 
148
 
 
149
Terminator's titlebar is colour-coded to help you quickly see which
 
150
terminals are potential receivers, and whether they *will* receive
 
151
the broadcast input.
 
152
 
 
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`:
 
156
 
 
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.
 
160
 
 
161
The second part consists of the title, and uses the same colouring
 
162
to show the following:
 
163
 
 
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.
 
168
 
 
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:
 
172
 
 
173
- *Broadcast off*
 
174
 
 
175
  .. image:: imgs/broadcast_01.png
 
176
 
 
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.
 
179
 
 
180
- *Broadcast all*
 
181
 
 
182
  .. image:: imgs/broadcast_02.png
 
183
 
 
184
  Here you can see that all terminals, including those in other groups,
 
185
  or with no group, receive the input.
 
186
 
 
187
- *Broadcast group* (default mode; can be changed in the
 
188
  :ref:`prefs-global` tab of :ref:`preferences`.)
 
189
 
 
190
  .. image:: imgs/broadcast_03.png
 
191
 
 
192
  Here you can see that only the terminal(s) in the same group in the
 
193
  same group as the broadcaster receive input.
 
194
 
 
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.
 
200
 
 
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.
 
205
 
 
206
As with all things in Terminator, we have shortcuts to help you keep
 
207
your hands on the keyboard:
 
208
 
 
209
+-----------------+-------------------+
 
210
| Action          | Default Shortcut  |
 
211
+=================+===================+
 
212
| Broadcast off   | ``Alt``\ +\ ``O`` |
 
213
+-----------------+-------------------+
 
214
| Broadcast all   | ``Alt``\ +\ ``A`` |
 
215
+-----------------+-------------------+
 
216
| Broadcast group | ``Alt``\ +\ ``G`` |
 
217
+-----------------+-------------------+
 
218
 
 
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.
 
224
 
 
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
 
229
             receivers.
 
230
 
 
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.
 
236
 
 
237
----------------------
 
238
Insert terminal number
 
239
----------------------
 
240
 
 
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.
 
246