Merge lp:~albfan/terminator/trunk into lp:terminator/gtk3

Proposed by Alberto Fanjul Alonso
Status: Needs review
Proposed branch: lp:~albfan/terminator/trunk
Merge into: lp:terminator/gtk3
Diff against target: 1263 lines (+345/-255)
3 files modified
po/terminator.pot (+180/-196)
terminatorlib/preferences.glade (+113/-53)
terminatorlib/prefseditor.py (+52/-6)
To merge this branch: bzr merge lp:~albfan/terminator/trunk
Reviewer Review Type Date Requested Status
Terminator Pending
Review via email: mp+335004@code.launchpad.net

Description of the change

Sort and filter shortcuts view

To post a comment you must log in.
lp:~albfan/terminator/trunk updated
1785. By Alberto Fanjul Alonso

Sort and filter shortcuts

Unmerged revisions

1785. By Alberto Fanjul Alonso

Sort and filter shortcuts

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'po/terminator.pot'
2--- po/terminator.pot 2017-01-12 15:51:59 +0000
3+++ po/terminator.pot 2017-12-24 12:05:00 +0000
4@@ -8,7 +8,7 @@
5 msgstr ""
6 "Project-Id-Version: PACKAGE VERSION\n"
7 "Report-Msgid-Bugs-To: \n"
8-"POT-Creation-Date: 2017-01-12 16:51+0100\n"
9+"POT-Creation-Date: 2017-12-10 03:17+0100\n"
10 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13@@ -75,7 +75,7 @@
14 #: ../data/terminator.desktop.in.h:1 ../data/terminator.appdata.xml.in.h:1
15 #: ../terminatorlib/plugins/activitywatch.py:84
16 #: ../terminatorlib/plugins/activitywatch.py:163
17-#: ../terminatorlib/preferences.glade.h:148
18+#: ../terminatorlib/preferences.glade.h:149
19 msgid "Terminator"
20 msgstr ""
21
22@@ -84,7 +84,7 @@
23 msgstr ""
24
25 #: ../data/terminator.appdata.xml.in.h:3
26-#: ../terminatorlib/preferences.glade.h:149
27+#: ../terminatorlib/preferences.glade.h:150
28 msgid "The robot future of terminals"
29 msgstr ""
30
31@@ -148,31 +148,31 @@
32 msgid "The preferences window where you can change the defaults"
33 msgstr ""
34
35-#: ../terminatorlib/container.py:163
36+#: ../terminatorlib/container.py:164
37 msgid "Close?"
38 msgstr ""
39
40-#: ../terminatorlib/container.py:169
41+#: ../terminatorlib/container.py:170
42 msgid "Close _Terminals"
43 msgstr ""
44
45-#: ../terminatorlib/container.py:171
46+#: ../terminatorlib/container.py:172
47 msgid "<big><b>Close multiple terminals?</b></big>"
48 msgstr ""
49
50-#: ../terminatorlib/container.py:175
51+#: ../terminatorlib/container.py:176
52 msgid ""
53 "This window has several terminals open. Closing the window will also close "
54 "all terminals within it."
55 msgstr ""
56
57-#: ../terminatorlib/container.py:178
58+#: ../terminatorlib/container.py:179
59 msgid ""
60 "This tab has several terminals open. Closing the tab will also close all "
61 "terminals within it."
62 msgstr ""
63
64-#: ../terminatorlib/container.py:198
65+#: ../terminatorlib/container.py:199
66 msgid "Do not show this message next time"
67 msgstr ""
68
69@@ -333,11 +333,11 @@
70 msgid "Launch"
71 msgstr ""
72
73-#: ../terminatorlib/notebook.py:353
74+#: ../terminatorlib/notebook.py:359
75 msgid "tab"
76 msgstr ""
77
78-#: ../terminatorlib/notebook.py:573
79+#: ../terminatorlib/notebook.py:627
80 msgid "Close Tab"
81 msgstr ""
82
83@@ -388,53 +388,45 @@
84 msgstr ""
85
86 #: ../terminatorlib/optionparse.py:82
87-msgid "Set a custom name (WM_CLASS) property on the window"
88-msgstr ""
89-
90-#: ../terminatorlib/optionparse.py:84
91 msgid "Set a custom icon for the window (by file or name)"
92 msgstr ""
93
94+#: ../terminatorlib/optionparse.py:85
95+msgid "Set a custom WM_WINDOW_ROLE property on the window"
96+msgstr ""
97+
98 #: ../terminatorlib/optionparse.py:87
99-msgid "Set a custom WM_WINDOW_ROLE property on the window"
100+msgid "Launch with the given layout"
101 msgstr ""
102
103 #: ../terminatorlib/optionparse.py:89
104-msgid "Launch with the given layout"
105+msgid "Select a layout from a list"
106 msgstr ""
107
108 #: ../terminatorlib/optionparse.py:91
109-msgid "Select a layout from a list"
110+msgid "Use a different profile as the default"
111 msgstr ""
112
113 #: ../terminatorlib/optionparse.py:93
114-msgid "Use a different profile as the default"
115+msgid "Disable DBus"
116 msgstr ""
117
118 #: ../terminatorlib/optionparse.py:95
119-msgid "Disable DBus"
120+msgid "Enable debugging information (twice for debug server)"
121 msgstr ""
122
123 #: ../terminatorlib/optionparse.py:97
124-msgid "Enable debugging information (twice for debug server)"
125+msgid "Comma separated list of classes to limit debugging to"
126 msgstr ""
127
128 #: ../terminatorlib/optionparse.py:99
129-msgid "Comma separated list of classes to limit debugging to"
130+msgid "Comma separated list of methods to limit debugging to"
131 msgstr ""
132
133 #: ../terminatorlib/optionparse.py:101
134-msgid "Comma separated list of methods to limit debugging to"
135-msgstr ""
136-
137-#: ../terminatorlib/optionparse.py:103
138 msgid "If Terminator is already running, just open a new tab"
139 msgstr ""
140
141-#: ../terminatorlib/plugins/activitywatch.py:25
142-msgid "ActivityWatch plugin unavailable: please install python-notify"
143-msgstr ""
144-
145 #: ../terminatorlib/plugins/activitywatch.py:55
146 msgid "Watch for _activity"
147 msgstr ""
148@@ -453,98 +445,98 @@
149 msgid "Silence in: %s"
150 msgstr ""
151
152-#: ../terminatorlib/plugins/custom_commands.py:61
153+#: ../terminatorlib/plugins/custom_commands.py:62
154 msgid "_Custom Commands"
155 msgstr ""
156
157 #. VERIFY FOR GTK3: is this ever false?
158-#: ../terminatorlib/plugins/custom_commands.py:67
159-#: ../terminatorlib/terminal_popup_menu.py:188
160+#: ../terminatorlib/plugins/custom_commands.py:68
161+#: ../terminatorlib/terminal_popup_menu.py:190
162 msgid "_Preferences"
163 msgstr ""
164
165-#: ../terminatorlib/plugins/custom_commands.py:120
166+#: ../terminatorlib/plugins/custom_commands.py:135
167 msgid "Custom Commands Configuration"
168 msgstr ""
169
170-#: ../terminatorlib/plugins/custom_commands.py:124
171-#: ../terminatorlib/plugins/custom_commands.py:273
172+#: ../terminatorlib/plugins/custom_commands.py:139
173+#: ../terminatorlib/plugins/custom_commands.py:288
174 #: ../terminatorlib/plugins/logger.py:22
175 #: ../terminatorlib/plugins/terminalshot.py:21
176 msgid "_Cancel"
177 msgstr ""
178
179-#: ../terminatorlib/plugins/custom_commands.py:125
180-#: ../terminatorlib/plugins/custom_commands.py:274
181+#: ../terminatorlib/plugins/custom_commands.py:140
182+#: ../terminatorlib/plugins/custom_commands.py:289
183 msgid "_OK"
184 msgstr ""
185
186-#: ../terminatorlib/plugins/custom_commands.py:152
187+#: ../terminatorlib/plugins/custom_commands.py:167
188 msgid "Enabled"
189 msgstr ""
190
191-#: ../terminatorlib/plugins/custom_commands.py:156
192+#: ../terminatorlib/plugins/custom_commands.py:171
193 #: ../terminatorlib/preferences.glade.h:137
194 msgid "Name"
195 msgstr ""
196
197-#: ../terminatorlib/plugins/custom_commands.py:160
198+#: ../terminatorlib/plugins/custom_commands.py:175
199 #: ../terminatorlib/preferences.glade.h:103
200 msgid "Command"
201 msgstr ""
202
203-#: ../terminatorlib/plugins/custom_commands.py:174
204+#: ../terminatorlib/plugins/custom_commands.py:189
205 #: ../terminatorlib/preferences.glade.h:37
206 msgid "Top"
207 msgstr ""
208
209-#: ../terminatorlib/plugins/custom_commands.py:180
210+#: ../terminatorlib/plugins/custom_commands.py:195
211 msgid "Up"
212 msgstr ""
213
214-#: ../terminatorlib/plugins/custom_commands.py:186
215+#: ../terminatorlib/plugins/custom_commands.py:201
216 msgid "Down"
217 msgstr ""
218
219-#: ../terminatorlib/plugins/custom_commands.py:192
220+#: ../terminatorlib/plugins/custom_commands.py:207
221 msgid "Last"
222 msgstr ""
223
224-#: ../terminatorlib/plugins/custom_commands.py:198
225+#: ../terminatorlib/plugins/custom_commands.py:213
226 msgid "New"
227 msgstr ""
228
229-#: ../terminatorlib/plugins/custom_commands.py:203
230+#: ../terminatorlib/plugins/custom_commands.py:218
231 msgid "Edit"
232 msgstr ""
233
234-#: ../terminatorlib/plugins/custom_commands.py:209
235+#: ../terminatorlib/plugins/custom_commands.py:224
236 msgid "Delete"
237 msgstr ""
238
239-#: ../terminatorlib/plugins/custom_commands.py:269
240+#: ../terminatorlib/plugins/custom_commands.py:284
241 msgid "New Command"
242 msgstr ""
243
244-#: ../terminatorlib/plugins/custom_commands.py:280
245+#: ../terminatorlib/plugins/custom_commands.py:295
246 msgid "Enabled:"
247 msgstr ""
248
249-#: ../terminatorlib/plugins/custom_commands.py:286
250+#: ../terminatorlib/plugins/custom_commands.py:301
251 msgid "Name:"
252 msgstr ""
253
254-#: ../terminatorlib/plugins/custom_commands.py:292
255+#: ../terminatorlib/plugins/custom_commands.py:307
256 msgid "Command:"
257 msgstr ""
258
259-#: ../terminatorlib/plugins/custom_commands.py:315
260-#: ../terminatorlib/plugins/custom_commands.py:425
261+#: ../terminatorlib/plugins/custom_commands.py:330
262+#: ../terminatorlib/plugins/custom_commands.py:440
263 msgid "You need to define a name and command"
264 msgstr ""
265
266-#: ../terminatorlib/plugins/custom_commands.py:332
267-#: ../terminatorlib/plugins/custom_commands.py:444
268+#: ../terminatorlib/plugins/custom_commands.py:347
269+#: ../terminatorlib/plugins/custom_commands.py:459
270 #, python-format
271 msgid "Name *%s* already exist"
272 msgstr ""
273@@ -591,7 +583,7 @@
274 msgstr ""
275
276 #. FIXME: Why isn't this being done by Terminator() ?
277-#: ../terminatorlib/preferences.glade.h:5 ../terminatorlib/window.py:704
278+#: ../terminatorlib/preferences.glade.h:5 ../terminatorlib/window.py:710
279 msgid "All"
280 msgstr ""
281
282@@ -1104,7 +1096,7 @@
283 msgstr ""
284
285 #: ../terminatorlib/preferences.glade.h:134
286-#: ../terminatorlib/terminal_popup_menu.py:195
287+#: ../terminatorlib/terminal_popup_menu.py:197
288 msgid "Profiles"
289 msgstr ""
290
291@@ -1137,22 +1129,26 @@
292 msgstr ""
293
294 #: ../terminatorlib/preferences.glade.h:144
295+msgid "Filter:"
296+msgstr ""
297+
298+#: ../terminatorlib/preferences.glade.h:145
299 msgid "Keybindings"
300 msgstr ""
301
302-#: ../terminatorlib/preferences.glade.h:145
303+#: ../terminatorlib/preferences.glade.h:146
304 msgid "Plugin"
305 msgstr ""
306
307-#: ../terminatorlib/preferences.glade.h:146
308+#: ../terminatorlib/preferences.glade.h:147
309 msgid "This plugin has no configuration options"
310 msgstr ""
311
312-#: ../terminatorlib/preferences.glade.h:147
313+#: ../terminatorlib/preferences.glade.h:148
314 msgid "Plugins"
315 msgstr ""
316
317-#: ../terminatorlib/preferences.glade.h:150
318+#: ../terminatorlib/preferences.glade.h:151
319 msgid ""
320 "The goal of this project is to produce a useful tool for arranging "
321 "terminals. It is inspired by programs such as gnome-multi-term, quadkonsole, "
322@@ -1166,11 +1162,11 @@
323 "the Development link)"
324 msgstr ""
325
326-#: ../terminatorlib/preferences.glade.h:153
327+#: ../terminatorlib/preferences.glade.h:154
328 msgid "The Manual"
329 msgstr ""
330
331-#: ../terminatorlib/preferences.glade.h:154
332+#: ../terminatorlib/preferences.glade.h:155
333 msgid ""
334 "<a href=\"http://gnometerminator.blogspot.com/p/introduction.html"
335 "\">Homepage</a>\n"
336@@ -1180,493 +1176,481 @@
337 "<a href=\"https://translations.launchpad.net/terminator\">Translations</a>"
338 msgstr ""
339
340-#: ../terminatorlib/preferences.glade.h:159
341+#: ../terminatorlib/preferences.glade.h:160
342 msgid "About"
343 msgstr ""
344
345-#: ../terminatorlib/prefseditor.py:96
346+#: ../terminatorlib/prefseditor.py:99
347 msgid "Increase font size"
348 msgstr ""
349
350-#: ../terminatorlib/prefseditor.py:97
351+#: ../terminatorlib/prefseditor.py:100
352 msgid "Decrease font size"
353 msgstr ""
354
355-#: ../terminatorlib/prefseditor.py:98
356+#: ../terminatorlib/prefseditor.py:101
357 msgid "Restore original font size"
358 msgstr ""
359
360-#: ../terminatorlib/prefseditor.py:99
361+#: ../terminatorlib/prefseditor.py:102
362 msgid "Create a new tab"
363 msgstr ""
364
365-#: ../terminatorlib/prefseditor.py:100 ../terminatorlib/prefseditor.py:102
366+#: ../terminatorlib/prefseditor.py:103 ../terminatorlib/prefseditor.py:105
367 msgid "Focus the next terminal"
368 msgstr ""
369
370-#: ../terminatorlib/prefseditor.py:101 ../terminatorlib/prefseditor.py:103
371+#: ../terminatorlib/prefseditor.py:104 ../terminatorlib/prefseditor.py:106
372 msgid "Focus the previous terminal"
373 msgstr ""
374
375-#: ../terminatorlib/prefseditor.py:104
376+#: ../terminatorlib/prefseditor.py:107
377 msgid "Focus the terminal above"
378 msgstr ""
379
380-#: ../terminatorlib/prefseditor.py:105
381+#: ../terminatorlib/prefseditor.py:108
382 msgid "Focus the terminal below"
383 msgstr ""
384
385-#: ../terminatorlib/prefseditor.py:106
386+#: ../terminatorlib/prefseditor.py:109
387 msgid "Focus the terminal left"
388 msgstr ""
389
390-#: ../terminatorlib/prefseditor.py:107
391+#: ../terminatorlib/prefseditor.py:110
392 msgid "Focus the terminal right"
393 msgstr ""
394
395-#: ../terminatorlib/prefseditor.py:108
396+#: ../terminatorlib/prefseditor.py:111
397 msgid "Rotate terminals clockwise"
398 msgstr ""
399
400-#: ../terminatorlib/prefseditor.py:109
401+#: ../terminatorlib/prefseditor.py:112
402 msgid "Rotate terminals counter-clockwise"
403 msgstr ""
404
405-#: ../terminatorlib/prefseditor.py:110
406+#: ../terminatorlib/prefseditor.py:113
407 msgid "Split horizontally"
408 msgstr ""
409
410-#: ../terminatorlib/prefseditor.py:111
411+#: ../terminatorlib/prefseditor.py:114
412 msgid "Split vertically"
413 msgstr ""
414
415-#: ../terminatorlib/prefseditor.py:112
416+#: ../terminatorlib/prefseditor.py:115
417 msgid "Close terminal"
418 msgstr ""
419
420-#: ../terminatorlib/prefseditor.py:113
421+#: ../terminatorlib/prefseditor.py:116
422 msgid "Copy selected text"
423 msgstr ""
424
425-#: ../terminatorlib/prefseditor.py:114
426+#: ../terminatorlib/prefseditor.py:117
427 msgid "Paste clipboard"
428 msgstr ""
429
430-#: ../terminatorlib/prefseditor.py:115
431+#: ../terminatorlib/prefseditor.py:118
432 msgid "Show/Hide the scrollbar"
433 msgstr ""
434
435-#: ../terminatorlib/prefseditor.py:116
436+#: ../terminatorlib/prefseditor.py:119
437 msgid "Search terminal scrollback"
438 msgstr ""
439
440-#: ../terminatorlib/prefseditor.py:117
441+#: ../terminatorlib/prefseditor.py:120
442 msgid "Scroll upwards one page"
443 msgstr ""
444
445-#: ../terminatorlib/prefseditor.py:118
446+#: ../terminatorlib/prefseditor.py:121
447 msgid "Scroll downwards one page"
448 msgstr ""
449
450-#: ../terminatorlib/prefseditor.py:119
451+#: ../terminatorlib/prefseditor.py:122
452 msgid "Scroll upwards half a page"
453 msgstr ""
454
455-#: ../terminatorlib/prefseditor.py:120
456+#: ../terminatorlib/prefseditor.py:123
457 msgid "Scroll downwards half a page"
458 msgstr ""
459
460-#: ../terminatorlib/prefseditor.py:121
461+#: ../terminatorlib/prefseditor.py:124
462 msgid "Scroll upwards one line"
463 msgstr ""
464
465-#: ../terminatorlib/prefseditor.py:122
466+#: ../terminatorlib/prefseditor.py:125
467 msgid "Scroll downwards one line"
468 msgstr ""
469
470-#: ../terminatorlib/prefseditor.py:123
471+#: ../terminatorlib/prefseditor.py:126
472 msgid "Close window"
473 msgstr ""
474
475-#: ../terminatorlib/prefseditor.py:124
476+#: ../terminatorlib/prefseditor.py:127
477 msgid "Resize the terminal up"
478 msgstr ""
479
480-#: ../terminatorlib/prefseditor.py:125
481+#: ../terminatorlib/prefseditor.py:128
482 msgid "Resize the terminal down"
483 msgstr ""
484
485-#: ../terminatorlib/prefseditor.py:126
486+#: ../terminatorlib/prefseditor.py:129
487 msgid "Resize the terminal left"
488 msgstr ""
489
490-#: ../terminatorlib/prefseditor.py:127
491+#: ../terminatorlib/prefseditor.py:130
492 msgid "Resize the terminal right"
493 msgstr ""
494
495-#: ../terminatorlib/prefseditor.py:128
496+#: ../terminatorlib/prefseditor.py:131
497 msgid "Move the tab right"
498 msgstr ""
499
500-#: ../terminatorlib/prefseditor.py:129
501+#: ../terminatorlib/prefseditor.py:132
502 msgid "Move the tab left"
503 msgstr ""
504
505-#: ../terminatorlib/prefseditor.py:130
506+#: ../terminatorlib/prefseditor.py:133
507 msgid "Maximize terminal"
508 msgstr ""
509
510-#: ../terminatorlib/prefseditor.py:131
511+#: ../terminatorlib/prefseditor.py:134
512 msgid "Zoom terminal"
513 msgstr ""
514
515-#: ../terminatorlib/prefseditor.py:132
516+#: ../terminatorlib/prefseditor.py:135
517 msgid "Switch to the next tab"
518 msgstr ""
519
520-#: ../terminatorlib/prefseditor.py:133
521+#: ../terminatorlib/prefseditor.py:136
522 msgid "Switch to the previous tab"
523 msgstr ""
524
525-#: ../terminatorlib/prefseditor.py:134
526+#: ../terminatorlib/prefseditor.py:137
527 msgid "Switch to the first tab"
528 msgstr ""
529
530-#: ../terminatorlib/prefseditor.py:135
531+#: ../terminatorlib/prefseditor.py:138
532 msgid "Switch to the second tab"
533 msgstr ""
534
535-#: ../terminatorlib/prefseditor.py:136
536+#: ../terminatorlib/prefseditor.py:139
537 msgid "Switch to the third tab"
538 msgstr ""
539
540-#: ../terminatorlib/prefseditor.py:137
541+#: ../terminatorlib/prefseditor.py:140
542 msgid "Switch to the fourth tab"
543 msgstr ""
544
545-#: ../terminatorlib/prefseditor.py:138
546+#: ../terminatorlib/prefseditor.py:141
547 msgid "Switch to the fifth tab"
548 msgstr ""
549
550-#: ../terminatorlib/prefseditor.py:139
551+#: ../terminatorlib/prefseditor.py:142
552 msgid "Switch to the sixth tab"
553 msgstr ""
554
555-#: ../terminatorlib/prefseditor.py:140
556+#: ../terminatorlib/prefseditor.py:143
557 msgid "Switch to the seventh tab"
558 msgstr ""
559
560-#: ../terminatorlib/prefseditor.py:141
561+#: ../terminatorlib/prefseditor.py:144
562 msgid "Switch to the eighth tab"
563 msgstr ""
564
565-#: ../terminatorlib/prefseditor.py:142
566+#: ../terminatorlib/prefseditor.py:145
567 msgid "Switch to the ninth tab"
568 msgstr ""
569
570-#: ../terminatorlib/prefseditor.py:143
571+#: ../terminatorlib/prefseditor.py:146
572 msgid "Switch to the tenth tab"
573 msgstr ""
574
575-#: ../terminatorlib/prefseditor.py:144
576+#: ../terminatorlib/prefseditor.py:147
577 msgid "Toggle fullscreen"
578 msgstr ""
579
580-#: ../terminatorlib/prefseditor.py:145
581+#: ../terminatorlib/prefseditor.py:148
582 msgid "Reset the terminal"
583 msgstr ""
584
585-#: ../terminatorlib/prefseditor.py:146
586+#: ../terminatorlib/prefseditor.py:149
587 msgid "Reset and clear the terminal"
588 msgstr ""
589
590-#: ../terminatorlib/prefseditor.py:147
591+#: ../terminatorlib/prefseditor.py:150
592 msgid "Toggle window visibility"
593 msgstr ""
594
595-#: ../terminatorlib/prefseditor.py:148
596+#: ../terminatorlib/prefseditor.py:151
597 msgid "Group all terminals"
598 msgstr ""
599
600-#: ../terminatorlib/prefseditor.py:149
601+#: ../terminatorlib/prefseditor.py:152
602 msgid "Group/Ungroup all terminals"
603 msgstr ""
604
605-#: ../terminatorlib/prefseditor.py:150
606+#: ../terminatorlib/prefseditor.py:153
607 msgid "Ungroup all terminals"
608 msgstr ""
609
610-#: ../terminatorlib/prefseditor.py:151
611+#: ../terminatorlib/prefseditor.py:154
612 msgid "Group terminals in tab"
613 msgstr ""
614
615-#: ../terminatorlib/prefseditor.py:152
616+#: ../terminatorlib/prefseditor.py:155
617 msgid "Group/Ungroup terminals in tab"
618 msgstr ""
619
620-#: ../terminatorlib/prefseditor.py:153
621+#: ../terminatorlib/prefseditor.py:156
622 msgid "Ungroup terminals in tab"
623 msgstr ""
624
625-#: ../terminatorlib/prefseditor.py:154
626+#: ../terminatorlib/prefseditor.py:157
627 msgid "Create a new window"
628 msgstr ""
629
630-#: ../terminatorlib/prefseditor.py:155
631+#: ../terminatorlib/prefseditor.py:158
632 msgid "Spawn a new Terminator process"
633 msgstr ""
634
635-#: ../terminatorlib/prefseditor.py:156
636+#: ../terminatorlib/prefseditor.py:159
637 msgid "Don't broadcast key presses"
638 msgstr ""
639
640-#: ../terminatorlib/prefseditor.py:157
641+#: ../terminatorlib/prefseditor.py:160
642 msgid "Broadcast key presses to group"
643 msgstr ""
644
645-#: ../terminatorlib/prefseditor.py:158
646+#: ../terminatorlib/prefseditor.py:161
647 msgid "Broadcast key events to all"
648 msgstr ""
649
650-#: ../terminatorlib/prefseditor.py:159
651+#: ../terminatorlib/prefseditor.py:162
652 msgid "Insert terminal number"
653 msgstr ""
654
655-#: ../terminatorlib/prefseditor.py:160
656+#: ../terminatorlib/prefseditor.py:163
657 msgid "Insert padded terminal number"
658 msgstr ""
659
660-#: ../terminatorlib/prefseditor.py:161
661+#: ../terminatorlib/prefseditor.py:164
662 msgid "Edit window title"
663 msgstr ""
664
665-#: ../terminatorlib/prefseditor.py:162
666+#: ../terminatorlib/prefseditor.py:165
667 msgid "Edit terminal title"
668 msgstr ""
669
670-#: ../terminatorlib/prefseditor.py:163
671+#: ../terminatorlib/prefseditor.py:166
672 msgid "Edit tab title"
673 msgstr ""
674
675-#: ../terminatorlib/prefseditor.py:164
676+#: ../terminatorlib/prefseditor.py:167
677 msgid "Open layout launcher window"
678 msgstr ""
679
680-#: ../terminatorlib/prefseditor.py:165
681+#: ../terminatorlib/prefseditor.py:168
682 msgid "Switch to next profile"
683 msgstr ""
684
685-#: ../terminatorlib/prefseditor.py:166
686+#: ../terminatorlib/prefseditor.py:169
687 msgid "Switch to previous profile"
688 msgstr ""
689
690-#: ../terminatorlib/prefseditor.py:167
691+#: ../terminatorlib/prefseditor.py:170
692 msgid "Open the manual"
693 msgstr ""
694
695-#: ../terminatorlib/prefseditor.py:1136 ../terminatorlib/prefseditor.py:1141
696+#: ../terminatorlib/prefseditor.py:1180 ../terminatorlib/prefseditor.py:1185
697 msgid "New Profile"
698 msgstr ""
699
700-#: ../terminatorlib/prefseditor.py:1181 ../terminatorlib/prefseditor.py:1186
701+#: ../terminatorlib/prefseditor.py:1225 ../terminatorlib/prefseditor.py:1230
702 msgid "New Layout"
703 msgstr ""
704
705 #. Label
706-#: ../terminatorlib/searchbar.py:52
707+#: ../terminatorlib/searchbar.py:48
708 msgid "Search:"
709 msgstr ""
710
711-#: ../terminatorlib/searchbar.py:68
712+#: ../terminatorlib/searchbar.py:60
713 msgid "Close Search bar"
714 msgstr ""
715
716 #. Next Button
717-#: ../terminatorlib/searchbar.py:73
718+#: ../terminatorlib/searchbar.py:65
719 msgid "Next"
720 msgstr ""
721
722 #. Previous Button
723-#: ../terminatorlib/searchbar.py:79
724+#: ../terminatorlib/searchbar.py:71
725 msgid "Prev"
726 msgstr ""
727
728 #. Wrap checkbox
729-#: ../terminatorlib/searchbar.py:85
730+#: ../terminatorlib/searchbar.py:77
731 msgid "Wrap"
732 msgstr ""
733
734-#: ../terminatorlib/searchbar.py:144
735-msgid "Searching scrollback"
736-msgstr ""
737-
738-#: ../terminatorlib/searchbar.py:162 ../terminatorlib/searchbar.py:188
739-msgid "No more results"
740-msgstr ""
741-
742-#: ../terminatorlib/searchbar.py:203
743-msgid "Found at row"
744-msgstr ""
745-
746-#: ../terminatorlib/terminal_popup_menu.py:59
747+#: ../terminatorlib/terminal_popup_menu.py:61
748 msgid "_Send email to..."
749 msgstr ""
750
751-#: ../terminatorlib/terminal_popup_menu.py:60
752+#: ../terminatorlib/terminal_popup_menu.py:62
753 msgid "_Copy email address"
754 msgstr ""
755
756-#: ../terminatorlib/terminal_popup_menu.py:62
757+#: ../terminatorlib/terminal_popup_menu.py:64
758 msgid "Ca_ll VoIP address"
759 msgstr ""
760
761-#: ../terminatorlib/terminal_popup_menu.py:63
762+#: ../terminatorlib/terminal_popup_menu.py:65
763 msgid "_Copy VoIP address"
764 msgstr ""
765
766-#: ../terminatorlib/terminal_popup_menu.py:84
767+#: ../terminatorlib/terminal_popup_menu.py:86
768 msgid "_Open link"
769 msgstr ""
770
771-#: ../terminatorlib/terminal_popup_menu.py:86
772+#: ../terminatorlib/terminal_popup_menu.py:88
773 msgid "_Copy address"
774 msgstr ""
775
776-#: ../terminatorlib/terminal_popup_menu.py:102
777+#: ../terminatorlib/terminal_popup_menu.py:104
778 msgid "_Copy"
779 msgstr ""
780
781-#: ../terminatorlib/terminal_popup_menu.py:107
782+#: ../terminatorlib/terminal_popup_menu.py:109
783 msgid "_Paste"
784 msgstr ""
785
786-#: ../terminatorlib/terminal_popup_menu.py:114
787+#: ../terminatorlib/terminal_popup_menu.py:116
788 msgid "Split H_orizontally"
789 msgstr ""
790
791-#: ../terminatorlib/terminal_popup_menu.py:124
792+#: ../terminatorlib/terminal_popup_menu.py:126
793 msgid "Split V_ertically"
794 msgstr ""
795
796-#: ../terminatorlib/terminal_popup_menu.py:134
797+#: ../terminatorlib/terminal_popup_menu.py:136
798 msgid "Open _Tab"
799 msgstr ""
800
801-#: ../terminatorlib/terminal_popup_menu.py:140
802+#: ../terminatorlib/terminal_popup_menu.py:142
803 msgid "Open _Debug Tab"
804 msgstr ""
805
806-#: ../terminatorlib/terminal_popup_menu.py:147
807+#: ../terminatorlib/terminal_popup_menu.py:149
808 msgid "_Close"
809 msgstr ""
810
811-#: ../terminatorlib/terminal_popup_menu.py:156
812+#: ../terminatorlib/terminal_popup_menu.py:158
813 msgid "_Zoom terminal"
814 msgstr ""
815
816-#: ../terminatorlib/terminal_popup_menu.py:161
817+#: ../terminatorlib/terminal_popup_menu.py:163
818 msgid "Ma_ximize terminal"
819 msgstr ""
820
821-#: ../terminatorlib/terminal_popup_menu.py:168
822+#: ../terminatorlib/terminal_popup_menu.py:170
823 msgid "_Restore all terminals"
824 msgstr ""
825
826-#: ../terminatorlib/terminal_popup_menu.py:175
827+#: ../terminatorlib/terminal_popup_menu.py:177
828 msgid "Grouping"
829 msgstr ""
830
831-#: ../terminatorlib/terminal_popup_menu.py:182
832+#: ../terminatorlib/terminal_popup_menu.py:184
833 msgid "Show _scrollbar"
834 msgstr ""
835
836-#: ../terminatorlib/terminal_popup_menu.py:239
837+#: ../terminatorlib/terminal_popup_menu.py:244
838 msgid "Encodings"
839 msgstr ""
840
841-#: ../terminatorlib/terminal_popup_menu.py:254
842+#: ../terminatorlib/terminal_popup_menu.py:259
843 msgid "Default"
844 msgstr ""
845
846-#: ../terminatorlib/terminal_popup_menu.py:257
847+#: ../terminatorlib/terminal_popup_menu.py:262
848 msgid "User defined"
849 msgstr ""
850
851-#: ../terminatorlib/terminal_popup_menu.py:273
852+#: ../terminatorlib/terminal_popup_menu.py:278
853 msgid "Other Encodings"
854 msgstr ""
855
856-#: ../terminatorlib/terminal.py:433
857+#: ../terminatorlib/terminal.py:440
858 msgid "N_ew group..."
859 msgstr ""
860
861-#: ../terminatorlib/terminal.py:439
862+#: ../terminatorlib/terminal.py:446
863 msgid "_None"
864 msgstr ""
865
866-#: ../terminatorlib/terminal.py:459
867+#: ../terminatorlib/terminal.py:466
868 #, python-format
869 msgid "Remove group %s"
870 msgstr ""
871
872-#: ../terminatorlib/terminal.py:464
873+#: ../terminatorlib/terminal.py:471
874 msgid "G_roup all in tab"
875 msgstr ""
876
877-#: ../terminatorlib/terminal.py:469
878+#: ../terminatorlib/terminal.py:476
879 msgid "Ungro_up all in tab"
880 msgstr ""
881
882-#: ../terminatorlib/terminal.py:474
883+#: ../terminatorlib/terminal.py:481
884 msgid "Remove all groups"
885 msgstr ""
886
887-#: ../terminatorlib/terminal.py:481
888+#: ../terminatorlib/terminal.py:488
889 #, python-format
890 msgid "Close group %s"
891 msgstr ""
892
893-#: ../terminatorlib/terminal.py:491
894+#: ../terminatorlib/terminal.py:498
895 msgid "Broadcast _all"
896 msgstr ""
897
898-#: ../terminatorlib/terminal.py:492
899+#: ../terminatorlib/terminal.py:499
900 msgid "Broadcast _group"
901 msgstr ""
902
903-#: ../terminatorlib/terminal.py:493
904+#: ../terminatorlib/terminal.py:500
905 msgid "Broadcast _off"
906 msgstr ""
907
908-#: ../terminatorlib/terminal.py:509
909+#: ../terminatorlib/terminal.py:516
910 msgid "_Split to this group"
911 msgstr ""
912
913-#: ../terminatorlib/terminal.py:514
914+#: ../terminatorlib/terminal.py:521
915 msgid "Auto_clean groups"
916 msgstr ""
917
918-#: ../terminatorlib/terminal.py:521
919+#: ../terminatorlib/terminal.py:528
920 msgid "_Insert terminal number"
921 msgstr ""
922
923-#: ../terminatorlib/terminal.py:525
924+#: ../terminatorlib/terminal.py:532
925 msgid "Insert _padded terminal number"
926 msgstr ""
927
928-#: ../terminatorlib/terminal.py:1394
929+#: ../terminatorlib/terminal.py:1409
930 msgid "Unable to find a shell"
931 msgstr ""
932
933-#: ../terminatorlib/terminal.py:1427
934+#: ../terminatorlib/terminal.py:1442
935 msgid "Unable to start shell:"
936 msgstr ""
937
938-#: ../terminatorlib/terminal.py:1848
939+#: ../terminatorlib/terminal.py:1863
940 msgid "Rename Window"
941 msgstr ""
942
943-#: ../terminatorlib/terminal.py:1856
944+#: ../terminatorlib/terminal.py:1871
945 msgid "Enter a new title for the Terminator window..."
946 msgstr ""
947
948@@ -1766,11 +1750,11 @@
949 msgid "Omega"
950 msgstr ""
951
952-#: ../terminatorlib/window.py:276
953+#: ../terminatorlib/window.py:278 ../terminatorlib/window.py:283
954 msgid "window"
955 msgstr ""
956
957-#: ../terminatorlib/window.py:730
958+#: ../terminatorlib/window.py:736
959 #, python-format
960 msgid "Tab %d"
961 msgstr ""
962
963=== modified file 'terminatorlib/preferences.glade'
964--- terminatorlib/preferences.glade 2016-12-13 21:08:02 +0000
965+++ terminatorlib/preferences.glade 2017-12-24 12:05:00 +0000
966@@ -1,5 +1,5 @@
967 <?xml version="1.0" encoding="UTF-8"?>
968-<!-- Generated with glade 3.18.3 -->
969+<!-- Generated with glade 3.20.0 -->
970 <interface>
971 <requires lib="gtk+" version="3.10"/>
972 <object class="GtkListStore" id="BackspaceKeyListStore">
973@@ -3498,62 +3498,119 @@
974 </packing>
975 </child>
976 <child>
977- <object class="GtkScrolledWindow" id="scrolledwindow1">
978+ <object class="GtkBox" id="vbox20">
979 <property name="visible">True</property>
980- <property name="can_focus">True</property>
981- <property name="vadjustment">adjustment4</property>
982- <property name="hscrollbar_policy">never</property>
983- <property name="shadow_type">in</property>
984+ <property name="can_focus">False</property>
985+ <property name="orientation">vertical</property>
986+ <property name="spacing">6</property>
987 <child>
988- <object class="GtkTreeView" id="keybindingtreeview">
989+ <object class="GtkScrolledWindow" id="scrolledwindow1">
990 <property name="visible">True</property>
991 <property name="can_focus">True</property>
992- <property name="model">KeybindingsListStore</property>
993- <property name="headers_clickable">False</property>
994- <property name="search_column">0</property>
995- <child internal-child="selection">
996- <object class="GtkTreeSelection" id="treeview-selection4"/>
997- </child>
998- <child>
999- <object class="GtkTreeViewColumn" id="treeviewcolumn1">
1000- <property name="title" translatable="yes">Name</property>
1001- <child>
1002- <object class="GtkCellRendererText" id="cellrenderertext10"/>
1003- <attributes>
1004- <attribute name="text">0</attribute>
1005- </attributes>
1006- </child>
1007- </object>
1008- </child>
1009- <child>
1010- <object class="GtkTreeViewColumn" id="treeviewcolumn2">
1011- <property name="title" translatable="yes">Action</property>
1012- <child>
1013- <object class="GtkCellRendererText" id="cellrenderertext11"/>
1014- <attributes>
1015- <attribute name="text">1</attribute>
1016- </attributes>
1017- </child>
1018- </object>
1019- </child>
1020- <child>
1021- <object class="GtkTreeViewColumn" id="treeviewcolumn3">
1022- <property name="title" translatable="yes">Keybinding</property>
1023- <child>
1024- <object class="GtkCellRendererAccel" id="cellrendereraccel1">
1025- <property name="editable">True</property>
1026- <property name="accel_mode">other</property>
1027- <signal name="accel-cleared" handler="on_cellrenderer_accel_cleared" object="KeybindingsListStore" swapped="yes"/>
1028- <signal name="accel-edited" handler="on_cellrenderer_accel_edited" object="KeybindingsListStore" swapped="yes"/>
1029- </object>
1030- <attributes>
1031- <attribute name="accel-key">2</attribute>
1032- <attribute name="accel-mods">3</attribute>
1033- </attributes>
1034- </child>
1035- </object>
1036- </child>
1037- </object>
1038+ <property name="vexpand">True</property>
1039+ <property name="vadjustment">adjustment4</property>
1040+ <property name="hscrollbar_policy">never</property>
1041+ <property name="shadow_type">in</property>
1042+ <child>
1043+ <object class="GtkTreeView" id="keybindingtreeview">
1044+ <property name="visible">True</property>
1045+ <property name="can_focus">True</property>
1046+ <property name="model">KeybindingsListStore</property>
1047+ <property name="headers_clickable">True</property>
1048+ <property name="search_column">0</property>
1049+ <child internal-child="selection">
1050+ <object class="GtkTreeSelection" id="treeview-selection4"/>
1051+ </child>
1052+ <child>
1053+ <object class="GtkTreeViewColumn" id="treeviewcolumn1">
1054+ <property name="title" translatable="yes">Name</property>
1055+ <property name="clickable">True</property>
1056+ <property name="sort-column-id">0</property>
1057+ <child>
1058+ <object class="GtkCellRendererText" id="cellrenderertext10"/>
1059+ <attributes>
1060+ <attribute name="text">0</attribute>
1061+ </attributes>
1062+ </child>
1063+ </object>
1064+ </child>
1065+ <child>
1066+ <object class="GtkTreeViewColumn" id="treeviewcolumn2">
1067+ <property name="title" translatable="yes">Action</property>
1068+ <property name="clickable">True</property>
1069+ <property name="sort-column-id">1</property>
1070+ <child>
1071+ <object class="GtkCellRendererText" id="cellrenderertext11"/>
1072+ <attributes>
1073+ <attribute name="text">1</attribute>
1074+ </attributes>
1075+ </child>
1076+ </object>
1077+ </child>
1078+ <child>
1079+ <object class="GtkTreeViewColumn" id="treeviewcolumn3">
1080+ <property name="title" translatable="yes">Keybinding</property>
1081+ <property name="clickable">True</property>
1082+ <property name="sort-column-id">2</property>
1083+ <child>
1084+ <object class="GtkCellRendererAccel" id="cellrendereraccel1">
1085+ <property name="editable">True</property>
1086+ <property name="accel_mode">other</property>
1087+ <signal name="accel-cleared" handler="on_cellrenderer_accel_cleared" object="KeybindingsListStore" swapped="yes"/>
1088+ <signal name="accel-edited" handler="on_cellrenderer_accel_edited" object="KeybindingsListStore" swapped="yes"/>
1089+ </object>
1090+ <attributes>
1091+ <attribute name="accel-key">2</attribute>
1092+ <attribute name="accel-mods">3</attribute>
1093+ </attributes>
1094+ </child>
1095+ </object>
1096+ </child>
1097+ </object>
1098+ </child>
1099+ </object>
1100+ <packing>
1101+ <property name="expand">False</property>
1102+ <property name="fill">True</property>
1103+ <property name="position">0</property>
1104+ </packing>
1105+ </child>
1106+ <child>
1107+ <object class="GtkButtonBox">
1108+ <property name="visible">True</property>
1109+ <property name="can_focus">False</property>
1110+ <property name="layout_style">end</property>
1111+ <child>
1112+ <object class="GtkLabel">
1113+ <property name="visible">True</property>
1114+ <property name="can_focus">False</property>
1115+ <property name="label" translatable="yes">Filter:</property>
1116+ </object>
1117+ <packing>
1118+ <property name="expand">True</property>
1119+ <property name="fill">True</property>
1120+ <property name="position">0</property>
1121+ </packing>
1122+ </child>
1123+ <child>
1124+ <object class="GtkEntry" id="entryfilter">
1125+ <property name="visible">True</property>
1126+ <property name="can_focus">True</property>
1127+ <property name="margin_bottom">6</property>
1128+ <property name="margin_right">6</property>
1129+ </object>
1130+ <packing>
1131+ <property name="expand">True</property>
1132+ <property name="fill">True</property>
1133+ <property name="position">1</property>
1134+ </packing>
1135+ </child>
1136+ </object>
1137+ <packing>
1138+ <property name="expand">False</property>
1139+ <property name="fill">True</property>
1140+ <property name="position">1</property>
1141+ </packing>
1142 </child>
1143 </object>
1144 <packing>
1145@@ -3875,6 +3932,9 @@
1146 </child>
1147 </object>
1148 </child>
1149+ <child type="titlebar">
1150+ <placeholder/>
1151+ </child>
1152 </object>
1153 <object class="GtkSizeGroup" id="sizegroup1">
1154 <widgets>
1155
1156=== modified file 'terminatorlib/prefseditor.py'
1157--- terminatorlib/prefseditor.py 2017-06-24 02:02:38 +0000
1158+++ terminatorlib/prefseditor.py 2017-12-24 12:05:00 +0000
1159@@ -9,6 +9,7 @@
1160
1161 import os
1162 from gi.repository import GObject, Gtk, Gdk
1163+import re
1164
1165 from util import dbg, err
1166 import config
1167@@ -376,7 +377,6 @@
1168 ## Keybindings tab
1169 widget = guiget('keybindingtreeview')
1170 liststore = widget.get_model()
1171- liststore.set_sort_column_id(0, Gtk.SortType.ASCENDING)
1172 keybindings = self.config['keybindings']
1173 for keybinding in keybindings:
1174 keyval = 0
1175@@ -390,6 +390,13 @@
1176 liststore.append([keybinding, self.keybindingnames[keybinding],
1177 keyval, mask])
1178
1179+ self.modelfilter = liststore.filter_new()
1180+ self.modelfilter.set_visible_func(self.match_filter)
1181+ self.sortmodelfilter = Gtk.TreeModelSort(self.modelfilter)
1182+ self.sortmodelfilter.set_sort_func(2, self.sort_shortcuts, None)
1183+ widget.set_model(self.sortmodelfilter)
1184+ selection = widget.get_selection()
1185+ selection.connect('changed', self.on_cellrenderer_clicked)
1186 ## Plugins tab
1187 # Populate the plugin list
1188 widget = guiget('pluginlist')
1189@@ -405,10 +412,48 @@
1190 self.pluginiters[plugin] = liststore.append([plugin,
1191 self.plugins[plugin]])
1192 selection = widget.get_selection()
1193+
1194+ widget = guiget('entryfilter')
1195+ widget.connect('changed', self.entry_changed)
1196 selection.connect('changed', self.on_plugin_selection_changed)
1197 if len(self.pluginiters) > 0:
1198 selection.select_iter(liststore.get_iter_first())
1199
1200+ def sort_shortcuts(self, treemodel, iter1, iter2, user_data):
1201+ """ordering shorcuts"""
1202+ key1 = treemodel.get_value(iter1, 2)
1203+ mods1 = Gdk.ModifierType(treemodel.get_value(iter1, 3))
1204+ key2 = treemodel.get_value(iter2, 2)
1205+ mods2 = Gdk.ModifierType(treemodel.get_value(iter2, 3))
1206+ return cmp(Gtk.accelerator_get_label(key1, mods1), Gtk.accelerator_get_label(key2, mods2))
1207+
1208+ def entry_changed(self, data):
1209+ """On filter changed"""
1210+ self.modelfilter.refilter()
1211+ return
1212+
1213+ def on_cellrenderer_clicked(self, selection):
1214+ (listmodel, rowiter) = selection.get_selected()
1215+ if not rowiter:
1216+ # Something is wrong, just jump to the first item in the list
1217+ return
1218+ layout = listmodel.get_value(rowiter, 0)
1219+
1220+ def match_filter(self, model, iter, udata=None):
1221+ """Filtering data"""
1222+ col1 = model.get_value(iter, 0)
1223+ col2 = model.get_value(iter, 1)
1224+ key = model.get_value(iter, 2)
1225+ mods = Gdk.ModifierType(model.get_value(iter, 3))
1226+
1227+ guiget = self.builder.get_object
1228+ widget = guiget('entryfilter')
1229+ filter_text = widget.get_text()
1230+ clean_text = lambda value: re.sub(r' +', ' ', re.sub(r'[+-]', ' ', value.strip()))
1231+ check = lambda col: col != None and bool(re.match(r'.*'+re.escape(clean_text(filter_text)), str(clean_text(col)), re.I))
1232+ accel = Gtk.accelerator_get_label(key, mods)
1233+ return check(col1) or check(col2) or check(accel)
1234+
1235 def set_profile_values(self, profile):
1236 """Update the profile values for a given profile"""
1237 self.config.set_profile(profile)
1238@@ -1502,20 +1547,21 @@
1239
1240 def on_cellrenderer_accel_edited(self, liststore, path, key, mods, _code):
1241 """Handle an edited keybinding"""
1242- celliter = liststore.get_iter_from_string(path)
1243+ liststore_path = str(self.modelfilter.convert_path_to_child_path(path)[0])
1244+ celliter = liststore.get_iter_from_string(liststore_path)
1245 liststore.set(celliter, 2, key, 3, mods)
1246-
1247- binding = liststore.get_value(liststore.get_iter(path), 0)
1248+ binding = liststore.get_value(liststore.get_iter(liststore_path), 0)
1249 accel = Gtk.accelerator_name(key, mods)
1250 self.config['keybindings'][binding] = accel
1251 self.config.save()
1252
1253 def on_cellrenderer_accel_cleared(self, liststore, path):
1254 """Handle the clearing of a keybinding accelerator"""
1255- celliter = liststore.get_iter_from_string(path)
1256+ liststore_path = str(self.modelfilter.convert_path_to_child_path(path)[0])
1257+ celliter = liststore.get_iter_from_string(liststore_path)
1258 liststore.set(celliter, 2, 0, 3, 0)
1259
1260- binding = liststore.get_value(liststore.get_iter(path), 0)
1261+ binding = liststore.get_value(liststore.get_iter(liststore_path), 0)
1262 self.config['keybindings'][binding] = None
1263 self.config.save()
1264

Subscribers

People subscribed via source and target branches

to status/vote changes: