Merge lp:~ted/indicator-appmenu/dbus-message-count into lp:indicator-appmenu/0.4

Proposed by Ted Gould
Status: Merged
Approved by: Charles Kerr
Approved revision: 190
Merge reported by: Charles Kerr
Merged at revision: not available
Proposed branch: lp:~ted/indicator-appmenu/dbus-message-count
Merge into: lp:indicator-appmenu/0.4
Diff against target: 2997 lines (+2972/-0)
4 files modified
tests/Makefile.am (+22/-0)
tests/test-dbus-message-count-send-query (+4/-0)
tests/test-dbus-message-count.in (+18/-0)
tests/test-dbus-message-count.json (+2928/-0)
To merge this branch: bzr merge lp:~ted/indicator-appmenu/dbus-message-count
Reviewer Review Type Date Requested Status
Charles Kerr (community) Approve
Review via email: mp+99558@code.launchpad.net

Description of the change

Add a test that'll print the number of dbus messages in a HUD query.

To post a comment you must log in.
Revision history for this message
Ted Gould (ted) wrote :

Note the diff is going to be huge because of the JSON file, but fear not faithful reviewer, the changes are small.

190. By Ted Gould

Sync to trunk

Revision history for this message
Charles Kerr (charlesk) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/Makefile.am'
2--- tests/Makefile.am 2012-03-12 18:52:56 +0000
3+++ tests/Makefile.am 2012-03-27 16:56:18 +0000
4@@ -370,6 +370,28 @@
5 test-usage-dump-entries.sql
6
7 #########################
8+# Test Dbus Messages
9+#########################
10+
11+TESTS += \
12+ test-dbus-message-count
13+
14+test-dbus-message-count: test-dbus-message-count.in
15+ @sed \
16+ -e "s|\@top_builddir\@|$(top_builddir)|" \
17+ -e "s|\@builddir\@|$(builddir)|" \
18+ -e "s|\@srcdir\@|$(srcdir)|" \
19+ $< > $@
20+ @chmod +x $@
21+
22+EXTRA_DIST += \
23+ test-dbus-message-count-send-query \
24+ test-dbus-message-count.in \
25+ test-dbus-message-count.json
26+
27+DISTCLEANFILES += test-dbus-message-count.bustle
28+
29+#########################
30 # Footer
31 #########################
32
33
34=== added file 'tests/test-dbus-message-count-send-query'
35--- tests/test-dbus-message-count-send-query 1970-01-01 00:00:00 +0000
36+++ tests/test-dbus-message-count-send-query 2012-03-27 16:56:18 +0000
37@@ -0,0 +1,4 @@
38+#!/bin/bash
39+
40+sleep 5
41+gdbus call --session --dest com.canonical.hud --object-path /com/canonical/hud --method com.canonical.hud.StartQuery filter 5
42
43=== added file 'tests/test-dbus-message-count.in'
44--- tests/test-dbus-message-count.in 1970-01-01 00:00:00 +0000
45+++ tests/test-dbus-message-count.in 2012-03-27 16:56:18 +0000
46@@ -0,0 +1,18 @@
47+#!/bin/bash
48+
49+export DISPLAY=
50+
51+. @srcdir@/run-xvfb.sh
52+
53+dbus-test-runner \
54+ --max-wait 10 \
55+ -b @builddir@/test-dbus-message-count.bustle \
56+ --task /usr/bin/metacity --task-name metacity \
57+ --task /usr/lib/bamf/bamfdaemon --task-name bamf \
58+ --task @top_builddir@/src/hud-service --task-name hud --wait-for org.ayatana.bamf \
59+ --task /usr/lib/libindicator/indicator-loader3 --parameter @top_builddir@/src/.libs/libappmenu.so --task-name appmenu --wait-for org.ayatana.bamf \
60+ --task /usr/lib/indicator-appmenu/mock-json-app --parameter @srcdir@/test-dbus-message-count.json --wait-for com.canonical.AppMenu.Registrar --task-name app \
61+ --task @srcdir@/test-dbus-message-count-send-query --wait-for com.canonical.AppMenu.Registrar --task-name query
62+
63+sleep 1
64+bustle-count test-dbus-message-count.bustle
65
66=== added file 'tests/test-dbus-message-count.json'
67--- tests/test-dbus-message-count.json 1970-01-01 00:00:00 +0000
68+++ tests/test-dbus-message-count.json 2012-03-27 16:56:18 +0000
69@@ -0,0 +1,2928 @@
70+{
71+ "id": 0,
72+ "children-display": 'submenu',
73+ "submenu": [
74+ {
75+ "id": 5,
76+ "children-display": 'submenu',
77+ "label": 'File',
78+ "submenu": [
79+ {
80+ "id": 6,
81+ "label": 'Quit',
82+ "shortcut": [['Control', 'q']]
83+ },
84+ {
85+ "id": 7,
86+ "label": 'Close all',
87+ "shortcut": [['Control', 'Shift', 'w']]
88+ },
89+ {
90+ "id": 8,
91+ "label": 'Close',
92+ "shortcut": [['Control', 'w']]
93+ },
94+ {
95+ "id": 9,
96+ "type": 'separator'
97+ },
98+ {
99+ "id": 10,
100+ "label": 'Send by Email...'
101+ },
102+ {
103+ "id": 11,
104+ "label": 'Print...',
105+ "shortcut": [['Control', 'p']]
106+ },
107+ {
108+ "id": 12,
109+ "label": 'Page Setup'
110+ },
111+ {
112+ "id": 13,
113+ "type": 'separator'
114+ },
115+ {
116+ "id": 14,
117+ "label": 'Revert'
118+ },
119+ {
120+ "id": 15,
121+ "label": 'Save as Template...'
122+ },
123+ {
124+ "id": 16,
125+ "label": 'Save a Copy...'
126+ },
127+ {
128+ "id": 17,
129+ "label": 'Save As...',
130+ "shortcut": [['Control', 'Shift', 's']]
131+ },
132+ {
133+ "id": 18,
134+ "label": 'Save',
135+ "shortcut": [['Control', 's']]
136+ },
137+ {
138+ "id": 19,
139+ "type": 'separator'
140+ },
141+ {
142+ "id": 20,
143+ "children-display": 'submenu',
144+ "label": 'Open Recent',
145+ "submenu": [
146+ {
147+ "id": 21,
148+ "label": 'Document History'
149+ },
150+ {
151+ "id": 22,
152+ "type": 'separator'
153+ },
154+ {
155+ "id": 23,
156+ "label": 'giggity.jpg',
157+ "shortcut": [['Control', '2']]
158+ },
159+ {
160+ "id": 24,
161+ "label": 'Icon Height.svg',
162+ "shortcut": [['Control', '1']]
163+ }
164+ ]
165+ },
166+ {
167+ "id": 25,
168+ "label": 'Open Location...'
169+ },
170+ {
171+ "id": 26,
172+ "label": 'Open as Layers...',
173+ "shortcut": [['Control', 'Alt', 'o']]
174+ },
175+ {
176+ "id": 27,
177+ "label": 'Open...',
178+ "shortcut": [['Control', 'o']]
179+ },
180+ {
181+ "id": 28,
182+ "children-display": 'submenu',
183+ "label": 'Create',
184+ "submenu": [
185+ {
186+ "id": 29,
187+ "children-display": 'submenu',
188+ "label": 'Web Page Themes',
189+ "submenu": [
190+ {
191+ "id": 30,
192+ "children-display": 'submenu',
193+ "label": 'Classic.Gimp.Org',
194+ "submenu": [
195+ {
196+ "id": 31,
197+ "label": 'Tube Sub-Sub-Button Label...'
198+ },
199+ {
200+ "id": 32,
201+ "label": 'Tube Sub-Button Label...'
202+ },
203+ {
204+ "id": 33,
205+ "label": 'Tube Button Label...'
206+ },
207+ {
208+ "id": 34,
209+ "label": 'Small Header...'
210+ },
211+ {
212+ "id": 35,
213+ "label": 'General Tube Labels...'
214+ },
215+ {
216+ "id": 36,
217+ "label": 'Big Header...'
218+ }
219+ ]
220+ },
221+ {
222+ "id": 37,
223+ "children-display": 'submenu',
224+ "label": 'Beveled Pattern',
225+ "submenu": [
226+ {
227+ "id": 38,
228+ "label": 'Hrule...'
229+ },
230+ {
231+ "id": 39,
232+ "label": 'Heading...'
233+ },
234+ {
235+ "id": 40,
236+ "label": 'Button...'
237+ },
238+ {
239+ "id": 41,
240+ "label": 'Bullet...'
241+ },
242+ {
243+ "id": 42,
244+ "label": 'Arrow...'
245+ }
246+ ]
247+ },
248+ {
249+ "id": 43,
250+ "children-display": 'submenu',
251+ "label": 'Alien Glow',
252+ "submenu": [
253+ {
254+ "id": 44,
255+ "label": 'Hrule...'
256+ },
257+ {
258+ "id": 45,
259+ "label": 'Button...'
260+ },
261+ {
262+ "id": 46,
263+ "label": 'Bullet...'
264+ },
265+ {
266+ "id": 47,
267+ "label": 'Arrow...'
268+ }
269+ ]
270+ }
271+ ]
272+ },
273+ {
274+ "id": 48,
275+ "children-display": 'submenu',
276+ "label": 'Patterns',
277+ "submenu": [
278+ {
279+ "id": 49,
280+ "label": 'Truchet...'
281+ },
282+ {
283+ "id": 50,
284+ "label": 'Swirly...'
285+ },
286+ {
287+ "id": 51,
288+ "label": 'Swirl-Tile...'
289+ },
290+ {
291+ "id": 52,
292+ "label": 'Render Map...'
293+ },
294+ {
295+ "id": 53,
296+ "label": 'Land...'
297+ },
298+ {
299+ "id": 54,
300+ "label": 'Flatland...'
301+ },
302+ {
303+ "id": 55,
304+ "label": 'Camouflage...'
305+ },
306+ {
307+ "id": 56,
308+ "label": '3D Truchet...'
309+ }
310+ ]
311+ },
312+ {
313+ "id": 57,
314+ "children-display": 'submenu',
315+ "label": 'Logos',
316+ "submenu": [
317+ {
318+ "id": 58,
319+ "label": 'Web Title Header...'
320+ },
321+ {
322+ "id": 59,
323+ "label": 'Textured...'
324+ },
325+ {
326+ "id": 60,
327+ "label": 'Text Circle...'
328+ },
329+ {
330+ "id": 61,
331+ "label": 'Starscape...'
332+ },
333+ {
334+ "id": 62,
335+ "label": 'Speed Text...'
336+ },
337+ {
338+ "id": 63,
339+ "label": 'SOTA Chrome...'
340+ },
341+ {
342+ "id": 64,
343+ "label": 'Particle Trace...'
344+ },
345+ {
346+ "id": 65,
347+ "label": 'Newsprint Text...'
348+ },
349+ {
350+ "id": 66,
351+ "label": 'Neon...'
352+ },
353+ {
354+ "id": 67,
355+ "label": 'Imigre-26...'
356+ },
357+ {
358+ "id": 68,
359+ "label": 'Gradient Bevel...'
360+ },
361+ {
362+ "id": 69,
363+ "label": 'Glowing Hot...'
364+ },
365+ {
366+ "id": 70,
367+ "label": 'Glossy...'
368+ },
369+ {
370+ "id": 71,
371+ "label": 'Frosty...'
372+ },
373+ {
374+ "id": 72,
375+ "label": 'Crystal...'
376+ },
377+ {
378+ "id": 73,
379+ "label": 'Cool Metal...'
380+ },
381+ {
382+ "id": 74,
383+ "label": 'Comic Book...'
384+ },
385+ {
386+ "id": 75,
387+ "label": 'Chrome...'
388+ },
389+ {
390+ "id": 76,
391+ "label": 'Chip Away...'
392+ },
393+ {
394+ "id": 77,
395+ "label": 'Chalk...'
396+ },
397+ {
398+ "id": 78,
399+ "label": 'Carved...'
400+ },
401+ {
402+ "id": 79,
403+ "label": 'Bovination...'
404+ },
405+ {
406+ "id": 80,
407+ "label": 'Blended...'
408+ },
409+ {
410+ "id": 81,
411+ "label": 'Basic I...'
412+ },
413+ {
414+ "id": 82,
415+ "label": 'Basic II...'
416+ },
417+ {
418+ "id": 83,
419+ "label": 'Alien Neon...'
420+ },
421+ {
422+ "id": 84,
423+ "label": 'Alien Glow...'
424+ },
425+ {
426+ "id": 85,
427+ "label": '3D Outline...'
428+ }
429+ ]
430+ },
431+ {
432+ "id": 86,
433+ "children-display": 'submenu',
434+ "label": 'Buttons',
435+ "submenu": [
436+ {
437+ "id": 87,
438+ "label": 'Simple Beveled Button...'
439+ },
440+ {
441+ "id": 88,
442+ "label": 'Round Button...'
443+ }
444+ ]
445+ },
446+ {
447+ "id": 89,
448+ "type": 'separator'
449+ },
450+ {
451+ "id": 90,
452+ "children-display": 'submenu',
453+ "label": 'xscanimage',
454+ "submenu": [
455+ {
456+ "id": 91,
457+ "enabled": false,
458+ "label": 'Device dialog...'
459+ }
460+ ]
461+ },
462+ {
463+ "id": 92,
464+ "label": 'Screenshot...'
465+ },
466+ {
467+ "id": 93,
468+ "label": 'From Clipboard',
469+ "shortcut": [['Control', 'Shift', 'v']]
470+ }
471+ ]
472+ },
473+ {
474+ "id": 94,
475+ "label": 'New...',
476+ "shortcut": [['Control', 'n']]
477+ }
478+ ]
479+ },
480+ {
481+ "id": 95,
482+ "children-display": 'submenu',
483+ "label": 'Edit',
484+ "submenu": [
485+ {
486+ "id": 96,
487+ "label": 'Units'
488+ },
489+ {
490+ "id": 97,
491+ "label": 'Modules'
492+ },
493+ {
494+ "id": 98,
495+ "label": 'Keyboard Shortcuts'
496+ },
497+ {
498+ "id": 99,
499+ "label": 'Preferences'
500+ },
501+ {
502+ "id": 100,
503+ "type": 'separator'
504+ },
505+ {
506+ "id": 101,
507+ "enabled": false,
508+ "label": 'Stroke Path...'
509+ },
510+ {
511+ "id": 102,
512+ "enabled": false,
513+ "label": 'Stroke Selection...'
514+ },
515+ {
516+ "id": 103,
517+ "label": 'Fill with Pattern',
518+ "shortcut": [['Control', 'semicolon']]
519+ },
520+ {
521+ "id": 104,
522+ "label": 'Fill with BG Color',
523+ "shortcut": [['Control', 'period']]
524+ },
525+ {
526+ "id": 105,
527+ "label": 'Fill with FG Color',
528+ "shortcut": [['Control', 'comma']]
529+ },
530+ {
531+ "id": 106,
532+ "label": 'Clear',
533+ "shortcut": [['Delete']]
534+ },
535+ {
536+ "id": 107,
537+ "type": 'separator'
538+ },
539+ {
540+ "id": 108,
541+ "children-display": 'submenu',
542+ "label": 'Buffer',
543+ "submenu": [
544+ {
545+ "id": 109,
546+ "label": 'Paste Named...'
547+ },
548+ {
549+ "id": 110,
550+ "label": 'Copy Visible Named...'
551+ },
552+ {
553+ "id": 111,
554+ "label": 'Copy Named...'
555+ },
556+ {
557+ "id": 112,
558+ "label": 'Cut Named...'
559+ }
560+ ]
561+ },
562+ {
563+ "id": 113,
564+ "children-display": 'submenu',
565+ "label": 'Paste as',
566+ "submenu": [
567+ {
568+ "id": 114,
569+ "label": 'New Pattern...'
570+ },
571+ {
572+ "id": 115,
573+ "label": 'New Brush...'
574+ },
575+ {
576+ "id": 116,
577+ "label": 'New Layer'
578+ },
579+ {
580+ "id": 117,
581+ "label": 'New Image',
582+ "shortcut": [['Control', 'Shift', 'v']]
583+ }
584+ ]
585+ },
586+ {
587+ "id": 118,
588+ "label": 'Paste Into'
589+ },
590+ {
591+ "id": 119,
592+ "label": 'Paste',
593+ "shortcut": [['Control', 'v']]
594+ },
595+ {
596+ "id": 120,
597+ "label": 'Copy Visible',
598+ "shortcut": [['Control', 'Shift', 'c']]
599+ },
600+ {
601+ "id": 121,
602+ "label": 'Copy',
603+ "shortcut": [['Control', 'c']]
604+ },
605+ {
606+ "id": 122,
607+ "label": 'Cut',
608+ "shortcut": [['Control', 'x']]
609+ },
610+ {
611+ "id": 123,
612+ "type": 'separator'
613+ },
614+ {
615+ "id": 124,
616+ "label": 'Undo History'
617+ },
618+ {
619+ "id": 3,
620+ "enabled": false,
621+ "label": '_Fade...'
622+ },
623+ {
624+ "id": 2,
625+ "enabled": false,
626+ "label": '_Redo',
627+ "shortcut": [['Control', 'y']]
628+ },
629+ {
630+ "id": 1,
631+ "enabled": false,
632+ "label": '_Undo',
633+ "shortcut": [['Control', 'z']]
634+ }
635+ ]
636+ },
637+ {
638+ "id": 125,
639+ "children-display": 'submenu',
640+ "label": 'Select',
641+ "submenu": [
642+ {
643+ "id": 126,
644+ "enabled": false,
645+ "label": 'To Path'
646+ },
647+ {
648+ "id": 127,
649+ "label": 'Save to Channel'
650+ },
651+ {
652+ "id": 128,
653+ "label": 'Toggle Quick Mask',
654+ "shortcut": [['Shift', 'q']],
655+ "toggle-state": 0,
656+ "toggle-type": 'checkmark'
657+ },
658+ {
659+ "id": 129,
660+ "type": 'separator'
661+ },
662+ {
663+ "id": 130,
664+ "label": 'Distort...'
665+ },
666+ {
667+ "id": 131,
668+ "enabled": false,
669+ "label": 'Border...'
670+ },
671+ {
672+ "id": 132,
673+ "enabled": false,
674+ "label": 'Grow...'
675+ },
676+ {
677+ "id": 133,
678+ "enabled": false,
679+ "label": 'Shrink...'
680+ },
681+ {
682+ "id": 134,
683+ "enabled": false,
684+ "label": 'Sharpen'
685+ },
686+ {
687+ "id": 135,
688+ "enabled": false,
689+ "label": 'Feather...'
690+ },
691+ {
692+ "id": 136,
693+ "type": 'separator'
694+ },
695+ {
696+ "id": 137,
697+ "label": 'Selection Editor'
698+ },
699+ {
700+ "id": 138,
701+ "enabled": false,
702+ "label": 'From Path',
703+ "shortcut": [['Shift', 'v']]
704+ },
705+ {
706+ "id": 139,
707+ "label": 'By Color',
708+ "shortcut": [['Shift', 'o']]
709+ },
710+ {
711+ "id": 140,
712+ "enabled": false,
713+ "label": 'Float',
714+ "shortcut": [['Control', 'Shift', 'l']]
715+ },
716+ {
717+ "id": 141,
718+ "label": 'Invert',
719+ "shortcut": [['Control', 'i']]
720+ },
721+ {
722+ "id": 142,
723+ "enabled": false,
724+ "label": 'None',
725+ "shortcut": [['Control', 'Shift', 'a']]
726+ },
727+ {
728+ "id": 143,
729+ "label": 'All',
730+ "shortcut": [['Control', 'a']]
731+ }
732+ ]
733+ },
734+ {
735+ "id": 144,
736+ "children-display": 'submenu',
737+ "label": 'View',
738+ "submenu": [
739+ {
740+ "id": 145,
741+ "label": 'Show Statusbar',
742+ "toggle-state": 1,
743+ "toggle-type": 'checkmark'
744+ },
745+ {
746+ "id": 146,
747+ "label": 'Show Scrollbars',
748+ "toggle-state": 0,
749+ "toggle-type": 'checkmark'
750+ },
751+ {
752+ "id": 147,
753+ "label": 'Show Rulers',
754+ "shortcut": [['Control', 'Shift', 'r']],
755+ "toggle-state": 0,
756+ "toggle-type": 'checkmark'
757+ },
758+ {
759+ "id": 148,
760+ "label": 'Show Menubar',
761+ "toggle-state": 1,
762+ "toggle-type": 'checkmark'
763+ },
764+ {
765+ "id": 149,
766+ "children-display": 'submenu',
767+ "label": 'Padding Color',
768+ "submenu": [
769+ {
770+ "id": 150,
771+ "label": 'As in Preferences'
772+ },
773+ {
774+ "id": 151,
775+ "type": 'separator'
776+ },
777+ {
778+ "id": 152,
779+ "label": 'Select Custom Color...'
780+ },
781+ {
782+ "id": 153,
783+ "label": 'Dark Check Color'
784+ },
785+ {
786+ "id": 154,
787+ "label": 'Light Check Color'
788+ },
789+ {
790+ "id": 155,
791+ "label": 'From Theme'
792+ }
793+ ]
794+ },
795+ {
796+ "id": 156,
797+ "type": 'separator'
798+ },
799+ {
800+ "id": 157,
801+ "label": 'Snap to Active Path',
802+ "toggle-state": 0,
803+ "toggle-type": 'checkmark'
804+ },
805+ {
806+ "id": 158,
807+ "label": 'Snap to Canvas Edges',
808+ "toggle-state": 0,
809+ "toggle-type": 'checkmark'
810+ },
811+ {
812+ "id": 159,
813+ "label": 'Snap to Grid',
814+ "toggle-state": 0,
815+ "toggle-type": 'checkmark'
816+ },
817+ {
818+ "id": 160,
819+ "label": 'Snap to Guides',
820+ "toggle-state": 1,
821+ "toggle-type": 'checkmark'
822+ },
823+ {
824+ "id": 161,
825+ "type": 'separator'
826+ },
827+ {
828+ "id": 162,
829+ "label": 'Show Sample Points',
830+ "toggle-state": 0,
831+ "toggle-type": 'checkmark'
832+ },
833+ {
834+ "id": 163,
835+ "label": 'Show Grid',
836+ "toggle-state": 0,
837+ "toggle-type": 'checkmark'
838+ },
839+ {
840+ "id": 164,
841+ "label": 'Show Guides',
842+ "shortcut": [['Control', 'Shift', 't']],
843+ "toggle-state": 0,
844+ "toggle-type": 'checkmark'
845+ },
846+ {
847+ "id": 165,
848+ "label": 'Show Layer Boundary',
849+ "toggle-state": 0,
850+ "toggle-type": 'checkmark'
851+ },
852+ {
853+ "id": 166,
854+ "label": 'Show Selection',
855+ "shortcut": [['Control', 't']],
856+ "toggle-state": 0,
857+ "toggle-type": 'checkmark'
858+ },
859+ {
860+ "id": 167,
861+ "type": 'separator'
862+ },
863+ {
864+ "id": 168,
865+ "label": 'Display Filters...'
866+ },
867+ {
868+ "id": 169,
869+ "label": 'Navigation Window'
870+ },
871+ {
872+ "id": 170,
873+ "type": 'separator'
874+ },
875+ {
876+ "id": 171,
877+ "children-display": 'submenu',
878+ "label": 'Fullscreen',
879+ "shortcut": [['F11']],
880+ "toggle-state": 0,
881+ "toggle-type": 'checkmark',
882+ "submenu": [
883+ {
884+ "id": 172,
885+ "label": 'Open Display...'
886+ }
887+ ]
888+ },
889+ {
890+ "id": 173,
891+ "label": 'Shrink Wrap',
892+ "shortcut": [['Control', 'e']]
893+ },
894+ {
895+ "id": 174,
896+ "type": 'separator'
897+ },
898+ {
899+ "id": 175,
900+ "children-display": 'submenu',
901+ "label": '_Zoom (67%)',
902+ "submenu": [
903+ {
904+ "id": 176,
905+ "label": 'Othe_r (67%)...',
906+ "toggle-state": 0,
907+ "toggle-type": 'checkmark'
908+ },
909+ {
910+ "id": 177,
911+ "type": 'separator'
912+ },
913+ {
914+ "id": 178,
915+ "label": '1:16 (6.25%)',
916+ "toggle-state": 0,
917+ "toggle-type": 'checkmark'
918+ },
919+ {
920+ "id": 179,
921+ "label": '1:8 (12.5%)',
922+ "toggle-state": 0,
923+ "toggle-type": 'checkmark'
924+ },
925+ {
926+ "id": 180,
927+ "label": '1:4 (25%)',
928+ "toggle-state": 0,
929+ "toggle-type": 'checkmark'
930+ },
931+ {
932+ "id": 181,
933+ "label": '1:2 (50%)',
934+ "toggle-state": 0,
935+ "toggle-type": 'checkmark'
936+ },
937+ {
938+ "id": 182,
939+ "label": '1:1 (100%)',
940+ "shortcut": [['1']],
941+ "toggle-state": 1,
942+ "toggle-type": 'checkmark'
943+ },
944+ {
945+ "id": 183,
946+ "label": '2:1 (200%)',
947+ "toggle-state": 0,
948+ "toggle-type": 'checkmark'
949+ },
950+ {
951+ "id": 184,
952+ "label": '4:1 (400%)',
953+ "toggle-state": 0,
954+ "toggle-type": 'checkmark'
955+ },
956+ {
957+ "id": 185,
958+ "label": '8:1 (800%)',
959+ "toggle-state": 0,
960+ "toggle-type": 'checkmark'
961+ },
962+ {
963+ "id": 186,
964+ "label": '16:1 (1600%)',
965+ "toggle-state": 0,
966+ "toggle-type": 'checkmark'
967+ },
968+ {
969+ "id": 187,
970+ "type": 'separator'
971+ },
972+ {
973+ "id": 188,
974+ "label": 'Fill Window'
975+ },
976+ {
977+ "id": 189,
978+ "label": 'Fit Image in Window',
979+ "shortcut": [['Control', 'Shift', 'e']]
980+ },
981+ {
982+ "id": 190,
983+ "label": 'Zoom In',
984+ "shortcut": [['plus']]
985+ },
986+ {
987+ "id": 191,
988+ "label": 'Zoom Out',
989+ "shortcut": [['minus']]
990+ },
991+ {
992+ "id": 4,
993+ "label": 'Re_vert Zoom (67%)',
994+ "shortcut": [['grave']]
995+ }
996+ ]
997+ },
998+ {
999+ "id": 192,
1000+ "label": 'Dot for Dot',
1001+ "toggle-state": 1,
1002+ "toggle-type": 'checkmark'
1003+ },
1004+ {
1005+ "id": 193,
1006+ "label": 'New View'
1007+ }
1008+ ]
1009+ },
1010+ {
1011+ "id": 194,
1012+ "children-display": 'submenu',
1013+ "label": 'Image',
1014+ "submenu": [
1015+ {
1016+ "id": 195,
1017+ "label": 'Image Properties',
1018+ "shortcut": [['Alt', 'Return']]
1019+ },
1020+ {
1021+ "id": 196,
1022+ "label": 'Configure Grid...'
1023+ },
1024+ {
1025+ "id": 197,
1026+ "children-display": 'submenu',
1027+ "label": 'Guides',
1028+ "submenu": [
1029+ {
1030+ "id": 198,
1031+ "label": 'Remove all Guides'
1032+ },
1033+ {
1034+ "id": 199,
1035+ "label": 'New Guides from Selection'
1036+ },
1037+ {
1038+ "id": 200,
1039+ "label": 'New Guide...'
1040+ },
1041+ {
1042+ "id": 201,
1043+ "label": 'New Guide (by Percent)...'
1044+ }
1045+ ]
1046+ },
1047+ {
1048+ "id": 202,
1049+ "type": 'separator'
1050+ },
1051+ {
1052+ "id": 203,
1053+ "label": 'Align Visible Layers...'
1054+ },
1055+ {
1056+ "id": 204,
1057+ "label": 'Flatten Image'
1058+ },
1059+ {
1060+ "id": 205,
1061+ "label": 'Merge Visible Layers...',
1062+ "shortcut": [['Control', 'm']]
1063+ },
1064+ {
1065+ "id": 206,
1066+ "type": 'separator'
1067+ },
1068+ {
1069+ "id": 207,
1070+ "label": 'Zealous Crop'
1071+ },
1072+ {
1073+ "id": 208,
1074+ "label": 'Autocrop Image'
1075+ },
1076+ {
1077+ "id": 209,
1078+ "enabled": false,
1079+ "label": 'Crop to Selection'
1080+ },
1081+ {
1082+ "id": 210,
1083+ "type": 'separator'
1084+ },
1085+ {
1086+ "id": 211,
1087+ "label": 'Scale Image...'
1088+ },
1089+ {
1090+ "id": 212,
1091+ "label": 'Print Size...'
1092+ },
1093+ {
1094+ "id": 213,
1095+ "enabled": false,
1096+ "label": 'Fit Canvas to Selection'
1097+ },
1098+ {
1099+ "id": 214,
1100+ "label": 'Fit Canvas to Layers'
1101+ },
1102+ {
1103+ "id": 215,
1104+ "label": 'Canvas Size...'
1105+ },
1106+ {
1107+ "id": 216,
1108+ "type": 'separator'
1109+ },
1110+ {
1111+ "id": 217,
1112+ "children-display": 'submenu',
1113+ "label": 'Transform',
1114+ "submenu": [
1115+ {
1116+ "id": 218,
1117+ "label": 'Guillotine'
1118+ },
1119+ {
1120+ "id": 219,
1121+ "type": 'separator'
1122+ },
1123+ {
1124+ "id": 220,
1125+ "label": 'Rotate 180?'
1126+ },
1127+ {
1128+ "id": 221,
1129+ "label": 'Rotate 90? counter-clockwise'
1130+ },
1131+ {
1132+ "id": 222,
1133+ "label": 'Rotate 90? clockwise'
1134+ },
1135+ {
1136+ "id": 223,
1137+ "type": 'separator'
1138+ },
1139+ {
1140+ "id": 224,
1141+ "label": 'Flip Vertically'
1142+ },
1143+ {
1144+ "id": 225,
1145+ "label": 'Flip Horizontally'
1146+ }
1147+ ]
1148+ },
1149+ {
1150+ "id": 226,
1151+ "children-display": 'submenu',
1152+ "label": 'Mode',
1153+ "submenu": [
1154+ {
1155+ "id": 227,
1156+ "label": 'Convert to Color Profile...'
1157+ },
1158+ {
1159+ "id": 228,
1160+ "label": 'Assign Color Profile...'
1161+ },
1162+ {
1163+ "id": 229,
1164+ "type": 'separator'
1165+ },
1166+ {
1167+ "id": 230,
1168+ "label": 'Indexed...',
1169+ "toggle-state": 0,
1170+ "toggle-type": 'checkmark'
1171+ },
1172+ {
1173+ "id": 231,
1174+ "label": 'Grayscale',
1175+ "toggle-state": 0,
1176+ "toggle-type": 'checkmark'
1177+ },
1178+ {
1179+ "id": 232,
1180+ "label": 'RGB',
1181+ "toggle-state": 1,
1182+ "toggle-type": 'checkmark'
1183+ }
1184+ ]
1185+ },
1186+ {
1187+ "id": 233,
1188+ "label": 'Duplicate',
1189+ "shortcut": [['Control', 'd']]
1190+ }
1191+ ]
1192+ },
1193+ {
1194+ "id": 234,
1195+ "children-display": 'submenu',
1196+ "label": 'Layer',
1197+ "submenu": [
1198+ {
1199+ "id": 235,
1200+ "label": 'Autocrop Layer'
1201+ },
1202+ {
1203+ "id": 236,
1204+ "enabled": false,
1205+ "label": 'Crop to Selection'
1206+ },
1207+ {
1208+ "id": 237,
1209+ "label": 'Scale Layer...'
1210+ },
1211+ {
1212+ "id": 238,
1213+ "label": 'Layer to Image Size'
1214+ },
1215+ {
1216+ "id": 239,
1217+ "label": 'Layer Boundary Size...'
1218+ },
1219+ {
1220+ "id": 240,
1221+ "type": 'separator'
1222+ },
1223+ {
1224+ "id": 241,
1225+ "children-display": 'submenu',
1226+ "label": 'Transform',
1227+ "submenu": [
1228+ {
1229+ "id": 242,
1230+ "label": 'Offset...',
1231+ "shortcut": [['Control', 'Shift', 'o']]
1232+ },
1233+ {
1234+ "id": 243,
1235+ "type": 'separator'
1236+ },
1237+ {
1238+ "id": 244,
1239+ "label": 'Arbitrary Rotation...'
1240+ },
1241+ {
1242+ "id": 245,
1243+ "label": 'Rotate 180?'
1244+ },
1245+ {
1246+ "id": 246,
1247+ "label": 'Rotate 90? counter-clockwise'
1248+ },
1249+ {
1250+ "id": 247,
1251+ "label": 'Rotate 90? clockwise'
1252+ },
1253+ {
1254+ "id": 248,
1255+ "type": 'separator'
1256+ },
1257+ {
1258+ "id": 249,
1259+ "label": 'Flip Vertically'
1260+ },
1261+ {
1262+ "id": 250,
1263+ "label": 'Flip Horizontally'
1264+ }
1265+ ]
1266+ },
1267+ {
1268+ "id": 251,
1269+ "children-display": 'submenu',
1270+ "label": 'Transparency',
1271+ "submenu": [
1272+ {
1273+ "id": 252,
1274+ "label": 'Intersect with Selection'
1275+ },
1276+ {
1277+ "id": 253,
1278+ "label": 'Subtract from Selection'
1279+ },
1280+ {
1281+ "id": 254,
1282+ "label": 'Add to Selection'
1283+ },
1284+ {
1285+ "id": 255,
1286+ "label": 'Alpha to Selection'
1287+ },
1288+ {
1289+ "id": 256,
1290+ "type": 'separator'
1291+ },
1292+ {
1293+ "id": 257,
1294+ "label": 'Threshold Alpha...'
1295+ },
1296+ {
1297+ "id": 258,
1298+ "label": 'Semi-Flatten'
1299+ },
1300+ {
1301+ "id": 259,
1302+ "label": 'Color to Alpha...'
1303+ },
1304+ {
1305+ "id": 260,
1306+ "label": 'Remove Alpha Channel'
1307+ },
1308+ {
1309+ "id": 261,
1310+ "enabled": false,
1311+ "label": 'Add Alpha Channel'
1312+ }
1313+ ]
1314+ },
1315+ {
1316+ "id": 262,
1317+ "children-display": 'submenu',
1318+ "label": 'Mask',
1319+ "submenu": [
1320+ {
1321+ "id": 263,
1322+ "enabled": false,
1323+ "label": 'Intersect with Selection'
1324+ },
1325+ {
1326+ "id": 264,
1327+ "enabled": false,
1328+ "label": 'Subtract from Selection'
1329+ },
1330+ {
1331+ "id": 265,
1332+ "enabled": false,
1333+ "label": 'Add to Selection'
1334+ },
1335+ {
1336+ "id": 266,
1337+ "enabled": false,
1338+ "label": 'Mask to Selection'
1339+ },
1340+ {
1341+ "id": 267,
1342+ "type": 'separator'
1343+ },
1344+ {
1345+ "id": 268,
1346+ "enabled": false,
1347+ "label": 'Disable Layer Mask',
1348+ "toggle-state": 0,
1349+ "toggle-type": 'checkmark'
1350+ },
1351+ {
1352+ "id": 269,
1353+ "enabled": false,
1354+ "label": 'Edit Layer Mask',
1355+ "toggle-state": 0,
1356+ "toggle-type": 'checkmark'
1357+ },
1358+ {
1359+ "id": 270,
1360+ "enabled": false,
1361+ "label": 'Show Layer Mask',
1362+ "toggle-state": 0,
1363+ "toggle-type": 'checkmark'
1364+ },
1365+ {
1366+ "id": 271,
1367+ "type": 'separator'
1368+ },
1369+ {
1370+ "id": 272,
1371+ "enabled": false,
1372+ "label": 'Delete Layer Mask'
1373+ },
1374+ {
1375+ "id": 273,
1376+ "enabled": false,
1377+ "label": 'Apply Layer Mask'
1378+ },
1379+ {
1380+ "id": 274,
1381+ "label": 'Add Layer Mask...'
1382+ }
1383+ ]
1384+ },
1385+ {
1386+ "id": 275,
1387+ "children-display": 'submenu',
1388+ "label": 'Stack',
1389+ "submenu": [
1390+ {
1391+ "id": 276,
1392+ "label": 'Reverse Layer Order'
1393+ },
1394+ {
1395+ "id": 277,
1396+ "type": 'separator'
1397+ },
1398+ {
1399+ "id": 278,
1400+ "enabled": false,
1401+ "label": 'Layer to Bottom'
1402+ },
1403+ {
1404+ "id": 279,
1405+ "enabled": false,
1406+ "label": 'Layer to Top'
1407+ },
1408+ {
1409+ "id": 280,
1410+ "enabled": false,
1411+ "label": 'Lower Layer'
1412+ },
1413+ {
1414+ "id": 281,
1415+ "enabled": false,
1416+ "label": 'Raise Layer'
1417+ },
1418+ {
1419+ "id": 282,
1420+ "type": 'separator'
1421+ },
1422+ {
1423+ "id": 283,
1424+ "enabled": false,
1425+ "label": 'Select Bottom Layer',
1426+ "shortcut": [['End']]
1427+ },
1428+ {
1429+ "id": 284,
1430+ "enabled": false,
1431+ "label": 'Select Top Layer',
1432+ "shortcut": [['Home']]
1433+ },
1434+ {
1435+ "id": 285,
1436+ "enabled": false,
1437+ "label": 'Select Next Layer',
1438+ "shortcut": [['Page_Down']]
1439+ },
1440+ {
1441+ "id": 286,
1442+ "enabled": false,
1443+ "label": 'Select Previous Layer',
1444+ "shortcut": [['Page_Up']]
1445+ }
1446+ ]
1447+ },
1448+ {
1449+ "id": 287,
1450+ "children-display": 'submenu',
1451+ "type": 'separator',
1452+ "submenu": [
1453+ {
1454+ "id": 288,
1455+ "enabled": false,
1456+ "label": 'Empty'
1457+ }
1458+ ]
1459+ },
1460+ {
1461+ "id": 289,
1462+ "label": 'Delete Layer'
1463+ },
1464+ {
1465+ "id": 290,
1466+ "enabled": false,
1467+ "label": 'Merge Down'
1468+ },
1469+ {
1470+ "id": 291,
1471+ "enabled": false,
1472+ "label": 'Anchor Layer',
1473+ "shortcut": [['Control', 'h']]
1474+ },
1475+ {
1476+ "id": 292,
1477+ "label": 'Duplicate Layer',
1478+ "shortcut": [['Control', 'Shift', 'd']]
1479+ },
1480+ {
1481+ "id": 293,
1482+ "label": 'New from Visible'
1483+ },
1484+ {
1485+ "id": 294,
1486+ "label": 'New Layer...',
1487+ "shortcut": [['Control', 'Shift', 'n']]
1488+ }
1489+ ]
1490+ },
1491+ {
1492+ "id": 295,
1493+ "children-display": 'submenu',
1494+ "label": 'Colors',
1495+ "submenu": [
1496+ {
1497+ "id": 296,
1498+ "label": 'Retinex...'
1499+ },
1500+ {
1501+ "id": 297,
1502+ "label": 'Maximum RGB...'
1503+ },
1504+ {
1505+ "id": 298,
1506+ "enabled": false,
1507+ "label": 'Hot...'
1508+ },
1509+ {
1510+ "id": 299,
1511+ "label": 'Filter Pack...'
1512+ },
1513+ {
1514+ "id": 300,
1515+ "label": 'Color to Alpha...'
1516+ },
1517+ {
1518+ "id": 301,
1519+ "label": 'Colorify...'
1520+ },
1521+ {
1522+ "id": 302,
1523+ "type": 'separator'
1524+ },
1525+ {
1526+ "id": 303,
1527+ "children-display": 'submenu',
1528+ "label": 'Info',
1529+ "submenu": [
1530+ {
1531+ "id": 304,
1532+ "label": 'Smooth Palette...'
1533+ },
1534+ {
1535+ "id": 305,
1536+ "label": 'Colorcube Analysis...'
1537+ },
1538+ {
1539+ "id": 306,
1540+ "label": 'Border Average...'
1541+ },
1542+ {
1543+ "id": 307,
1544+ "label": 'Histogram'
1545+ }
1546+ ]
1547+ },
1548+ {
1549+ "id": 308,
1550+ "children-display": 'submenu',
1551+ "label": 'Map',
1552+ "submenu": [
1553+ {
1554+ "id": 309,
1555+ "label": 'Sample Colorize...'
1556+ },
1557+ {
1558+ "id": 310,
1559+ "label": 'Rotate Colors...'
1560+ },
1561+ {
1562+ "id": 311,
1563+ "label": 'Palette Map'
1564+ },
1565+ {
1566+ "id": 312,
1567+ "label": 'Gradient Map'
1568+ },
1569+ {
1570+ "id": 313,
1571+ "label": 'Color Exchange...'
1572+ },
1573+ {
1574+ "id": 314,
1575+ "label": 'Alien Map...'
1576+ },
1577+ {
1578+ "id": 315,
1579+ "type": 'separator'
1580+ },
1581+ {
1582+ "id": 316,
1583+ "enabled": false,
1584+ "label": 'Set Colormap...'
1585+ },
1586+ {
1587+ "id": 317,
1588+ "enabled": false,
1589+ "label": 'Rearrange Colormap...'
1590+ }
1591+ ]
1592+ },
1593+ {
1594+ "id": 318,
1595+ "children-display": 'submenu',
1596+ "label": 'Components',
1597+ "submenu": [
1598+ {
1599+ "id": 319,
1600+ "enabled": false,
1601+ "label": 'Recompose'
1602+ },
1603+ {
1604+ "id": 320,
1605+ "label": 'Decompose...'
1606+ },
1607+ {
1608+ "id": 321,
1609+ "enabled": false,
1610+ "label": 'Compose...'
1611+ },
1612+ {
1613+ "id": 322,
1614+ "label": 'Channel Mixer...'
1615+ }
1616+ ]
1617+ },
1618+ {
1619+ "id": 323,
1620+ "children-display": 'submenu',
1621+ "label": 'Auto',
1622+ "submenu": [
1623+ {
1624+ "id": 324,
1625+ "label": 'Stretch HSV'
1626+ },
1627+ {
1628+ "id": 325,
1629+ "label": 'Stretch Contrast'
1630+ },
1631+ {
1632+ "id": 326,
1633+ "label": 'Normalize'
1634+ },
1635+ {
1636+ "id": 327,
1637+ "label": 'Color Enhance'
1638+ },
1639+ {
1640+ "id": 328,
1641+ "label": 'White Balance'
1642+ },
1643+ {
1644+ "id": 329,
1645+ "label": 'Equalize'
1646+ }
1647+ ]
1648+ },
1649+ {
1650+ "id": 330,
1651+ "type": 'separator'
1652+ },
1653+ {
1654+ "id": 331,
1655+ "label": 'Use GEGL',
1656+ "toggle-state": 0,
1657+ "toggle-type": 'checkmark'
1658+ },
1659+ {
1660+ "id": 332,
1661+ "type": 'separator'
1662+ },
1663+ {
1664+ "id": 333,
1665+ "label": 'Value Invert'
1666+ },
1667+ {
1668+ "id": 334,
1669+ "label": 'Invert'
1670+ },
1671+ {
1672+ "id": 335,
1673+ "type": 'separator'
1674+ },
1675+ {
1676+ "id": 336,
1677+ "label": 'Desaturate...'
1678+ },
1679+ {
1680+ "id": 337,
1681+ "label": 'Posterize...'
1682+ },
1683+ {
1684+ "id": 338,
1685+ "label": 'Curves...'
1686+ },
1687+ {
1688+ "id": 339,
1689+ "label": 'Levels...'
1690+ },
1691+ {
1692+ "id": 340,
1693+ "label": 'Threshold...'
1694+ },
1695+ {
1696+ "id": 341,
1697+ "label": 'Brightness-Contrast...'
1698+ },
1699+ {
1700+ "id": 342,
1701+ "label": 'Colorize...'
1702+ },
1703+ {
1704+ "id": 343,
1705+ "label": 'Hue-Saturation...'
1706+ },
1707+ {
1708+ "id": 344,
1709+ "label": 'Color Balance...'
1710+ }
1711+ ]
1712+ },
1713+ {
1714+ "id": 345,
1715+ "children-display": 'submenu',
1716+ "label": 'Tools',
1717+ "submenu": [
1718+ {
1719+ "id": 346,
1720+ "label": 'Swap Colors',
1721+ "shortcut": [['x']]
1722+ },
1723+ {
1724+ "id": 347,
1725+ "label": 'Default Colors',
1726+ "shortcut": [['d']]
1727+ },
1728+ {
1729+ "id": 348,
1730+ "label": 'Toolbox',
1731+ "shortcut": [['Control', 'b']]
1732+ },
1733+ {
1734+ "id": 349,
1735+ "type": 'separator'
1736+ },
1737+ {
1738+ "id": 350,
1739+ "label": 'GEGL Operation...'
1740+ },
1741+ {
1742+ "id": 351,
1743+ "label": 'Text',
1744+ "shortcut": [['t']]
1745+ },
1746+ {
1747+ "id": 352,
1748+ "label": 'Measure',
1749+ "shortcut": [['Shift', 'm']]
1750+ },
1751+ {
1752+ "id": 353,
1753+ "label": 'Zoom',
1754+ "shortcut": [['z']]
1755+ },
1756+ {
1757+ "id": 354,
1758+ "label": 'Color Picker',
1759+ "shortcut": [['o']]
1760+ },
1761+ {
1762+ "id": 355,
1763+ "label": 'Paths',
1764+ "shortcut": [['b']]
1765+ },
1766+ {
1767+ "id": 356,
1768+ "children-display": 'submenu',
1769+ "label": 'Color Tools',
1770+ "submenu": [
1771+ {
1772+ "id": 357,
1773+ "label": 'Desaturate...'
1774+ },
1775+ {
1776+ "id": 358,
1777+ "label": 'Posterize...'
1778+ },
1779+ {
1780+ "id": 359,
1781+ "label": 'Curves...'
1782+ },
1783+ {
1784+ "id": 360,
1785+ "label": 'Levels...'
1786+ },
1787+ {
1788+ "id": 361,
1789+ "label": 'Threshold...'
1790+ },
1791+ {
1792+ "id": 362,
1793+ "label": 'Brightness-Contrast...'
1794+ },
1795+ {
1796+ "id": 363,
1797+ "label": 'Colorize...'
1798+ },
1799+ {
1800+ "id": 364,
1801+ "label": 'Hue-Saturation...'
1802+ },
1803+ {
1804+ "id": 365,
1805+ "label": 'Color Balance...'
1806+ }
1807+ ]
1808+ },
1809+ {
1810+ "id": 366,
1811+ "children-display": 'submenu',
1812+ "label": 'Transform Tools',
1813+ "submenu": [
1814+ {
1815+ "id": 367,
1816+ "label": 'Flip',
1817+ "shortcut": [['Shift', 'f']]
1818+ },
1819+ {
1820+ "id": 368,
1821+ "label": 'Perspective',
1822+ "shortcut": [['Shift', 'p']]
1823+ },
1824+ {
1825+ "id": 369,
1826+ "label": 'Shear',
1827+ "shortcut": [['Shift', 's']]
1828+ },
1829+ {
1830+ "id": 370,
1831+ "label": 'Scale',
1832+ "shortcut": [['Shift', 't']]
1833+ },
1834+ {
1835+ "id": 371,
1836+ "label": 'Rotate',
1837+ "shortcut": [['Shift', 'r']]
1838+ },
1839+ {
1840+ "id": 372,
1841+ "label": 'Crop',
1842+ "shortcut": [['Shift', 'c']]
1843+ },
1844+ {
1845+ "id": 373,
1846+ "label": 'Move',
1847+ "shortcut": [['m']]
1848+ },
1849+ {
1850+ "id": 374,
1851+ "label": 'Align',
1852+ "shortcut": [['q']]
1853+ }
1854+ ]
1855+ },
1856+ {
1857+ "id": 375,
1858+ "children-display": 'submenu',
1859+ "label": 'Paint Tools',
1860+ "submenu": [
1861+ {
1862+ "id": 376,
1863+ "label": 'Dodge / Burn',
1864+ "shortcut": [['Shift', 'd']]
1865+ },
1866+ {
1867+ "id": 377,
1868+ "label": 'Smudge',
1869+ "shortcut": [['s']]
1870+ },
1871+ {
1872+ "id": 378,
1873+ "label": 'Blur / Sharpen',
1874+ "shortcut": [['Shift', 'u']]
1875+ },
1876+ {
1877+ "id": 379,
1878+ "label": 'Perspective Clone'
1879+ },
1880+ {
1881+ "id": 380,
1882+ "label": 'Heal',
1883+ "shortcut": [['h']]
1884+ },
1885+ {
1886+ "id": 381,
1887+ "label": 'Clone',
1888+ "shortcut": [['c']]
1889+ },
1890+ {
1891+ "id": 382,
1892+ "label": 'Ink',
1893+ "shortcut": [['k']]
1894+ },
1895+ {
1896+ "id": 383,
1897+ "label": 'Airbrush',
1898+ "shortcut": [['a']]
1899+ },
1900+ {
1901+ "id": 384,
1902+ "label": 'Eraser',
1903+ "shortcut": [['Shift', 'e']]
1904+ },
1905+ {
1906+ "id": 385,
1907+ "label": 'Paintbrush',
1908+ "shortcut": [['p']]
1909+ },
1910+ {
1911+ "id": 386,
1912+ "label": 'Pencil',
1913+ "shortcut": [['n']]
1914+ },
1915+ {
1916+ "id": 387,
1917+ "label": 'Blend',
1918+ "shortcut": [['l']]
1919+ },
1920+ {
1921+ "id": 388,
1922+ "label": 'Bucket Fill',
1923+ "shortcut": [['Shift', 'b']]
1924+ }
1925+ ]
1926+ },
1927+ {
1928+ "id": 389,
1929+ "children-display": 'submenu',
1930+ "label": 'Selection Tools',
1931+ "submenu": [
1932+ {
1933+ "id": 390,
1934+ "label": 'Intelligent Scissors',
1935+ "shortcut": [['i']]
1936+ },
1937+ {
1938+ "id": 391,
1939+ "label": 'By Color Select',
1940+ "shortcut": [['Shift', 'o']]
1941+ },
1942+ {
1943+ "id": 392,
1944+ "label": 'Fuzzy Select',
1945+ "shortcut": [['u']]
1946+ },
1947+ {
1948+ "id": 393,
1949+ "label": 'Foreground Select'
1950+ },
1951+ {
1952+ "id": 394,
1953+ "label": 'Free Select',
1954+ "shortcut": [['f']]
1955+ },
1956+ {
1957+ "id": 395,
1958+ "label": 'Ellipse Select',
1959+ "shortcut": [['e']]
1960+ },
1961+ {
1962+ "id": 396,
1963+ "label": 'Rectangle Select',
1964+ "shortcut": [['r']]
1965+ }
1966+ ]
1967+ }
1968+ ]
1969+ },
1970+ {
1971+ "id": 397,
1972+ "children-display": 'submenu',
1973+ "label": 'Filters',
1974+ "submenu": [
1975+ {
1976+ "id": 398,
1977+ "children-display": 'submenu',
1978+ "label": 'Script-Fu',
1979+ "submenu": [
1980+ {
1981+ "id": 399,
1982+ "label": 'Start Server...'
1983+ },
1984+ {
1985+ "id": 400,
1986+ "label": 'Refresh Scripts'
1987+ },
1988+ {
1989+ "id": 401,
1990+ "label": 'Console'
1991+ }
1992+ ]
1993+ },
1994+ {
1995+ "id": 402,
1996+ "children-display": 'submenu',
1997+ "label": 'Python-Fu',
1998+ "submenu": [
1999+ {
2000+ "id": 403,
2001+ "label": 'Console'
2002+ }
2003+ ]
2004+ },
2005+ {
2006+ "id": 404,
2007+ "type": 'separator'
2008+ },
2009+ {
2010+ "id": 405,
2011+ "children-display": 'submenu',
2012+ "label": 'Alpha to Logo',
2013+ "submenu": [
2014+ {
2015+ "id": 406,
2016+ "label": 'Textured...'
2017+ },
2018+ {
2019+ "id": 407,
2020+ "label": 'Particle Trace...'
2021+ },
2022+ {
2023+ "id": 408,
2024+ "label": 'Neon...'
2025+ },
2026+ {
2027+ "id": 409,
2028+ "label": 'Gradient Bevel...'
2029+ },
2030+ {
2031+ "id": 410,
2032+ "label": 'Glowing Hot...'
2033+ },
2034+ {
2035+ "id": 411,
2036+ "label": 'Glossy...'
2037+ },
2038+ {
2039+ "id": 412,
2040+ "label": 'Frosty...'
2041+ },
2042+ {
2043+ "id": 413,
2044+ "label": 'Cool Metal...'
2045+ },
2046+ {
2047+ "id": 414,
2048+ "label": 'Comic Book...'
2049+ },
2050+ {
2051+ "id": 415,
2052+ "label": 'Chrome...'
2053+ },
2054+ {
2055+ "id": 416,
2056+ "label": 'Chip Away...'
2057+ },
2058+ {
2059+ "id": 417,
2060+ "label": 'Chalk...'
2061+ },
2062+ {
2063+ "id": 418,
2064+ "label": 'Bovination...'
2065+ },
2066+ {
2067+ "id": 419,
2068+ "label": 'Blended...'
2069+ },
2070+ {
2071+ "id": 420,
2072+ "label": 'Basic I...'
2073+ },
2074+ {
2075+ "id": 421,
2076+ "label": 'Basic II...'
2077+ },
2078+ {
2079+ "id": 422,
2080+ "label": 'Alien Neon...'
2081+ },
2082+ {
2083+ "id": 423,
2084+ "label": 'Alien Glow...'
2085+ },
2086+ {
2087+ "id": 424,
2088+ "label": '3D Outline...'
2089+ }
2090+ ]
2091+ },
2092+ {
2093+ "id": 425,
2094+ "type": 'separator'
2095+ },
2096+ {
2097+ "id": 426,
2098+ "children-display": 'submenu',
2099+ "label": 'Animation',
2100+ "submenu": [
2101+ {
2102+ "id": 427,
2103+ "label": 'Unoptimize'
2104+ },
2105+ {
2106+ "id": 428,
2107+ "label": 'Playback...'
2108+ },
2109+ {
2110+ "id": 429,
2111+ "label": 'Optimize (for GIF)'
2112+ },
2113+ {
2114+ "id": 430,
2115+ "label": 'Optimize (Difference)'
2116+ },
2117+ {
2118+ "id": 431,
2119+ "type": 'separator'
2120+ },
2121+ {
2122+ "id": 432,
2123+ "label": 'Waves...'
2124+ },
2125+ {
2126+ "id": 433,
2127+ "label": 'Spinning Globe...'
2128+ },
2129+ {
2130+ "id": 434,
2131+ "label": 'Rippling...'
2132+ },
2133+ {
2134+ "id": 435,
2135+ "label": 'Burn-In...'
2136+ },
2137+ {
2138+ "id": 436,
2139+ "label": 'Blend...'
2140+ }
2141+ ]
2142+ },
2143+ {
2144+ "id": 437,
2145+ "children-display": 'submenu',
2146+ "label": 'Web',
2147+ "submenu": [
2148+ {
2149+ "id": 438,
2150+ "label": 'Slice...'
2151+ },
2152+ {
2153+ "id": 439,
2154+ "label": 'Semi-Flatten'
2155+ },
2156+ {
2157+ "id": 440,
2158+ "label": 'Image Map...'
2159+ }
2160+ ]
2161+ },
2162+ {
2163+ "id": 441,
2164+ "children-display": 'submenu',
2165+ "label": 'Render',
2166+ "submenu": [
2167+ {
2168+ "id": 442,
2169+ "label": 'Spyrogimp...'
2170+ },
2171+ {
2172+ "id": 443,
2173+ "label": 'Sphere Designer...'
2174+ },
2175+ {
2176+ "id": 444,
2177+ "label": 'Line Nova...'
2178+ },
2179+ {
2180+ "id": 445,
2181+ "label": 'Lava...'
2182+ },
2183+ {
2184+ "id": 446,
2185+ "label": 'Gfig...'
2186+ },
2187+ {
2188+ "id": 447,
2189+ "label": 'Fractal Explorer...'
2190+ },
2191+ {
2192+ "id": 448,
2193+ "label": 'Circuit...'
2194+ },
2195+ {
2196+ "id": 449,
2197+ "type": 'separator'
2198+ },
2199+ {
2200+ "id": 450,
2201+ "children-display": 'submenu',
2202+ "label": 'Pattern',
2203+ "submenu": [
2204+ {
2205+ "id": 451,
2206+ "label": 'Sinus...'
2207+ },
2208+ {
2209+ "id": 452,
2210+ "label": 'Qbist...'
2211+ },
2212+ {
2213+ "id": 453,
2214+ "label": 'Maze...'
2215+ },
2216+ {
2217+ "id": 454,
2218+ "label": 'Jigsaw...'
2219+ },
2220+ {
2221+ "id": 455,
2222+ "label": 'Grid...'
2223+ },
2224+ {
2225+ "id": 456,
2226+ "label": 'Diffraction Patterns...'
2227+ },
2228+ {
2229+ "id": 457,
2230+ "label": 'CML Explorer...'
2231+ },
2232+ {
2233+ "id": 458,
2234+ "label": 'Checkerboard...'
2235+ }
2236+ ]
2237+ },
2238+ {
2239+ "id": 459,
2240+ "children-display": 'submenu',
2241+ "label": 'Nature',
2242+ "submenu": [
2243+ {
2244+ "id": 460,
2245+ "label": 'IFS Fractal...'
2246+ },
2247+ {
2248+ "id": 461,
2249+ "label": 'Flame...'
2250+ }
2251+ ]
2252+ },
2253+ {
2254+ "id": 462,
2255+ "children-display": 'submenu',
2256+ "label": 'Clouds',
2257+ "submenu": [
2258+ {
2259+ "id": 463,
2260+ "label": 'Solid Noise...'
2261+ },
2262+ {
2263+ "id": 464,
2264+ "label": 'Plasma...'
2265+ },
2266+ {
2267+ "id": 465,
2268+ "label": 'Fog...'
2269+ },
2270+ {
2271+ "id": 466,
2272+ "label": 'Difference Clouds...'
2273+ }
2274+ ]
2275+ }
2276+ ]
2277+ },
2278+ {
2279+ "id": 467,
2280+ "children-display": 'submenu',
2281+ "label": 'Map',
2282+ "submenu": [
2283+ {
2284+ "id": 468,
2285+ "label": 'Warp...'
2286+ },
2287+ {
2288+ "id": 469,
2289+ "label": 'Tile...'
2290+ },
2291+ {
2292+ "id": 470,
2293+ "label": 'Small Tiles...'
2294+ },
2295+ {
2296+ "id": 471,
2297+ "label": 'Paper Tile...'
2298+ },
2299+ {
2300+ "id": 472,
2301+ "label": 'Map Object...'
2302+ },
2303+ {
2304+ "id": 473,
2305+ "label": 'Make Seamless'
2306+ },
2307+ {
2308+ "id": 474,
2309+ "label": 'Illusion...'
2310+ },
2311+ {
2312+ "id": 475,
2313+ "label": 'Fractal Trace...'
2314+ },
2315+ {
2316+ "id": 476,
2317+ "label": 'Displace...'
2318+ },
2319+ {
2320+ "id": 477,
2321+ "label": 'Bump Map...'
2322+ }
2323+ ]
2324+ },
2325+ {
2326+ "id": 478,
2327+ "children-display": 'submenu',
2328+ "label": 'Decor',
2329+ "submenu": [
2330+ {
2331+ "id": 479,
2332+ "enabled": false,
2333+ "label": 'Stencil Chrome...'
2334+ },
2335+ {
2336+ "id": 480,
2337+ "enabled": false,
2338+ "label": 'Stencil Carve...'
2339+ },
2340+ {
2341+ "id": 481,
2342+ "enabled": false,
2343+ "label": 'Slide...'
2344+ },
2345+ {
2346+ "id": 482,
2347+ "enabled": false,
2348+ "label": 'Round Corners...'
2349+ },
2350+ {
2351+ "id": 483,
2352+ "label": 'Old Photo...'
2353+ },
2354+ {
2355+ "id": 484,
2356+ "label": 'Fuzzy Border...'
2357+ },
2358+ {
2359+ "id": 485,
2360+ "label": 'Coffee Stain...'
2361+ },
2362+ {
2363+ "id": 486,
2364+ "label": 'Add Border...'
2365+ },
2366+ {
2367+ "id": 487,
2368+ "label": 'Add Bevel...'
2369+ }
2370+ ]
2371+ },
2372+ {
2373+ "id": 488,
2374+ "children-display": 'submenu',
2375+ "label": 'Artistic',
2376+ "submenu": [
2377+ {
2378+ "id": 489,
2379+ "label": 'Weave...'
2380+ },
2381+ {
2382+ "id": 490,
2383+ "label": 'Van Gogh (LIC)...'
2384+ },
2385+ {
2386+ "id": 491,
2387+ "label": 'Softglow...'
2388+ },
2389+ {
2390+ "id": 492,
2391+ "label": 'Predator...'
2392+ },
2393+ {
2394+ "id": 493,
2395+ "label": 'Photocopy...'
2396+ },
2397+ {
2398+ "id": 494,
2399+ "label": 'Oilify...'
2400+ },
2401+ {
2402+ "id": 495,
2403+ "label": 'GIMPressionist...'
2404+ },
2405+ {
2406+ "id": 496,
2407+ "label": 'Cubism...'
2408+ },
2409+ {
2410+ "id": 497,
2411+ "label": 'Clothify...'
2412+ },
2413+ {
2414+ "id": 498,
2415+ "label": 'Cartoon...'
2416+ },
2417+ {
2418+ "id": 499,
2419+ "label": 'Apply Canvas...'
2420+ }
2421+ ]
2422+ },
2423+ {
2424+ "id": 500,
2425+ "children-display": 'submenu',
2426+ "label": 'Combine',
2427+ "submenu": [
2428+ {
2429+ "id": 501,
2430+ "label": 'Filmstrip...'
2431+ },
2432+ {
2433+ "id": 502,
2434+ "label": 'Depth Merge...'
2435+ }
2436+ ]
2437+ },
2438+ {
2439+ "id": 503,
2440+ "children-display": 'submenu',
2441+ "label": 'Generic',
2442+ "submenu": [
2443+ {
2444+ "id": 504,
2445+ "label": 'Erode'
2446+ },
2447+ {
2448+ "id": 505,
2449+ "label": 'Dilate'
2450+ },
2451+ {
2452+ "id": 506,
2453+ "label": 'Convolution Matrix...'
2454+ }
2455+ ]
2456+ },
2457+ {
2458+ "id": 507,
2459+ "children-display": 'submenu',
2460+ "label": 'Edge-Detect',
2461+ "submenu": [
2462+ {
2463+ "id": 508,
2464+ "label": 'Sobel...'
2465+ },
2466+ {
2467+ "id": 509,
2468+ "label": 'Neon...'
2469+ },
2470+ {
2471+ "id": 510,
2472+ "label": 'Laplace'
2473+ },
2474+ {
2475+ "id": 511,
2476+ "label": 'Edge...'
2477+ },
2478+ {
2479+ "id": 512,
2480+ "label": 'Difference of Gaussians...'
2481+ }
2482+ ]
2483+ },
2484+ {
2485+ "id": 513,
2486+ "children-display": 'submenu',
2487+ "label": 'Noise',
2488+ "submenu": [
2489+ {
2490+ "id": 514,
2491+ "label": 'Spread...'
2492+ },
2493+ {
2494+ "id": 515,
2495+ "label": 'Slur...'
2496+ },
2497+ {
2498+ "id": 516,
2499+ "label": 'RGB Noise...'
2500+ },
2501+ {
2502+ "id": 517,
2503+ "label": 'Pick...'
2504+ },
2505+ {
2506+ "id": 518,
2507+ "label": 'Hurl...'
2508+ },
2509+ {
2510+ "id": 519,
2511+ "label": 'HSV Noise...'
2512+ }
2513+ ]
2514+ },
2515+ {
2516+ "id": 520,
2517+ "children-display": 'submenu',
2518+ "label": 'Light and Shadow',
2519+ "submenu": [
2520+ {
2521+ "id": 521,
2522+ "label": 'Glass Tile...'
2523+ },
2524+ {
2525+ "id": 522,
2526+ "label": 'Apply Lens...'
2527+ },
2528+ {
2529+ "id": 523,
2530+ "type": 'separator'
2531+ },
2532+ {
2533+ "id": 524,
2534+ "label": 'Xach-Effect...'
2535+ },
2536+ {
2537+ "id": 525,
2538+ "label": 'Perspective...'
2539+ },
2540+ {
2541+ "id": 526,
2542+ "label": 'Drop Shadow...'
2543+ },
2544+ {
2545+ "id": 527,
2546+ "type": 'separator'
2547+ },
2548+ {
2549+ "id": 528,
2550+ "label": 'Supernova...'
2551+ },
2552+ {
2553+ "id": 529,
2554+ "label": 'Sparkle...'
2555+ },
2556+ {
2557+ "id": 530,
2558+ "label": 'Lighting Effects...'
2559+ },
2560+ {
2561+ "id": 531,
2562+ "label": 'Lens Flare...'
2563+ },
2564+ {
2565+ "id": 532,
2566+ "label": 'Gradient Flare...'
2567+ }
2568+ ]
2569+ },
2570+ {
2571+ "id": 533,
2572+ "children-display": 'submenu',
2573+ "label": 'Distorts',
2574+ "submenu": [
2575+ {
2576+ "id": 534,
2577+ "label": 'Wind...'
2578+ },
2579+ {
2580+ "id": 535,
2581+ "label": 'Whirl and Pinch...'
2582+ },
2583+ {
2584+ "id": 536,
2585+ "label": 'Waves...'
2586+ },
2587+ {
2588+ "id": 537,
2589+ "label": 'Video...'
2590+ },
2591+ {
2592+ "id": 538,
2593+ "label": 'Value Propagate...'
2594+ },
2595+ {
2596+ "id": 539,
2597+ "label": 'Shift...'
2598+ },
2599+ {
2600+ "id": 540,
2601+ "label": 'Ripple...'
2602+ },
2603+ {
2604+ "id": 541,
2605+ "label": 'Polar Coordinates...'
2606+ },
2607+ {
2608+ "id": 542,
2609+ "label": 'Pagecurl...'
2610+ },
2611+ {
2612+ "id": 543,
2613+ "label": 'Newsprint...'
2614+ },
2615+ {
2616+ "id": 544,
2617+ "label": 'Mosaic...'
2618+ },
2619+ {
2620+ "id": 545,
2621+ "label": 'Lens Distortion...'
2622+ },
2623+ {
2624+ "id": 546,
2625+ "label": 'IWarp...'
2626+ },
2627+ {
2628+ "id": 547,
2629+ "label": 'Erase Every Other Row...'
2630+ },
2631+ {
2632+ "id": 548,
2633+ "label": 'Engrave...'
2634+ },
2635+ {
2636+ "id": 549,
2637+ "label": 'Emboss...'
2638+ },
2639+ {
2640+ "id": 550,
2641+ "label": 'Curve Bend...'
2642+ },
2643+ {
2644+ "id": 551,
2645+ "label": 'Blinds...'
2646+ }
2647+ ]
2648+ },
2649+ {
2650+ "id": 552,
2651+ "children-display": 'submenu',
2652+ "label": 'Enhance',
2653+ "submenu": [
2654+ {
2655+ "id": 553,
2656+ "label": 'Unsharp Mask...'
2657+ },
2658+ {
2659+ "id": 554,
2660+ "label": 'Sharpen...'
2661+ },
2662+ {
2663+ "id": 555,
2664+ "label": 'Red Eye Removal...'
2665+ },
2666+ {
2667+ "id": 556,
2668+ "enabled": false,
2669+ "label": 'NL Filter...'
2670+ },
2671+ {
2672+ "id": 557,
2673+ "label": 'Destripe...'
2674+ },
2675+ {
2676+ "id": 558,
2677+ "label": 'Despeckle...'
2678+ },
2679+ {
2680+ "id": 559,
2681+ "label": 'Deinterlace...'
2682+ },
2683+ {
2684+ "id": 560,
2685+ "label": 'Antialias'
2686+ }
2687+ ]
2688+ },
2689+ {
2690+ "id": 561,
2691+ "children-display": 'submenu',
2692+ "label": 'Blur',
2693+ "submenu": [
2694+ {
2695+ "id": 562,
2696+ "label": 'Tileable Blur...'
2697+ },
2698+ {
2699+ "id": 563,
2700+ "label": 'Selective Gaussian Blur...'
2701+ },
2702+ {
2703+ "id": 564,
2704+ "label": 'Pixelize...'
2705+ },
2706+ {
2707+ "id": 565,
2708+ "label": 'Motion Blur...'
2709+ },
2710+ {
2711+ "id": 566,
2712+ "label": 'Gaussian Blur...'
2713+ },
2714+ {
2715+ "id": 567,
2716+ "label": 'Blur'
2717+ }
2718+ ]
2719+ },
2720+ {
2721+ "id": 568,
2722+ "type": 'separator'
2723+ },
2724+ {
2725+ "id": 569,
2726+ "label": 'Reset all Filters'
2727+ },
2728+ {
2729+ "id": 570,
2730+ "children-display": 'submenu',
2731+ "enabled": false,
2732+ "label": 'Re-Show Last',
2733+ "shortcut": [['Control', 'Shift', 'f']],
2734+ "submenu": [
2735+ {
2736+ "id": 571,
2737+ "enabled": false,
2738+ "label": 'Empty'
2739+ }
2740+ ]
2741+ },
2742+ {
2743+ "id": 572,
2744+ "enabled": false,
2745+ "label": 'Repeat Last',
2746+ "shortcut": [['Control', 'f']]
2747+ }
2748+ ]
2749+ },
2750+ {
2751+ "id": 573,
2752+ "children-display": 'submenu',
2753+ "label": 'Windows',
2754+ "submenu": [
2755+ {
2756+ "id": 574,
2757+ "label": 'Toolbox',
2758+ "shortcut": [['Control', 'b']]
2759+ },
2760+ {
2761+ "id": 575,
2762+ "type": 'separator'
2763+ },
2764+ {
2765+ "id": 576,
2766+ "children-display": 'submenu',
2767+ "label": 'Dockable Dialogs',
2768+ "submenu": [
2769+ {
2770+ "id": 577,
2771+ "label": 'Error Console'
2772+ },
2773+ {
2774+ "id": 578,
2775+ "label": 'Tools'
2776+ },
2777+ {
2778+ "id": 579,
2779+ "label": 'Templates'
2780+ },
2781+ {
2782+ "id": 580,
2783+ "label": 'Document History'
2784+ },
2785+ {
2786+ "id": 581,
2787+ "label": 'Images'
2788+ },
2789+ {
2790+ "id": 582,
2791+ "type": 'separator'
2792+ },
2793+ {
2794+ "id": 583,
2795+ "label": 'Buffers'
2796+ },
2797+ {
2798+ "id": 584,
2799+ "label": 'Fonts'
2800+ },
2801+ {
2802+ "id": 585,
2803+ "label": 'Palettes'
2804+ },
2805+ {
2806+ "id": 586,
2807+ "label": 'Gradients',
2808+ "shortcut": [['Control', 'g']]
2809+ },
2810+ {
2811+ "id": 587,
2812+ "label": 'Patterns',
2813+ "shortcut": [['Control', 'Shift', 'p']]
2814+ },
2815+ {
2816+ "id": 588,
2817+ "label": 'Brushes',
2818+ "shortcut": [['Control', 'Shift', 'b']]
2819+ },
2820+ {
2821+ "id": 589,
2822+ "label": 'Colors'
2823+ },
2824+ {
2825+ "id": 590,
2826+ "type": 'separator'
2827+ },
2828+ {
2829+ "id": 591,
2830+ "label": 'Sample Points'
2831+ },
2832+ {
2833+ "id": 592,
2834+ "label": 'Pointer'
2835+ },
2836+ {
2837+ "id": 593,
2838+ "label": 'Undo History'
2839+ },
2840+ {
2841+ "id": 594,
2842+ "label": 'Navigation'
2843+ },
2844+ {
2845+ "id": 595,
2846+ "label": 'Selection Editor'
2847+ },
2848+ {
2849+ "id": 596,
2850+ "label": 'Histogram'
2851+ },
2852+ {
2853+ "id": 597,
2854+ "label": 'Colormap'
2855+ },
2856+ {
2857+ "id": 598,
2858+ "label": 'Paths'
2859+ },
2860+ {
2861+ "id": 599,
2862+ "label": 'Channels'
2863+ },
2864+ {
2865+ "id": 600,
2866+ "label": 'Layers',
2867+ "shortcut": [['Control', 'l']]
2868+ },
2869+ {
2870+ "id": 601,
2871+ "type": 'separator'
2872+ },
2873+ {
2874+ "id": 602,
2875+ "label": 'Device Status'
2876+ },
2877+ {
2878+ "id": 603,
2879+ "label": 'Tool Options'
2880+ }
2881+ ]
2882+ },
2883+ {
2884+ "id": 604,
2885+ "children-display": 'submenu',
2886+ "label": 'Recently Closed Docks',
2887+ "submenu": [
2888+ {
2889+ "id": 605,
2890+ "enabled": false,
2891+ "label": 'Empty'
2892+ }
2893+ ]
2894+ }
2895+ ]
2896+ },
2897+ {
2898+ "id": 606,
2899+ "children-display": 'submenu',
2900+ "label": 'Help',
2901+ "submenu": [
2902+ {
2903+ "id": 607,
2904+ "children-display": 'submenu',
2905+ "label": 'User Manual',
2906+ "submenu": [
2907+ {
2908+ "id": 608,
2909+ "label": 'Working with Digital Camera Photos'
2910+ },
2911+ {
2912+ "id": 609,
2913+ "label": 'Using Paths'
2914+ },
2915+ {
2916+ "id": 610,
2917+ "label": 'Preparing your Images for the Web'
2918+ },
2919+ {
2920+ "id": 611,
2921+ "label": 'How to Use Dialogs'
2922+ },
2923+ {
2924+ "id": 612,
2925+ "label": 'Drawing Simple Objects'
2926+ },
2927+ {
2928+ "id": 613,
2929+ "label": 'Create, Open and Save Files'
2930+ },
2931+ {
2932+ "id": 614,
2933+ "label": 'Basic Concepts'
2934+ }
2935+ ]
2936+ },
2937+ {
2938+ "id": 615,
2939+ "children-display": 'submenu',
2940+ "label": 'GIMP Online',
2941+ "submenu": [
2942+ {
2943+ "id": 616,
2944+ "label": 'User Manual Web Site'
2945+ },
2946+ {
2947+ "id": 617,
2948+ "label": 'Plug-in Registry'
2949+ },
2950+ {
2951+ "id": 618,
2952+ "label": 'Main Web Site'
2953+ },
2954+ {
2955+ "id": 619,
2956+ "label": 'Developer Web Site'
2957+ }
2958+ ]
2959+ },
2960+ {
2961+ "id": 620,
2962+ "type": 'separator'
2963+ },
2964+ {
2965+ "id": 621,
2966+ "label": 'Procedure Browser'
2967+ },
2968+ {
2969+ "id": 622,
2970+ "label": 'Plug-In Browser'
2971+ },
2972+ {
2973+ "id": 623,
2974+ "type": 'separator'
2975+ },
2976+ {
2977+ "id": 624,
2978+ "label": 'About'
2979+ },
2980+ {
2981+ "id": 625,
2982+ "label": 'Tip of the Day'
2983+ },
2984+ {
2985+ "id": 626,
2986+ "label": 'Context Help',
2987+ "shortcut": [['Shift', 'F1']]
2988+ },
2989+ {
2990+ "id": 627,
2991+ "label": 'Help',
2992+ "shortcut": [['F1']]
2993+ }
2994+ ]
2995+ }
2996+ ]
2997+}

Subscribers

People subscribed via source and target branches