forked from shotgunsoftware/tk-desktop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
info.yml
127 lines (108 loc) · 5.63 KB
/
info.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#
# Copyright (c) 2012 Shotgun Software, Inc
# ----------------------------------------------------
#
# Metadata defining the behavior and requirements for this engine
# expected fields in the configuration file for this engine
configuration:
debug_logging:
type: bool
default_value: false
description: Controls whether debug messages should be emitted to the logger
default_group:
type: str
default_value: Studio
description: "Controls the name of the default command grouping for any
commands that do not match any of the values in the groups
setting."
groups:
type: list
description: "A list of dictionaries that define what commands get put
in which groups. Each dictionary entry needs to have the
following keys: name - the name of the group, matches - a
list of strings for what commands to add to the group.
As commands are added to the engine, each match from the
group's matches list will be treated as a case insensitive
glob style match against the command's display name. If
there is a match then the command will be added to the
group. For example '*Maya*' will match against any command
that contains the string 'maya' in the display name,
regardless of case.
It is possible for a command to show up in multiple groups
if it has matches against multiple groups."
values:
type: dict
items:
name: { type: str }
matches:
type: list
allows_empty: False
values: { type: str }
allows_empty: True
default_value: []
show_recents:
type: bool
default_value: true
description: Controls whether to show the recently clicked on commands
collapse_rules:
type: list
description: "A list of dictionaries that define how to collapse multile
commands into a single button in the GUI. Each dictionary
needs to have the following keys: match - a string that will
match against the display name of a registered command,
button_label - what the text label of the resulting button
should be, menu_label - what the text label of the item in
the button's menu should be.
As commands are added to the engine, their display name will
be compared to each match in turn. The match string can
contain '$' style variables, which will be matched against
any single word in the dislay name of the command. Those
'$' variables are available for use in the button_label and
the menu_label.
For example a match of 'Launch $APP $VERSION' will match
any display name made up of 'Launch' followed by two words.
If the display name is 'Launch Maya 2014' then this would
match, and the value of '$APP' would be 'Maya' and the value
of '$VERSION' would be '2014'.
If menu_label is the special string 'None' then the button
name will be translated per the value of button_label, but
no menu entry will be added for the commands. If multiple
commands collapse down to a button in this way, only the
first one will be registered.
If a display name does not match any collapse rule, then it
will show up as a button without any menu. The first matching
rule will determine the button and menu labels."
values:
type: dict
items:
match: { type: str }
button_label: { type: str }
menu_label: { type: str }
allows_empty: True
default_value:
- {button_label: $app, match: Launch $app, menu_label: None}
hook_launch_python:
type: hook
default_value: launch_python
description: "This hook is responsible for launching the python interpreter
for a specific project. The first argument to the hook is
'project_python', the path to the python interpreter to be
launched. The next argument to the hook is 'pickle_data_path'
which is a full path to a python pickle that contains the
info needed to initialize the project's tk-desktop engine
and talk back to the desktop GUI. The third argument is
the path to a utilities python module. This module should
be loaded in the new interpreter and used to start up the
engine."
# the Shotgun fields that this engine needs in order to operate correctly
requires_shotgun_fields:
# More verbose description of this item
display_name: "Shotgun Desktop"
description: "The engine that runs inside the Shotgun Desktop Application"
# Required minimum versions for this item to run
requires_shotgun_version:
requires_core_version: "v0.16.3"
frameworks:
- {"name": "tk-framework-qtwidgets", "version": "v2.x.x"}
- {"name": "tk-framework-shotgunutils", "version": "v4.x.x"}
- {"name": "tk-framework-adminui", "version": "v0.x.x"}