Merge lp:~albfan/terminator/trunk into lp:terminator/gtk3
- trunk
- Merge into 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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Terminator | Pending | ||
Review via email: mp+335004@code.launchpad.net |
Commit message
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 |