<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.gnustep.org/index.php?action=history&amp;feed=atom&amp;title=Script_management</id>
	<title>Script management - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.gnustep.org/index.php?action=history&amp;feed=atom&amp;title=Script_management"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Script_management&amp;action=history"/>
	<updated>2026-04-08T03:20:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.7</generator>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Script_management&amp;diff=1950&amp;oldid=prev</id>
		<title>Stefan Urbanek at 12:49, 18 February 2005</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Script_management&amp;diff=1950&amp;oldid=prev"/>
		<updated>2005-02-18T12:49:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:49, 18 February 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l67&quot; &gt;Line 67:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 67:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See also: [[StepTalk]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Scripting]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stefan Urbanek</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Script_management&amp;diff=288&amp;oldid=prev</id>
		<title>Stefan Urbanek at 12:48, 18 February 2005</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Script_management&amp;diff=288&amp;oldid=prev"/>
		<updated>2005-02-18T12:48:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:48, 18 February 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Application and tool specific scripts are stored in Library/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;!&lt;/del&gt;StepTalk/Scripts/''domain_name'' directory where ''domain_name'' is a name of an application or tool. The place is called ''script repository'' and is being accessed by the script manager.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Application and tool specific scripts are stored in Library/StepTalk/Scripts/''domain_name'' directory where ''domain_name'' is a name of an application or tool. The place is called ''script repository'' and is being accessed by the script manager.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Script repositories ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Script repositories ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stefan Urbanek</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Script_management&amp;diff=287&amp;oldid=prev</id>
		<title>Stefan Urbanek at 12:48, 18 February 2005</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Script_management&amp;diff=287&amp;oldid=prev"/>
		<updated>2005-02-18T12:48:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Application and tool specific scripts are stored in Library/!StepTalk/Scripts/''domain_name'' directory where ''domain_name'' is a name of an application or tool. The place is called ''script repository'' and is being accessed by the script manager.&lt;br /&gt;
&lt;br /&gt;
== Script repositories ==&lt;br /&gt;
&lt;br /&gt;
The manager is looking for scripts in:&lt;br /&gt;
&lt;br /&gt;
* actual application's resource directory  ''(ApplicationName.app/Resources/Scripts)''&lt;br /&gt;
* application specific scripts in all GNUstep Library directories ''(*/Library/StepTalk/Scripts/ApplicationName)''&lt;br /&gt;
* shared scriptins in all GNUstep Library directories ''(*/Library/StepTalk/Scripts/Shared)''&lt;br /&gt;
* resource directories of all bundles loaded by the application ''(BundleName.bundle/Resources/Scripts)''&lt;br /&gt;
&lt;br /&gt;
(*) can be any of GNUstep System, Local, Network or user home path&lt;br /&gt;
&lt;br /&gt;
[[STScriptManager]] is used to get application or tool specific script by name:&lt;br /&gt;
&lt;br /&gt;
 STScriptManager *manager = [STScriptManager defaultManager];&lt;br /&gt;
 STScript        *script;&lt;br /&gt;
 &lt;br /&gt;
 script = [manager scriptWithName:@&amp;quot;someScript&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
Script name can be without the file extension.&lt;br /&gt;
&lt;br /&gt;
To execute the script you have to use appropriate engine for language ''[script language]'' and execute ''[script source]''.&lt;br /&gt;
&lt;br /&gt;
== Scripts provided by bundles and frameworks ==&lt;br /&gt;
&lt;br /&gt;
Bundles and frameworks can also provide scripts for an application or a tool. In addition, script manager will search for scipts also in all loaded bundles and frameworks in ''bundle_path''/Resources/Scripts.&lt;br /&gt;
&lt;br /&gt;
== Sharing scripts ==&lt;br /&gt;
&lt;br /&gt;
Scripts that can be shared between tools and applications are stored in Library/!StepTalk/Scripts/Shared.&lt;br /&gt;
&lt;br /&gt;
If you want to execute a script from another domain, for example, if your application can share scripting interface with some another application, you should get a script manager for that another domain:&lt;br /&gt;
&lt;br /&gt;
 STScriptManager *foreignManager = [ [STScriptManager alloc] initWithDomainName:@&amp;quot;AnotherApplication&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
== Script Metafile ==&lt;br /&gt;
&lt;br /&gt;
Each script may have accopmpaining file containing information about script. This information file is optional, has extension .stinfo and its name is script name with that extension. For example if script name is insertDate.st then information file is ''insertDate.st.stinfo''. File may contain:&lt;br /&gt;
&lt;br /&gt;
* script name that will be shown to the user (localizable)&lt;br /&gt;
* script description (localizable)&lt;br /&gt;
* scripting language used for script -- overrides language guess based on file extension&lt;br /&gt;
&lt;br /&gt;
The file is dictionary property list. Kes are:&lt;br /&gt;
&lt;br /&gt;
'''Name:''' Name of a script that is shown to the user.&lt;br /&gt;
&lt;br /&gt;
'''Description:''' Description of a script.&lt;br /&gt;
&lt;br /&gt;
'''Language:''' Scripting language name used in script. This value overrides language guess based on script file extension.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
    {&lt;br /&gt;
        Default = {&lt;br /&gt;
            Name = &amp;quot;Some name&amp;quot;;&lt;br /&gt;
            Description = &amp;quot;Some description&amp;quot;;&lt;br /&gt;
        };&lt;br /&gt;
        English = {&lt;br /&gt;
            Name = &amp;quot;Some name in english&amp;quot;;&lt;br /&gt;
            Description = &amp;quot;Some description in english&amp;quot;;&lt;br /&gt;
        };&lt;br /&gt;
        French = {&lt;br /&gt;
            Name = &amp;quot;Some name in french&amp;quot;;&lt;br /&gt;
            Description = &amp;quot;Some description in french&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;/div&gt;</summary>
		<author><name>Stefan Urbanek</name></author>
	</entry>
</feed>